Просмотр исходного кода

Upgrade script from 15.0.0-A2 to 15.0.0-B1

Aleksandr T 8 месяцев назад
Родитель
Сommit
b1f160dd00

+ 0 - 114
upgrade/files/15.0.0.A2-15.0.0.B1/files/logs/junit.xml

@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<testsuites>
-  <testsuite name="/var/lib/jenkins/workspace/UNA-Pipe/tests/phpunit.xml" tests="67" assertions="113" errors="0" failures="0" skipped="0" time="0.555231">
-    <testsuite name="AllTests" tests="67" assertions="113" errors="0" failures="0" skipped="0" time="0.555231">
-      <testsuite name="UtilTest" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" tests="33" assertions="33" errors="0" failures="0" skipped="0" time="0.020730">
-        <testsuite name="UtilTest::testClearXssAdmin" tests="2" assertions="2" errors="0" failures="0" skipped="0" time="0.016516">
-          <testcase name="testClearXssAdmin with data set #0" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="12" class="UtilTest" classname="UtilTest" assertions="1" time="0.015869"/>
-          <testcase name="testClearXssAdmin with data set #1" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="12" class="UtilTest" classname="UtilTest" assertions="1" time="0.000646"/>
-        </testsuite>
-        <testsuite name="UtilTest::testClearXssNotAdmin" tests="2" assertions="2" errors="0" failures="0" skipped="0" time="0.001191">
-          <testcase name="testClearXssNotAdmin with data set #0" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="24" class="UtilTest" classname="UtilTest" assertions="1" time="0.000609"/>
-          <testcase name="testClearXssNotAdmin with data set #1" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="24" class="UtilTest" classname="UtilTest" assertions="1" time="0.000582"/>
-        </testsuite>
-        <testsuite name="UtilTest::testReturnBytes" tests="6" assertions="6" errors="0" failures="0" skipped="0" time="0.000509">
-          <testcase name="testReturnBytes with data set #0" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="71" class="UtilTest" classname="UtilTest" assertions="1" time="0.000096"/>
-          <testcase name="testReturnBytes with data set #1" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="71" class="UtilTest" classname="UtilTest" assertions="1" time="0.000086"/>
-          <testcase name="testReturnBytes with data set #2" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="71" class="UtilTest" classname="UtilTest" assertions="1" time="0.000083"/>
-          <testcase name="testReturnBytes with data set #3" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="71" class="UtilTest" classname="UtilTest" assertions="1" time="0.000083"/>
-          <testcase name="testReturnBytes with data set #4" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="71" class="UtilTest" classname="UtilTest" assertions="1" time="0.000081"/>
-          <testcase name="testReturnBytes with data set #5" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="71" class="UtilTest" classname="UtilTest" assertions="1" time="0.000080"/>
-        </testsuite>
-        <testsuite name="UtilTest::testTitleToUri" tests="6" assertions="6" errors="0" failures="0" skipped="0" time="0.000475">
-          <testcase name="testTitleToUri with data set #0" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="92" class="UtilTest" classname="UtilTest" assertions="1" time="0.000082"/>
-          <testcase name="testTitleToUri with data set #1" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="92" class="UtilTest" classname="UtilTest" assertions="1" time="0.000079"/>
-          <testcase name="testTitleToUri with data set #2" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="92" class="UtilTest" classname="UtilTest" assertions="1" time="0.000080"/>
-          <testcase name="testTitleToUri with data set #3" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="92" class="UtilTest" classname="UtilTest" assertions="1" time="0.000080"/>
-          <testcase name="testTitleToUri with data set #4" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="92" class="UtilTest" classname="UtilTest" assertions="1" time="0.000078"/>
-          <testcase name="testTitleToUri with data set #5" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="92" class="UtilTest" classname="UtilTest" assertions="1" time="0.000077"/>
-        </testsuite>
-        <testsuite name="UtilTest::testUriToTitle" tests="6" assertions="6" errors="0" failures="0" skipped="0" time="0.000470">
-          <testcase name="testUriToTitle with data set #0" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="112" class="UtilTest" classname="UtilTest" assertions="1" time="0.000080"/>
-          <testcase name="testUriToTitle with data set #1" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="112" class="UtilTest" classname="UtilTest" assertions="1" time="0.000079"/>
-          <testcase name="testUriToTitle with data set #2" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="112" class="UtilTest" classname="UtilTest" assertions="1" time="0.000077"/>
-          <testcase name="testUriToTitle with data set #3" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="112" class="UtilTest" classname="UtilTest" assertions="1" time="0.000078"/>
-          <testcase name="testUriToTitle with data set #4" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="112" class="UtilTest" classname="UtilTest" assertions="1" time="0.000078"/>
-          <testcase name="testUriToTitle with data set #5" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="112" class="UtilTest" classname="UtilTest" assertions="1" time="0.000078"/>
-        </testsuite>
-        <testsuite name="UtilTest::testBxIsSerialized" tests="5" assertions="5" errors="0" failures="0" skipped="0" time="0.000486">
-          <testcase name="testBxIsSerialized with data set #0" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="132" class="UtilTest" classname="UtilTest" assertions="1" time="0.000083"/>
-          <testcase name="testBxIsSerialized with data set #1" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="132" class="UtilTest" classname="UtilTest" assertions="1" time="0.000131"/>
-          <testcase name="testBxIsSerialized with data set #2" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="132" class="UtilTest" classname="UtilTest" assertions="1" time="0.000085"/>
-          <testcase name="testBxIsSerialized with data set #3" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="132" class="UtilTest" classname="UtilTest" assertions="1" time="0.000080"/>
-          <testcase name="testBxIsSerialized with data set #4" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="132" class="UtilTest" classname="UtilTest" assertions="1" time="0.000107"/>
-        </testsuite>
-        <testsuite name="UtilTest::testBxProcessOutputHtml" tests="5" assertions="5" errors="0" failures="0" skipped="0" time="0.000990">
-          <testcase name="testBxProcessOutputHtml with data set #0" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="151" class="UtilTest" classname="UtilTest" assertions="1" time="0.000371"/>
-          <testcase name="testBxProcessOutputHtml with data set #1" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="151" class="UtilTest" classname="UtilTest" assertions="1" time="0.000157"/>
-          <testcase name="testBxProcessOutputHtml with data set #2" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="151" class="UtilTest" classname="UtilTest" assertions="1" time="0.000145"/>
-          <testcase name="testBxProcessOutputHtml with data set #3" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="151" class="UtilTest" classname="UtilTest" assertions="1" time="0.000145"/>
-          <testcase name="testBxProcessOutputHtml with data set #4" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="151" class="UtilTest" classname="UtilTest" assertions="1" time="0.000171"/>
-        </testsuite>
-        <testsuite name="UtilTest::testBxProcessOutputText" tests="1" assertions="1" errors="0" failures="0" skipped="0" time="0.000093">
-          <testcase name="testBxProcessOutputText with data set #0" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/UtilTest.php" line="170" class="UtilTest" classname="UtilTest" assertions="1" time="0.000093"/>
-        </testsuite>
-      </testsuite>
-      <testsuite name="BxDolDbTest" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/classes/BxDolDbTest.php" tests="12" assertions="12" errors="0" failures="0" skipped="0" time="0.001061">
-        <testsuite name="BxDolDbTest::testIsValidFieldName" tests="12" assertions="12" errors="0" failures="0" skipped="0" time="0.001061">
-          <testcase name="testIsValidFieldName with data set #0" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/classes/BxDolDbTest.php" line="11" class="BxDolDbTest" classname="BxDolDbTest" assertions="1" time="0.000101"/>
-          <testcase name="testIsValidFieldName with data set #1" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/classes/BxDolDbTest.php" line="11" class="BxDolDbTest" classname="BxDolDbTest" assertions="1" time="0.000104"/>
-          <testcase name="testIsValidFieldName with data set #2" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/classes/BxDolDbTest.php" line="11" class="BxDolDbTest" classname="BxDolDbTest" assertions="1" time="0.000106"/>
-          <testcase name="testIsValidFieldName with data set #3" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/classes/BxDolDbTest.php" line="11" class="BxDolDbTest" classname="BxDolDbTest" assertions="1" time="0.000088"/>
-          <testcase name="testIsValidFieldName with data set #4" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/classes/BxDolDbTest.php" line="11" class="BxDolDbTest" classname="BxDolDbTest" assertions="1" time="0.000085"/>
-          <testcase name="testIsValidFieldName with data set #5" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/classes/BxDolDbTest.php" line="11" class="BxDolDbTest" classname="BxDolDbTest" assertions="1" time="0.000082"/>
-          <testcase name="testIsValidFieldName with data set #6" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/classes/BxDolDbTest.php" line="11" class="BxDolDbTest" classname="BxDolDbTest" assertions="1" time="0.000084"/>
-          <testcase name="testIsValidFieldName with data set #7" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/classes/BxDolDbTest.php" line="11" class="BxDolDbTest" classname="BxDolDbTest" assertions="1" time="0.000083"/>
-          <testcase name="testIsValidFieldName with data set #8" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/classes/BxDolDbTest.php" line="11" class="BxDolDbTest" classname="BxDolDbTest" assertions="1" time="0.000083"/>
-          <testcase name="testIsValidFieldName with data set #9" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/classes/BxDolDbTest.php" line="11" class="BxDolDbTest" classname="BxDolDbTest" assertions="1" time="0.000082"/>
-          <testcase name="testIsValidFieldName with data set #10" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/classes/BxDolDbTest.php" line="11" class="BxDolDbTest" classname="BxDolDbTest" assertions="1" time="0.000081"/>
-          <testcase name="testIsValidFieldName with data set #11" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/inc/classes/BxDolDbTest.php" line="11" class="BxDolDbTest" classname="BxDolDbTest" assertions="1" time="0.000083"/>
-        </testsuite>
-      </testsuite>
-      <testsuite name="BxAntispamDNSBlacklistsTest" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamDNSBlacklistsTest.php" tests="1" assertions="1" errors="0" failures="0" skipped="0" time="0.005215">
-        <testsuite name="BxAntispamDNSBlacklistsTest::test_dnsbl_lookup_ip" tests="1" assertions="1" errors="0" failures="0" skipped="0" time="0.005215">
-          <testcase name="test_dnsbl_lookup_ip with data set #0" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamDNSBlacklistsTest.php" line="37" class="BxAntispamDNSBlacklistsTest" classname="BxAntispamDNSBlacklistsTest" assertions="1" time="0.005215"/>
-        </testsuite>
-      </testsuite>
-      <testsuite name="BxAntispamDNSURIBlacklistsTest" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamDNSURIBlacklistsTest.php" tests="4" assertions="4" errors="0" failures="0" skipped="0" time="0.393437">
-        <testsuite name="BxAntispamDNSURIBlacklistsTest::testIsSpam" tests="4" assertions="4" errors="0" failures="0" skipped="0" time="0.393437">
-          <testcase name="testIsSpam with data set #0" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamDNSURIBlacklistsTest.php" line="45" class="BxAntispamDNSURIBlacklistsTest" classname="BxAntispamDNSURIBlacklistsTest" assertions="1" time="0.312918"/>
-          <testcase name="testIsSpam with data set #1" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamDNSURIBlacklistsTest.php" line="45" class="BxAntispamDNSURIBlacklistsTest" classname="BxAntispamDNSURIBlacklistsTest" assertions="1" time="0.076329"/>
-          <testcase name="testIsSpam with data set #2" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamDNSURIBlacklistsTest.php" line="45" class="BxAntispamDNSURIBlacklistsTest" classname="BxAntispamDNSURIBlacklistsTest" assertions="1" time="0.002482"/>
-          <testcase name="testIsSpam with data set #3" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamDNSURIBlacklistsTest.php" line="45" class="BxAntispamDNSURIBlacklistsTest" classname="BxAntispamDNSURIBlacklistsTest" assertions="1" time="0.001708"/>
-        </testsuite>
-      </testsuite>
-      <testsuite name="BxAntispamModuleTest" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" tests="17" assertions="63" errors="0" failures="0" skipped="0" time="0.134789">
-        <testsuite name="BxAntispamModuleTest::testServiceIsSpam" tests="1" assertions="4" errors="0" failures="0" skipped="0" time="0.006425">
-          <testcase name="testServiceIsSpam with data set #0" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="64" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="4" time="0.006425"/>
-        </testsuite>
-        <testsuite name="BxAntispamModuleTest::testServiceCheckJoin" tests="5" assertions="30" errors="0" failures="0" skipped="0" time="0.065391">
-          <testcase name="testServiceCheckJoin with data set #0" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="120" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="6" time="0.015467"/>
-          <testcase name="testServiceCheckJoin with data set #1" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="120" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="6" time="0.010977"/>
-          <testcase name="testServiceCheckJoin with data set #2" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="120" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="6" time="0.012051"/>
-          <testcase name="testServiceCheckJoin with data set #3" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="120" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="6" time="0.012096"/>
-          <testcase name="testServiceCheckJoin with data set #4" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="120" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="6" time="0.014800"/>
-        </testsuite>
-        <testsuite name="BxAntispamModuleTest::testServiceCheckLogin" tests="5" assertions="15" errors="0" failures="0" skipped="0" time="0.056773">
-          <testcase name="testServiceCheckLogin with data set #0" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="191" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="3" time="0.014625"/>
-          <testcase name="testServiceCheckLogin with data set #1" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="191" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="3" time="0.010441"/>
-          <testcase name="testServiceCheckLogin with data set #2" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="191" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="3" time="0.009427"/>
-          <testcase name="testServiceCheckLogin with data set #3" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="191" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="3" time="0.011009"/>
-          <testcase name="testServiceCheckLogin with data set #4" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="191" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="3" time="0.011271"/>
-        </testsuite>
-        <testsuite name="BxAntispamModuleTest::testServiceIsIpDnsBlacklisted" tests="2" assertions="8" errors="0" failures="0" skipped="0" time="0.002972">
-          <testcase name="testServiceIsIpDnsBlacklisted with data set #0" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="233" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="4" time="0.002033"/>
-          <testcase name="testServiceIsIpDnsBlacklisted with data set #1" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="233" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="4" time="0.000939"/>
-        </testsuite>
-        <testcase name="testServiceIsIpDnsBlacklistedWhenIpIsWhiletisted" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="260" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="3" time="0.000851"/>
-        <testcase name="testServiceIsIpWhitelisted" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="269" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="1" time="0.000771"/>
-        <testcase name="testServiceIsIpBlocked" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="276" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="1" time="0.000775"/>
-        <testcase name="testServiceBlockIp" file="/var/lib/jenkins/workspace/UNA-Pipe/tests/units/modules/boonex/antispam/classes/BxAntispamModuleTest.php" line="283" class="BxAntispamModuleTest" classname="BxAntispamModuleTest" assertions="1" time="0.000829"/>
-      </testsuite>
-    </testsuite>
-  </testsuite>
-</testsuites>

+ 0 - 1099
upgrade/files/15.0.0.A2-15.0.0.B1/files/logs/phpcpd.xml

@@ -1,1099 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<pmd-cpd>
-  <duplication lines="41" tokens="98">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/studio/classes/BxDolStudioFormsQuery.php" line="831"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/studio/classes/BxDolStudioFormsQuery.php" line="882"/>
-    <codefragment>    function getSearchFields($aParams, &amp;$aItems, $bReturnCount = true)
-    {
-        $aMethod = array('name' =&gt; 'getAll', 'params' =&gt; array(0 =&gt; 'query'));
-        $sSelectClause = $sFromClause = $sJoinClause = $sWhereClause = $sGroupClause = $sOrderClause = $sLimitClause = "";
-
-        if(!isset($aParams['order']) || empty($aParams['order']))
-           $sOrderClause = "ORDER BY `tfld`.`order` ASC";
-
-        switch($aParams['type']) {
-            case 'by_id':
-                $aMethod['name'] = 'getRow';
-                $aMethod['params'][1] = array(
-                	'id' =&gt; $aParams['id']
-                );
-
-                $sWhereClause = " AND `tfld`.`id`=:id ";
-                break;
-
-            case 'by_object':
-            	$aMethod['params'][1] = array(
-                	'object' =&gt; $aParams['object']
-                );
-
-                $sWhereClause = "AND `tfld`.`object`=:object";
-                break;
-
-            case 'counter_by_modules':
-                $aMethod['name'] = 'getPairs';
-                $aMethod['params'][1] = 'module';
-                $aMethod['params'][2] = 'counter';
-                $sSelectClause = ", COUNT(*) AS `counter`";
-                $sGroupClause = "GROUP BY `tfld`.`module`";
-                $sOrderClause = "";
-                break;
-
-            case 'all':
-                break;
-        }
-
-        $aMethod['params'][0] = "SELECT " . ($bReturnCount ? "SQL_CALC_FOUND_ROWS" : "") . " 
-            	`tfld`.*" . $sSelectClause . "
-</codefragment>
-  </duplication>
-  <duplication lines="41" tokens="96">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/shopify/classes/BxShopifyDb.php" line="15"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/snipcart/classes/BxSnipcartDb.php" line="15"/>
-    <codefragment>class BxShopifyDb extends BxBaseModTextDb
-{
-    function __construct(&amp;$oConfig)
-    {
-        parent::__construct($oConfig);
-    }
-
-    public function getSettings($aParams = array())
-    {
-        $CNF = &amp;$this-&gt;_oConfig-&gt;CNF;
-
-    	$aMethod = array('name' =&gt; 'getAll', 'params' =&gt; array(0 =&gt; 'query'));
-        $sWhereClause = $sOrderByClause = "";
-
-        $sSelectClause = "*";
-        switch($aParams['type']) {
-            case 'id':
-                $aMethod['name'] = 'getRow';
-                $aMethod['params'][1] = array(
-                	'id' =&gt; $aParams['id']
-                );
-
-                $sWhereClause .= " AND `id`=:id";
-                break;
-
-            case 'author':
-                $aMethod['name'] = 'getRow';
-                $aMethod['params'][1] = array(
-                	'author' =&gt; $aParams['author']
-                );
-
-                $sWhereClause .= " AND `author`=:author";
-                break;
-
-            case 'all':
-            	break;
-        }
-
-        $aMethod['params'][0] = "SELECT " . $sSelectClause . " FROM `" . $CNF['TABLE_SETTINGS'] . "` WHERE 1 " . $sWhereClause;
-
-        return call_user_func_array(array($this, $aMethod['name']), $aMethod['params']);
-</codefragment>
-  </duplication>
-  <duplication lines="38" tokens="110">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/resources/classes/BxResourcesModule.php" line="226"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/tasks/classes/BxTasksModule.php" line="733"/>
-    <codefragment>    public function isAllowView($iContextId)
-    {
-        if(!($oContext = BxDolProfile::getInstance($iContextId)) || $oContext-&gt;checkAllowedProfileView($iContextId) !== CHECK_ACTION_RESULT_ALLOWED)
-            return false;
-
-        return true;
-    }
-
-    public function isAllowAdd($iContextId)
-    {
-        if(!($oContext = BxDolProfile::getInstance($iContextId)) || $oContext-&gt;checkAllowedPostInProfile($iContextId) !== CHECK_ACTION_RESULT_ALLOWED)
-            return false;
-
-        return true;
-    }
-
-    public function isAllowManageByContext($iContextId)
-    {
-        if(isAdmin())
-            return true;
-      
-        $oProfileContext = BxDolProfile::getInstance($iContextId);
-        if(BxDolService::call($oProfileContext-&gt;getModule(), 'is_admin', array($iContextId)))
-            return true;
-        
-        return false;
-    }
-
-    public function isAllowManage($mixedContent)
-    {
-        $CNF = &amp;$this-&gt;_oConfig-&gt;CNF;
-
-        $aContentInfo = !is_array($mixedContent) ? $this-&gt;_oDb-&gt;getContentInfoById((int)$mixedContent) : $mixedContent;
-        if($this-&gt;checkAllowedEdit($aContentInfo) === CHECK_ACTION_RESULT_ALLOWED)
-            return true;
-
-        if($this-&gt;isAllowManageByContext(abs($aContentInfo[$CNF['FIELD_ALLOW_VIEW_TO']])))
-            return true;
-</codefragment>
-  </duplication>
-  <duplication lines="34" tokens="84">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/ads/classes/BxAdsMenuView.php" line="27"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/market/classes/BxMarketMenuView.php" line="27"/>
-    <codefragment>        parent::__construct($aObject, $oTemplate);
-
-        $this-&gt;_aJsCodes = array();
-
-        $this-&gt;addMarkers(array(
-            'js_object' =&gt; $this-&gt;_oModule-&gt;_oConfig-&gt;getJsObject('entry')
-        ));
-    }
-
-    public function getCode ()
-    {
-    	return parent::getCode() . $this-&gt;getJsCode();
-    }
-
-    public function getJsCode()
-    {
-        if(empty($this-&gt;_aJsCodes) || !is_array($this-&gt;_aJsCodes))
-            return '';
-
-        return implode('', $this-&gt;_aJsCodes);
-    }
-
-    protected function _isVisible ($a)
-    {
-    	$CNF = &amp;$this-&gt;_oModule-&gt;_oConfig-&gt;CNF;
-
-        if(!parent::_isVisible($a))
-            return false;
-
-        $oPayment = BxDolPayments::getInstance();
-
-        $bResult = false;
-        switch ($a['name']) {
-            case 'add-to-cart':
-</codefragment>
-  </duplication>
-  <duplication lines="33" tokens="122">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/classes/classes/BxClssModule.php" line="229"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/stream/classes/BxStrmModule.php" line="215"/>
-    <codefragment>    public function serviceGetTimelinePost($aEvent, $aBrowseParams = array())
-    {
-        $CNF = &amp;$this-&gt;_oConfig-&gt;CNF;
-
-        $aResult = parent::serviceGetTimelinePost($aEvent, $aBrowseParams);
-        if(empty($aResult) || !is_array($aResult) || empty($aResult['date']))
-            return $aResult;
-
-        $aContentInfo = $this-&gt;_oDb-&gt;getContentInfoById($aEvent['object_id']);
-        if($aContentInfo[$CNF['FIELD_PUBLISHED']] &gt; $aResult['date'])
-            $aResult['date'] = $aContentInfo[$CNF['FIELD_PUBLISHED']];
-
-        return $aResult;
-    }
-
-    public function serviceCheckAllowedCommentsPost($iContentId, $sObjectComments) 
-    {
-        $CNF = &amp;$this-&gt;_oConfig-&gt;CNF;
-        $aContentInfo = $this-&gt;_oDb-&gt;getContentInfoById($iContentId);
-        if ($aContentInfo &amp;&amp; 1 == $aContentInfo[$CNF['FIELD_CMTS_SETTINGS']])
-            return false;
-
-        return parent::serviceCheckAllowedCommentsPost($iContentId, $sObjectComments);
-    }
-	
-	public function serviceCheckAllowedCommentsView($iContentId, $sObjectComments) 
-    {
-        $CNF = &amp;$this-&gt;_oConfig-&gt;CNF;
-        $aContentInfo = $this-&gt;_oDb-&gt;getContentInfoById($iContentId);
-        if (1 == $aContentInfo[$CNF['FIELD_CMTS_SETTINGS']])
-            return false;
-
-        return parent::serviceCheckAllowedCommentsView($iContentId, $sObjectComments);
-</codefragment>
-  </duplication>
-  <duplication lines="32" tokens="97">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/base/text/classes/BxBaseModTextGridCommon.php" line="26"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/timeline/classes/BxTimelineGridCommon.php" line="26"/>
-    <codefragment>        $this-&gt;_sManageType = BX_DOL_MANAGE_TOOLS_COMMON;
-    }
-
-    protected function _getCellSwitcher ($mixedValue, $sKey, $aField, $aRow)
-    {
-        if(!$this-&gt;_switcherState2Checked($aRow['status_admin']))
-            return parent::_getCellDefault('', $sKey, $aField, $aRow);
-
-        return parent::_getCellSwitcher ($mixedValue, $sKey, $aField, $aRow);
-    }
-
-    protected function _getCellStatusAdmin($mixedValue, $sKey, $aField, $aRow)
-    {
-        $CNF = &amp;$this-&gt;_oModule-&gt;_oConfig-&gt;CNF;
-
-        if(!empty($CNF['T']['filter_item_' . $mixedValue]))
-            $mixedValue = $CNF['T']['filter_item_' . $mixedValue];
-        else
-            $mixedValue = '_undefined';
-
-        return parent::_getCellDefault(_t($mixedValue), $sKey, $aField, $aRow);
-    }
-
-    protected function _isRowDisabled($aRow)
-    {
-        if(parent::_isRowDisabled($aRow))
-            return true;
-
-        return !$this-&gt;_switcherState2Checked($aRow['status_admin']);
-    }
-
-    protected function _getDataSql($sFilter, $sOrderField, $sOrderDir, $iStart, $iPerPage)
-</codefragment>
-  </duplication>
-  <duplication lines="31" tokens="90">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/posts/classes/BxPostsSearchResult.php" line="52"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/videos/classes/BxVideosSearchResult.php" line="52"/>
-    <codefragment>        $this-&gt;oModule = $this-&gt;getMain();
-
-        $CNF = &amp;$this-&gt;oModule-&gt;_oConfig-&gt;CNF;
-
-        $sSearchFields = getParam($CNF['PARAM_SEARCHABLE_FIELDS']);
-        $this-&gt;aCurrent['searchFields'] = !empty($sSearchFields) ? explode(',', $sSearchFields) : '';
-
-        $oProfileAuthor = null;
-
-        switch ($sMode) {
-            case 'author':
-                if(!$this-&gt;_updateCurrentForAuthor($sMode, $aParams, $oProfileAuthor))
-                    $this-&gt;isError = true;
-                break;
-
-            case 'context':
-                if(!$this-&gt;_updateCurrentForContext($sMode, $aParams, $oProfileAuthor))
-                    $this-&gt;isError = true;
-                break;
-
-            case 'followed_contexts':
-                if(!$this-&gt;_updateCurrentForFollowedContexts($sMode, $aParams, $oProfileAuthor))
-                    $this-&gt;isError = true;
-                break;
-
-            case 'favorite':
-                if(!$this-&gt;_updateCurrentForFavorite($sMode, $aParams, $oProfileAuthor))
-                    $this-&gt;isError = true;
-                break;
-			
-            case 'recent':
-</codefragment>
-  </duplication>
-  <duplication lines="31" tokens="88">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/google_connect/classes/BxGoogleConModule.php" line="38"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/linkedin_connect/classes/BxLinkedinModule.php" line="38"/>
-    <codefragment>            $sUrl = bx_append_url_params($this-&gt;_oConfig-&gt;sOauthUrl . '/auth', array(
-                'response_type' =&gt; 'code',
-                'client_id' =&gt; $this-&gt;_oConfig-&gt;sApiID,
-                'redirect_uri' =&gt; $this-&gt;_oConfig-&gt;sPageHandle,
-                'scope' =&gt; $this-&gt;_oConfig-&gt;sScope,
-                'state' =&gt; $this-&gt;_genToken(),
-            ));
-            $this-&gt;_redirect($sUrl);
-        }
-    }
-
-    function actionHandle()
-    {
-        require_once(BX_DIRECTORY_PATH_INC . 'design.inc.php');
-
-        // check CSRF token
-        if ($this-&gt;_getToken() != bx_get('state')) {
-            $this-&gt;_oTemplate-&gt;getPage(_t('_Error'), MsgBox(_t('_sys_connect_state_invalid')));
-            return;
-        }
-
-        // check code
-        $sCode = bx_get('code');
-        if (!$sCode || bx_get('error')) {
-            $sErrorDescription = bx_get('error_description') ? bx_get('error_description') : _t('_error occured');
-            $this-&gt;_oTemplate-&gt;getPage(_t('_Error'), MsgBox($sErrorDescription));
-            return;
-        }
-
-        // make request for token
-        $s = bx_file_get_contents($this-&gt;_oConfig-&gt;sApiUrl . '/oauth2/v4/token', array(
-</codefragment>
-  </duplication>
-  <duplication lines="29" tokens="98">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/albums/classes/BxAlbumsModule.php" line="785"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/stories/classes/BxStoriesModule.php" line="117"/>
-    <codefragment>    public function actionGetSiblingMedia($iMediaId, $mixedContext)
-    {
-        $aSiblings = false;
-        $sErrorMsg = false;
-        if (!($aMediaInfo = $this-&gt;_oDb-&gt;getMediaInfoById((int)$iMediaId))) 
-            $sErrorMsg = _t('_sys_txt_error_occured');
-
-        if (empty($sErrorMsg) &amp;&amp; !($aContentInfo = $this-&gt;_oDb-&gt;getContentInfoById($aMediaInfo['content_id'])))
-            $sErrorMsg = _t('_sys_txt_error_occured');
-
-        if (empty($sErrorMsg) &amp;&amp; (CHECK_ACTION_RESULT_ALLOWED !== ($sMsg = $this-&gt;checkAllowedView($aContentInfo))))
-            $sErrorMsg = $sMsg;
-
-        if (empty($sErrorMsg)) {
-            $aSiblings = array (
-                'next' =&gt; $this-&gt;_oTemplate-&gt;getNextPrevMedia($aMediaInfo, true, $mixedContext),
-                'prev' =&gt; $this-&gt;_oTemplate-&gt;getNextPrevMedia($aMediaInfo, false, $mixedContext),
-            );
-        }
-    
-        $a = $sErrorMsg ? array('error' =&gt; $sErrorMsg) : array('next' =&gt; $aSiblings['next'], 'prev' =&gt; $aSiblings['prev']);
-
-        $s = json_encode($a);
-
-        header('Content-type: text/html; charset=utf-8');
-        echo $s;
-    }
-
-    public function actionRssMedia ()
-</codefragment>
-  </duplication>
-  <duplication lines="29" tokens="78">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/courses/classes/BxCoursesModule.php" line="466"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/market/classes/BxMarketModule.php" line="1361"/>
-    <codefragment>    public function checkAllowedHide($aDataEntry, $isPerformAction = false)
-    {
-        $CNF = &amp;$this-&gt;_oConfig-&gt;CNF;
-
-        if($aDataEntry[$CNF['FIELD_STATUS']] != 'active')
-            return CHECK_ACTION_RESULT_NOT_ALLOWED;
-
-        // moderator and owner always have access
-        if ($aDataEntry[$CNF['FIELD_AUTHOR']] == $this-&gt;_iProfileId || $this-&gt;_isModerator($isPerformAction))
-            return CHECK_ACTION_RESULT_ALLOWED;
-
-        return CHECK_ACTION_RESULT_NOT_ALLOWED;
-    }
-
-    public function checkAllowedUnhide($aDataEntry, $isPerformAction = false)
-    {
-        $CNF = &amp;$this-&gt;_oConfig-&gt;CNF;
-
-        if($aDataEntry[$CNF['FIELD_STATUS']] == 'active')
-            return CHECK_ACTION_RESULT_NOT_ALLOWED;
-
-        // moderator and owner always have access
-        if ($aDataEntry[$CNF['FIELD_AUTHOR']] == $this-&gt;_iProfileId || $this-&gt;_isModerator($isPerformAction))
-            return CHECK_ACTION_RESULT_ALLOWED;
-
-        return CHECK_ACTION_RESULT_NOT_ALLOWED;
-    }
-
-    public function getNodeLevelByParent($aParentInfo)
-</codefragment>
-  </duplication>
-  <duplication lines="29" tokens="80">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/base/connect/classes/BxBaseModConnectModule.php" line="477"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/google_connect/classes/BxGoogleConModule.php" line="89"/>
-    <codefragment>        $s = bx_file_get_contents($this-&gt;_oConfig-&gt;sApiUrl . 'api/me', array(), 'get', array(
-            'Authorization: Bearer ' . $sAccessToken,
-        ));
-
-        // handle error
-        if (!$s || NULL === ($aResponse = json_decode($s, true)) || !$aResponse || isset($aResponse['error'])) {
-            $sErrorDescription = isset($aResponse['error_description']) ? $aResponse['error_description'] : _t('_error occured'); 
-            $this-&gt;_oTemplate-&gt;getPage(_t('_Error'), MsgBox($sErrorDescription));
-            return;
-        }
-
-        $aRemoteProfileInfo = $aResponse;
-
-        if ($aRemoteProfileInfo) {
-
-            // check if user logged in before
-            $iLocalProfileId = $this-&gt;_oDb-&gt;getProfileId($aRemoteProfileInfo['id']);
-            
-            if ($iLocalProfileId &amp;&amp; $oProfile = BxDolProfile::getInstance($iLocalProfileId)) {
-                // user already exists
-                $this-&gt;setLogged($oProfile -&gt;id());
-            }             
-            else {  
-                // register new user
-                $this-&gt;_createProfile($aRemoteProfileInfo);
-            }
-        } 
-        else {
-            $this-&gt;_oTemplate-&gt;getPage(_t('_Error'), MsgBox(_t('_sys_connect_profile_error_info')));
-</codefragment>
-  </duplication>
-  <duplication lines="29" tokens="104">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/events/classes/BxEventsSearchResult.php" line="256"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/events/classes/BxEventsSearchResult.php" line="291"/>
-    <codefragment>                $this-&gt;aCurrent['title'] = _t('_bx_events_page_title_browse_upcoming');
-
-                // $this-&gt;aCurrent['restriction_sql'] = BxDolDb::getInstance()-&gt;prepareAsString(" AND `date_max` IS NOT NULL AND (`date_max` = 0 OR `date_max` &gt; ?) ", time());
-
-                // TODO: remake to use date_max (commented line above) in the future
-                $this-&gt;aCurrent['join']['intervals'] = array (
-                    'type' =&gt; 'LEFT',
-                    'table' =&gt; 'bx_events_intervals',
-                    'table_alias' =&gt; 'ei',
-                    'mainField' =&gt; 'id',
-                    'mainTable' =&gt; 'bx_events_data',
-                    'onField' =&gt; 'event_id',
-                    'groupTable' =&gt; 'bx_events_data',
-                    'groupField' =&gt; 'id',
-                    'groupHaving' =&gt; BxDolDb::getInstance()-&gt;prepareAsString(" (`date_end` &gt; ? OR MIN(`repeat_stop`) = 0 OR MAX(`repeat_stop`) &gt; ?) ", time(), time()),
-                    'joinFields' =&gt; ['MIN(`repeat_stop`) AS `repeat_min`, ', 'MAX(`repeat_stop`) AS `repeat_max`, '],
-                );
-
-                if(!empty($aParams['date_start_from']))
-                    $this-&gt;aCurrent['restriction']['date_start_from']['value'] = $aParams['date_start_from'];
-                if(!empty($aParams['date_start_to']))
-                    $this-&gt;aCurrent['restriction']['date_start_to']['value'] = $aParams['date_start_to'];
-                $this-&gt;aCurrent['sorting'] = 'upcoming';
-                if(!empty($aParams['per_page']))
-                    $this-&gt;aCurrent['paginate']['perPage'] = is_numeric($aParams['per_page']) ? (int)$aParams['per_page'] : (int)getParam($aParams['per_page']);
-                $this-&gt;sBrowseUrl = 'page.php?i=events-upcoming';
-                break;
-
-            case 'upcoming_connected':
-</codefragment>
-  </duplication>
-  <duplication lines="28" tokens="96">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/studio/template/scripts/BxBaseStudioFormsFields.php" line="407"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/studio/template/scripts/BxBaseStudioNavigationItems.php" line="529"/>
-    <codefragment>        if($this-&gt;sDisplay == '')
-            $isDisabled = true;
-
-        return  parent::_getActionDefault($sType, $sKey, $a, false, $isDisabled, $aRow);
-    }
-
-    protected function _getActionEdit ($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = array())
-    {
-        if($sType == 'single' &amp;&amp; !$this-&gt;_isEditable($aRow))
-            return '';
-
-        return  parent::_getActionDefault($sType, $sKey, $a, false, $isDisabled, $aRow);
-    }
-
-    protected function _getActionDelete ($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = array())
-    {
-        if($sType == 'single' &amp;&amp; !$this-&gt;_isDeletable($aRow))
-            return '';
-
-        return  parent::_getActionDefault($sType, $sKey, $a, false, $isDisabled, $aRow);
-    }
-
-    protected function _getActionShowTo ($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = array())
-    {
-        return '';
-    }
-
-    protected function _getActionsDisabledBehavior($aRow)
-</codefragment>
-  </duplication>
-  <duplication lines="28" tokens="92">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/albums/classes/BxAlbumsSearchResult.php" line="61"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/glossary/classes/BxGlsrSearchResult.php" line="51"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/market/classes/BxMarketSearchResult.php" line="54"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/polls/classes/BxPollsSearchResult.php" line="54"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/reviews/classes/BxReviewsSearchResult.php" line="52"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/shopify/classes/BxShopifySearchResult.php" line="52"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/snipcart/classes/BxSnipcartSearchResult.php" line="52"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/stream/classes/BxStrmSearchResult.php" line="52"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/tasks/classes/BxTasksSearchResult.php" line="51"/>
-    <codefragment>        $this-&gt;oModule = $this-&gt;getMain();
-
-        $CNF = &amp;$this-&gt;oModule-&gt;_oConfig-&gt;CNF;
-
-        $sSearchFields = getParam($CNF['PARAM_SEARCHABLE_FIELDS']);
-        $this-&gt;aCurrent['searchFields'] = !empty($sSearchFields) ? explode(',', $sSearchFields) : '';
-
-        $oProfileAuthor = null;
-
-        switch ($sMode) {
-
-            case 'author':
-                if(!$this-&gt;_updateCurrentForAuthor($sMode, $aParams, $oProfileAuthor))
-                    $this-&gt;isError = true;
-                break;
-                
-            case 'context':
-                if(!$this-&gt;_updateCurrentForContext($sMode, $aParams, $oProfileAuthor))
-                    $this-&gt;isError = true;
-                break;
-
-            case 'favorite':
-                if(!$this-&gt;_updateCurrentForFavorite($sMode, $aParams, $oProfileAuthor))
-                    $this-&gt;isError = true;
-                break;
-
-            case 'public':
-                $this-&gt;sBrowseUrl = BxDolPermalinks::getInstance()-&gt;permalink($CNF['URL_HOME']);
-</codefragment>
-  </duplication>
-  <duplication lines="27" tokens="89">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/resources/classes/BxResourcesFormEntry.php" line="67"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/tasks/classes/BxTasksFormEntry.php" line="94"/>
-    <codefragment>        if(isset($CNF['FIELD_ADDED']) &amp;&amp; empty($aValsToAdd[$CNF['FIELD_ADDED']])) {
-            $iAdded = 0;
-            if(isset($this-&gt;aInputs[$CNF['FIELD_ADDED']]))
-                $iAdded = $this-&gt;getCleanValue($CNF['FIELD_ADDED']);
-            
-            if(empty($iAdded))
-                 $iAdded = time();
-
-            $aValsToAdd[$CNF['FIELD_ADDED']] = $iAdded;
-        }
-
-        if(empty($aValsToAdd[$CNF['FIELD_PUBLISHED']])) {
-            $iPublished = 0;
-            if(isset($this-&gt;aInputs[$CNF['FIELD_PUBLISHED']]))
-                $iPublished = $this-&gt;getCleanValue($CNF['FIELD_PUBLISHED']);
-                
-             if(empty($iPublished))
-                 $iPublished = time();
-
-             $aValsToAdd[$CNF['FIELD_PUBLISHED']] = $iPublished;
-        }
-
-        $aValsToAdd[$CNF['FIELD_STATUS']] = $aValsToAdd[$CNF['FIELD_PUBLISHED']] &gt; $aValsToAdd[$CNF['FIELD_ADDED']] ? 'awaiting' : 'active';
-
-        $iContentId = parent::insert ($aValsToAdd, $isIgnore);
-        if(!empty($iContentId))
-            $this-&gt;processFiles($CNF['FIELD_COVER'], $iContentId, true);
-</codefragment>
-  </duplication>
-  <duplication lines="27" tokens="71">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/albums/classes/BxAlbumsModule.php" line="62"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/stories/classes/BxStoriesModule.php" line="155"/>
-    <codefragment>    public function serviceEntityAllActions ($mixedContent = false, $aParams = array())
-    {
-        if(!empty($mixedContent)) {
-            if(!is_array($mixedContent))
-               $mixedContent = array((int)$mixedContent, array());
-        }
-        else {
-            $mixedContent = $this-&gt;_getContent();
-            if($mixedContent === false)
-                return false;
-        }
-        
-        list($iContentId, $aContentInfo) = $mixedContent;
-
-        $aMedias = $this-&gt;_oDb-&gt;getMediaListByContentId($iContentId);
-        if(!empty($aMedias) &amp;&amp; is_array($aMedias)) {
-            $aMedia = array_shift($aMedias);
-            if(!empty($aMedia['file_id']))
-                $aParams = array_merge(array(
-                    'entry_thumb' =&gt; $aMedia['file_id']
-                ), $aParams);
-        }
-
-        return parent::serviceEntityAllActions(array($iContentId, $aContentInfo), $aParams);
-    }
-    
-    /**
-</codefragment>
-  </duplication>
-  <duplication lines="27" tokens="101">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/albums/classes/BxAlbumsModule.php" line="732"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/stories/classes/BxStoriesModule.php" line="91"/>
-    <codefragment>        $sContent = BxTemplStudioFunctions::getInstance()-&gt;transBox('bx-albums-edit-media-popup', $this-&gt;_oTemplate-&gt;parseHtmlByName('media-edit.html', array(
-            'form_id' =&gt; $oForm-&gt;aFormAttrs['id'],
-            'form' =&gt; $oForm-&gt;getCode(true)
-        )));
-
-        echoJson(array('popup' =&gt; array('html' =&gt; $sContent, 'options' =&gt; array('closeOnOuterClick' =&gt; false))));
-    }
-	
-    public function actionDeleteMedia($iMediaId)
-    {
-        $CNF = &amp;$this-&gt;_oConfig-&gt;CNF;
-
-        $sUploader = reset($CNF['OBJECT_UPLOADERS']);
-        $aMediaInfo = $this-&gt;_oDb-&gt;getMediaInfoById($iMediaId);
-        if(!$sUploader || empty($aMediaInfo) || !is_array($aMediaInfo))
-            return echoJson([]);
-
-        $oUploader = BxDolUploader::getObjectInstance($sUploader, $CNF['OBJECT_STORAGE'], '');
-        if($oUploader === false) 
-            return echoJson(['msg' =&gt; _t('_sys_txt_error_occured')]);
-
-        $oUploader-&gt;deleteGhost($aMediaInfo['file_id'], bx_get_logged_profile_id());
-
-        return echoJson(['redirect' =&gt; bx_absolute_url(BxDolPermalinks::getInstance()-&gt;permalink('page.php?i=' . $CNF['URI_VIEW_ENTRY'] . '&amp;id=' . $aMediaInfo['content_id']))]);            
-    }
-
-    public function actionMoveMedia($iMediaId)
-</codefragment>
-  </duplication>
-  <duplication lines="27" tokens="73">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/ads/classes/BxAdsFormSourcesDetails.php" line="87"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/payment/classes/BxPaymentFormDetails.php" line="111"/>
-    <codefragment>                    'func' =&gt; $aInput['check_type'],
-                    'params' =&gt; $aInput['check_params'],
-                    'error' =&gt; _t($aInput['check_error']),
-                ]
-            ];
-
-            //--- Make some field dependent actions ---//
-            switch($aInput['type']) {
-                case 'select':
-                    if(empty($aInput['extra']))
-                       break;
-
-                    $aAddon = ['values' =&gt; []];
-
-                    if(BxDolService::isSerializedService($aInput['extra']))
-                        $aAddon['values'] = BxDolService::callSerialized($aInput['extra']);
-                    else {
-                        $aPairs = explode(',', $aInput['extra']);
-                        foreach($aPairs as $sPair) {
-                            $aPair = explode('|', $sPair);
-                            $aAddon['values'][] = ['key' =&gt; $aPair[0], 'value' =&gt; _t($aPair[1])];
-                        }
-                    }
-                    break;
-
-                case 'checkbox':
-                   $this-&gt;aInputs[$aInput['name']]['value'] = '1';
-</codefragment>
-  </duplication>
-  <duplication lines="26" tokens="98">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/elasticsearch/classes/BxElsModule.php" line="305"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/elasticsearch/classes/BxElsModule.php" line="357"/>
-    <codefragment>    public function serviceAdd($iContentId, $mixedContentInfo, $sIndex = '')
-    {
-        if(is_array($mixedContentInfo)) {
-            $sMethod = 'getObjectInstanceByAlert' . bx_gen_method_name($mixedContentInfo['alert_type']);
-            $mixedContentInfo = BxDolContentInfo::$sMethod($mixedContentInfo['unit'], $mixedContentInfo['action']);
-        }
-
-        if(!($mixedContentInfo instanceof BxDolContentInfo))
-            return false;
-
-        $CNF = &amp;$this-&gt;_oConfig-&gt;CNF;
-
-        if(empty($sIndex))
-            $sIndex = $this-&gt;_oConfig-&gt;getIndex();
-
-        $aInfo = array(
-            $CNF['FIELD_AUTHOR'] =&gt; $mixedContentInfo-&gt;getContentAuthor($iContentId),
-            $CNF['FIELD_ADDED'] =&gt; $mixedContentInfo-&gt;getContentDateAdded($iContentId),
-            $CNF['FIELD_CHANGED'] =&gt; $mixedContentInfo-&gt;getContentDateChanged($iContentId),
-            $CNF['FIELD_LINK'] =&gt; $mixedContentInfo-&gt;getContentLink($iContentId),
-            $CNF['FIELD_TITLE'] =&gt; $mixedContentInfo-&gt;getContentTitle($iContentId),
-            $CNF['FIELD_TEXT'] =&gt; $mixedContentInfo-&gt;getContentText($iContentId),
-        );
-        $aInfo = array_merge($aInfo, $mixedContentInfo-&gt;getContentInfo($iContentId));
-
-        $mixedResult = $this-&gt;_oApi-&gt;indexData($sIndex, $mixedContentInfo-&gt;getName(), $iContentId, $this-&gt;_prepareToIndex($aInfo));
-</codefragment>
-  </duplication>
-  <duplication lines="25" tokens="110">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/albums/classes/BxAlbumsTemplate.php" line="311"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/stories/classes/BxStoriesTemplate.php" line="281"/>
-    <codefragment>            $iVideoDuration = $oModule-&gt;getMediaDuration($aFileInfo);
-            $sVideoDuration = _t_format_duration($iVideoDuration);
-
-            $sVideoUrl = $oStorage-&gt;getFileUrlById($aMediaInfo['file_id']);
-            $aVideoFile = $oStorage-&gt;getFile($aMediaInfo['file_id']);
-
-            $sVideoUrlHd = '';
-            if (!empty($aVideoFile['dimensions']) &amp;&amp; $aTranscodersVideo['mp4_hd']-&gt;isProcessHD($aVideoFile['dimensions']))
-                $sVideoUrlHd = $aTranscodersVideo['mp4_hd']-&gt;getFileUrl($aMediaInfo['file_id']);
-
-            $aTmplVarsVideo = array (
-                'title_attr' =&gt; $sMediaTitleAttr,
-                'title' =&gt; $sMediaTitle,
-                'url' =&gt; bx_append_url_params($sUrl, array('autoplay' =&gt; 1)),
-                'url_img' =&gt; $isVideo ? $aTranscodersVideo['poster']-&gt;getFileUrl($aMediaInfo['file_id']) : '',
-                'video' =&gt; $isVideo &amp;&amp; $aTranscodersVideo ? BxTemplFunctions::getInstance()-&gt;videoPlayer(
-                    $aTranscodersVideo['poster']-&gt;getFileUrl($aMediaInfo['file_id']), 
-                    $aTranscodersVideo['mp4']-&gt;getFileUrl($aMediaInfo['file_id']), 
-                    $sVideoUrlHd, $mixedAttrs, 'max-height:' . $CNF['OBJECT_VIDEO_TRANSCODER_HEIGHT']
-                ) : '',
-                'duration' =&gt; $sVideoDuration,
-                'bx_if:show_duration' =&gt; array(
-                    'condition' =&gt; $iVideoDuration &gt; 0,
-                    'content' =&gt; array(
-                        'duration' =&gt; $sVideoDuration
-</codefragment>
-  </duplication>
-  <duplication lines="25" tokens="77">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/ads/classes/BxAdsSearchResult.php" line="61"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/albums/classes/BxAlbumsSearchResult.php" line="65"/>
-    <codefragment>        $sSearchFields = getParam($CNF['PARAM_SEARCHABLE_FIELDS']);
-        $this-&gt;aCurrent['searchFields'] = !empty($sSearchFields) ? explode(',', $sSearchFields) : '';
-
-        $oProfileAuthor = null;
-
-        switch ($sMode) {
-            case 'author':
-                if(!$this-&gt;_updateCurrentForAuthor($sMode, $aParams, $oProfileAuthor))
-                    $this-&gt;isError = true;
-                break;
-
-            case 'context':
-                if(!$this-&gt;_updateCurrentForContext($sMode, $aParams, $oProfileAuthor))
-                    $this-&gt;isError = true;
-                break;
-                
-            case 'favorite':
-                if(!$this-&gt;_updateCurrentForFavorite($sMode, $aParams, $oProfileAuthor))
-                    $this-&gt;isError = true;
-                break;
-
-            case 'public':
-                $this-&gt;sBrowseUrl = BxDolPermalinks::getInstance()-&gt;permalink($CNF['URL_HOME']);
-                $this-&gt;aCurrent['title'] = _t('_bx_ads_page_title_browse_recent');
-                $this-&gt;aCurrent['rss']['link'] = 'modules/?r=ads/rss/' . $sMode;
-</codefragment>
-  </duplication>
-  <duplication lines="24" tokens="74">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/template/scripts/BxBaseFavorite.php" line="62"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/template/scripts/BxBaseFeature.php" line="55"/>
-    <codefragment>    public function getJsObjectName()
-    {
-        return $this-&gt;_sJsObjName;
-    }
-
-    public function getJsScript($bDynamicMode = false)
-    {
-        $aParams = array(
-            'sObjName' =&gt; $this-&gt;_sJsObjName,
-            'sSystem' =&gt; $this-&gt;getSystemName(),
-            'iAuthorId' =&gt; $this-&gt;_getAuthorId(),
-            'iObjId' =&gt; $this-&gt;getId(),
-            'sRootUrl' =&gt; BX_DOL_URL_ROOT,
-            'sStylePrefix' =&gt; $this-&gt;_sStylePrefix,
-            'aHtmlIds' =&gt; $this-&gt;_aHtmlIds
-        );
-        $sCode = "var " . $this-&gt;_sJsObjName . " = new " . $this-&gt;_sJsObjClass . "(" . json_encode($aParams) . ");";
-
-        return $this-&gt;_oTemplate-&gt;_wrapInTagJsCode($sCode);
-    }
-
-    public function getJsClick()
-    {
-        return $this-&gt;getJsObjectName() . '.favorite(this)';
-</codefragment>
-  </duplication>
-  <duplication lines="24" tokens="94">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/base/text/classes/BxBaseModTextFormEntry.php" line="265"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/ads/classes/BxAdsFormEntry.php" line="343"/>
-    <codefragment>            'name' =&gt; $this-&gt;aInputs[$CNF['FIELD_COVER']]['name'],
-            'content_id' =&gt; $this-&gt;aInputs[$CNF['FIELD_COVER']]['content_id'],
-            'editor_id' =&gt; isset($CNF['FIELD_TEXT_ID']) ? $CNF['FIELD_TEXT_ID'] : '',
-            'thumb_id' =&gt; isset($CNF['FIELD_THUMB']) &amp;&amp; isset($aContentInfo[$CNF['FIELD_THUMB']]) ? $aContentInfo[$CNF['FIELD_THUMB']] : 0,
-            'name_thumb' =&gt; isset($CNF['FIELD_THUMB']) ? $CNF['FIELD_THUMB'] : ''
-        ];
-    }
-
-    protected function _getPhotoGhostTmplVars($aContentInfo = [])
-    {
-    	$CNF = &amp;$this-&gt;_oModule-&gt;_oConfig-&gt;CNF;
-
-    	return [
-            'name' =&gt; $this-&gt;aInputs[$CNF['FIELD_PHOTO']]['name'],
-            'content_id' =&gt; (int)$this-&gt;aInputs[$CNF['FIELD_PHOTO']]['content_id'],
-            'editor_id' =&gt; isset($CNF['FIELD_TEXT_ID']) ? $CNF['FIELD_TEXT_ID'] : '',
-            'bx_if:set_thumb' =&gt; [
-                'condition' =&gt; false,
-                'content' =&gt; []
-            ],
-    	];
-    }
-
-    protected function _getVideoGhostTmplVars($aContentInfo = [])
-</codefragment>
-  </duplication>
-  <duplication lines="23" tokens="72">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/albums/classes/BxAlbumsSearchResultMedia.php" line="153"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/stories/classes/BxStoriesSearchResultMedia.php" line="112"/>
-    <codefragment>        $this-&gt;addCustomConditions($CNF, $oProfileAuthor, $sMode, $aParams);
-    }
-
-    function getAlterOrder()
-    {
-        $CNF = &amp;$this-&gt;oModule-&gt;_oConfig-&gt;CNF;
-
-        $sTable = $this-&gt;aCurrent['table'];
-        $sWay = $this-&gt;sOrderDirection;
-
-        $aSql = array();
-        switch ($this-&gt;aCurrent['sorting']) {
-            case 'order':
-                $aSql['order'] = " ORDER BY `" . $sTable . "`.`order` " . $sWay . ", `" . $sTable . "`.`id` " . $sWay . " ";
-                break;
-
-            case 'order_by_ghosts':
-                $aSql['order'] = " ORDER BY `g`.`order` " . $sWay . ", `" . $sTable . "`.`id` " . $sWay . " ";
-                break;
-
-            case 'last':
-                $aSql['order'] = " ORDER BY `f`.`added` " . $sWay . ", `" . $sTable . "`.`id` " . $sWay . " ";
-                break;
-</codefragment>
-  </duplication>
-  <duplication lines="23" tokens="90">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/albums/classes/BxAlbumsFormMedia.php" line="26"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/stories/classes/BxStoriesFormMedia.php" line="26"/>
-    <codefragment>        $this-&gt;_oModule = BxDolModule::getInstance($this-&gt;_sModule);
-
-        parent::__construct($aInfo, $oTemplate);
-    }
-
-    public function initChecker($aValues = array (), $aSpecificValues = array())
-    {
-        if(!empty($this-&gt;_aMediaInfo) &amp;&amp; is_array($this-&gt;_aMediaInfo))
-            $aValues = $this-&gt;_aMediaInfo;
-
-        parent::initChecker($aValues, $aSpecificValues);
-    }
-
-    public function initForm($aAction, $iMediaId)
-    {
-        $CNF = &amp;$this-&gt;_oModule-&gt;_oConfig-&gt;CNF;
-
-        $this-&gt;_iMediaId = $iMediaId;
-        $this-&gt;_aMediaInfo = $this-&gt;_oModule-&gt;_oDb-&gt;getMediaInfoById($iMediaId);
-
-        $this-&gt;aFormAttrs['action'] = BX_DOL_URL_ROOT . $this-&gt;_oModule-&gt;_oConfig-&gt;getBaseUri() . $aAction . '_media/' . $iMediaId;
-
-        if(isset($this-&gt;aInputs['content_id'])) {
-</codefragment>
-  </duplication>
-  <duplication lines="23" tokens="75">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/market/classes/BxMarketScore.php" line="14"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/market/classes/BxMarketVoteStars.php" line="14"/>
-    <codefragment>	protected $MODULE;
-	protected $_oModule;
-
-    function __construct($sSystem, $iId, $iInit = 1)
-    {
-    	$this-&gt;MODULE = 'bx_market';
-    	$this-&gt;_oModule = BxDolModule::getInstance($this-&gt;MODULE);
-
-        parent::__construct($sSystem, $iId, $iInit);        
-    }
-
-    public function isAllowedVote($isPerformAction = false)
-    {
-    	$CNF = &amp;$this-&gt;_oModule-&gt;_oConfig-&gt;CNF;
-
-    	if($this-&gt;getObjectAuthorId() == $this-&gt;_getAuthorId())
-    		return false;
-
-    	$oPrivacy = BxDolPrivacy::getObjectInstance($CNF['OBJECT_PRIVACY_VOTE']);
-		if($oPrivacy &amp;&amp; !$oPrivacy-&gt;check($this-&gt;_iId))
-			return false;
-
-    	return parent::isAllowedVote($isPerformAction);
-</codefragment>
-  </duplication>
-  <duplication lines="23" tokens="78">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/events/classes/BxEventsMenuSnippetMeta.php" line="18"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/jobs/classes/BxJobsMenuSnippetMeta.php" line="18"/>
-    <codefragment>        parent::__construct($aObject, $oTemplate);
-
-        unset($this-&gt;_aConnectionToFunctionCheck['sys_profiles_friends']);
-    }
-
-    protected function _getMenuItemDateStart($aItem)
-    {
-        $CNF = &amp;$this-&gt;_oModule-&gt;_oConfig-&gt;CNF;
-
-        if ($this-&gt;_aContentInfo[$CNF['FIELD_DATE_START']])
-            return $this-&gt;getUnitMetaItemText(bx_time_js($this-&gt;_aContentInfo[$CNF['FIELD_DATE_START']], BX_FORMAT_DATE_TIME, true));
-        else
-            return false;
-    }
-
-    protected function _getMenuItemDateEnd($aItem)
-    {
-        $CNF = &amp;$this-&gt;_oModule-&gt;_oConfig-&gt;CNF;
-
-        if ($this-&gt;_aContentInfo[$CNF['FIELD_DATE_END']])
-            return $this-&gt;getUnitMetaItemText(bx_time_js($this-&gt;_aContentInfo[$CNF['FIELD_DATE_END']], BX_FORMAT_DATE_TIME, true));
-        else
-            return false;
-</codefragment>
-  </duplication>
-  <duplication lines="22" tokens="84">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/albums/classes/BxAlbumsFormEntry.php" line="20"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/stories/classes/BxStoriesFormEntry.php" line="21"/>
-    <codefragment>        parent::__construct($aInfo, $oTemplate);
-
-        $CNF = &amp;$this-&gt;_oModule-&gt;_oConfig-&gt;CNF;
-
-        if (isset($CNF['FIELD_PHOTO']) &amp;&amp; isset($this-&gt;aInputs[$CNF['FIELD_PHOTO']]))
-            $this-&gt;aInputs[$CNF['FIELD_PHOTO']]['init_reordering'] = true;
-    }
-
-    public function processFiles ($sFieldFile, $iContentId = 0, $isAssociateWithContent = false)
-    {
-        return parent::_processFilesInAlbumsAndStories($sFieldFile, $iContentId, $isAssociateWithContent);
-    }
-    
-    protected function _associalFileWithContent($oStorage, $iFileId, $iProfileId, $iContentId, $sPictureField = '')
-    {
-        parent::_associalFileWithContent($oStorage, $iFileId, $iProfileId, $iContentId, $sPictureField);
-
-        $CNF = &amp;$this-&gt;_oModule-&gt;_oConfig-&gt;CNF;
-
-        $oTranscoder = BxDolTranscoderImage::getObjectInstance($CNF['OBJECT_IMAGES_TRANSCODER_BIG']);
-        
-		$aInfo = bx_get_image_exif_and_size($oStorage, $oTranscoder, $iFileId);
-</codefragment>
-  </duplication>
-  <duplication lines="21" tokens="71">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/albums/classes/BxAlbumsModule.php" line="819"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/stories/classes/BxStoriesModule.php" line="265"/>
-    <codefragment>    public function getMediaDuration($aMediaInfo) 
-    {
-        $CNF = &amp;$this-&gt;_oConfig-&gt;CNF;
-
-        if(empty($aMediaInfo) || !is_array($aMediaInfo))
-            return 0;
-
-        $sField = 'duration';
-        if(!empty($aMediaInfo[$sField]))
-            return (int)$aMediaInfo[$sField];
-
-        $iMedia = $aMediaInfo['id'];
-        $sMedia = BxDolTranscoderImage::getObjectInstance($CNF['OBJECT_VIDEOS_TRANSCODERS']['mp4'])-&gt;getFileUrl($iMedia);
-        if(empty($sMedia))
-            return 0;
-
-        $iDuration = (int)BxDolTranscoderVideo::getDuration($sMedia);
-        if(!empty($iDuration))
-            $this-&gt;_oDb-&gt;updateMedia(array($sField =&gt; $iDuration), array('id' =&gt; $iMedia));
-
-        return $iDuration;
-</codefragment>
-  </duplication>
-  <duplication lines="21" tokens="84">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/acl/classes/BxAclFormPrice.php" line="68"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/donations/classes/BxDonationsFormType.php" line="46"/>
-    <codefragment>    public function getCode($bDynamicMode = false)
-    {
-    	$sJs = $this-&gt;_oModule-&gt;_oTemplate-&gt;addJs(array('form.js'), $bDynamicMode);
-
-        $sCode = '';
-        if($bDynamicMode)
-            $sCode .= $sJs;
-
-        $sCode .= $this-&gt;_oModule-&gt;_oTemplate-&gt;getJsCode('form');
-        $sCode .= parent::getCode($bDynamicMode);
-
-        return $sCode;
-    }
-
-    /*
-    public function initChecker ($aValues = array (), $aSpecificValues = array())
-    {
-        $CNF = &amp;$this-&gt;_oModule-&gt;_oConfig-&gt;CNF;
-        
-        $bValues = $aValues &amp;&amp; !empty($aValues[$CNF['FIELD_ID']]);
-
-</codefragment>
-  </duplication>
-  <duplication lines="21" tokens="79">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/base/groups/classes/BxBaseModGroupsGridPricesManage.php" line="145"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/base/groups/classes/BxBaseModGroupsGridQuestionsManage.php" line="102"/>
-    <codefragment>            'form_id' =&gt; $oForm-&gt;getId(),
-            'form' =&gt; $oForm-&gt;getCode(true),
-            'object' =&gt; $this-&gt;_sObject,
-            'action' =&gt; $sAction
-        ]));
-
-        echoJson(['popup' =&gt; ['html' =&gt; $sContent, 'options' =&gt; ['closeOnOuterClick' =&gt; false]]]);
-    }
-
-    public function performActionEdit()
-    {
-        $CNF = &amp;$this-&gt;_oModule-&gt;_oConfig-&gt;CNF;
-
-        $sAction = 'edit';
-
-        if(($mixedResult = $this-&gt;_oModule-&gt;checkAllowedEdit($this-&gt;_aGroupContentInfo)) !== CHECK_ACTION_RESULT_ALLOWED)
-            return $this-&gt;_bIsApi ? [bx_api_get_msg($mixedResult)] : echoJson(['msg' =&gt; $mixedResult]);
-
-        $aIds = $this-&gt;_getIds();
-        if($aIds === false)
-            return $this-&gt;_bIsApi ? [] : echoJson([]);
-</codefragment>
-  </duplication>
-  <duplication lines="20" tokens="98">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/payment/classes/BxPaymentProviderChargebeeV3.php" line="202"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/payment/classes/BxPaymentProviderStripeV3.php" line="224"/>
-    <codefragment>        $sOrderId = bx_process_input($aData['order_id']);
-    	$sCustomerId = bx_process_input($aData['customer_id']);
-        $iPendingId = bx_process_input($aData['pending_id'], BX_DATA_INT);
-        if(empty($iPendingId))
-            return array('code' =&gt; 1, 'message' =&gt; $this-&gt;_sLangsPrefix . 'err_wrong_data');
-
-        $sRedirect = bx_process_input($aData['redirect']);
-
-        $aPending = $this-&gt;_oModule-&gt;_oDb-&gt;getOrderPending(array('type' =&gt; 'id', 'id' =&gt; $iPendingId));
-        if(!empty($aPending['order']) || !empty($aPending['error_code']) || !empty($aPending['error_msg']) || (int)$aPending['processed'] != 0)
-            return array('code' =&gt; 3, 'message' =&gt; $this-&gt;_sLangsPrefix . 'err_already_processed');
-
-        $oCustomer = $this-&gt;retrieveCustomer($sCustomerId);
-        if($oCustomer === false)
-            return array('code' =&gt; 4, 'message' =&gt; $this-&gt;_sLangsPrefix . 'err_cannot_perform');
-
-        $sOrder = '';
-        $aResult = [
-            'code' =&gt; BX_PAYMENT_RESULT_SUCCESS,
-            'message' =&gt; '',
-</codefragment>
-  </duplication>
-  <duplication lines="19" tokens="124">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/resources/classes/BxResourcesFormEntry.php" line="39"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/tasks/classes/BxTasksFormEntry.php" line="57"/>
-    <codefragment>    public function initChecker ($aValues = array (), $aSpecificValues = array())
-    {
-        $CNF = &amp;$this-&gt;_oModule-&gt;_oConfig-&gt;CNF;
-
-        $bValues = $aValues &amp;&amp; !empty($aValues['id']);
-
-        $aContentInfo = $bValues ? $this-&gt;_oModule-&gt;_oDb-&gt;getContentInfoById($aValues['id']) : false;
-        if(!empty($aContentInfo) &amp;&amp; is_array($aContentInfo))
-            $this-&gt;setContextId(abs($aContentInfo[$CNF['FIELD_ALLOW_VIEW_TO']]));
-
-        if($this-&gt;aParams['display'] == $CNF['OBJECT_FORM_ENTRY_DISPLAY_EDIT'] &amp;&amp; isset($CNF['FIELD_PUBLISHED']) &amp;&amp; isset($this-&gt;aInputs[$CNF['FIELD_PUBLISHED']]))
-            if($bValues &amp;&amp; in_array($aValues[$CNF['FIELD_STATUS']], array('active', 'hidden')))
-                unset($this-&gt;aInputs[$CNF['FIELD_PUBLISHED']]);
-
-        if(($sKey = 'FIELD_COVER') &amp;&amp; isset($CNF[$sKey], $this-&gt;aInputs[$CNF[$sKey]])) {
-            if($bValues)
-                $this-&gt;aInputs[$CNF['FIELD_COVER']]['content_id'] = $aValues['id'];
-
-            $this-&gt;aInputs[$CNF['FIELD_COVER']]['ghost_template'] = $this-&gt;_oModule-&gt;_oTemplate-&gt;parseHtmlByName($this-&gt;_sGhostTemplateCover, $this-&gt;_getCoverGhostTmplVars($aContentInfo));
-</codefragment>
-  </duplication>
-  <duplication lines="18" tokens="76">
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/persons/classes/BxPersonsSearchResult.php" line="71"/>
-    <file path="/var/lib/jenkins/workspace/UNA-Pipe/modules/boonex/workspaces/classes/BxWorkspacesSearchResult.php" line="68"/>
-    <codefragment>        $this-&gt;oModule = $this-&gt;getMain();
-
-        $CNF = &amp;$this-&gt;oModule-&gt;_oConfig-&gt;CNF;
-        
-        $sSearchFields = getParam($CNF['PARAM_SEARCHABLE_FIELDS']);
-        $this-&gt;aCurrent['searchFields'] = !empty($sSearchFields) ? explode(',', $sSearchFields) : '';
-
-        $this-&gt;_setAccountConfirmationConditions($aParams);
-
-        switch ($sMode) {
-
-            case 'connections':
-                if ($this-&gt;_setConnectionsConditions($aParams)) {
-                    $oProfile = BxDolProfile::getInstance($aParams['profile']);
-                    $oProfile2 = isset($aParams['profile2']) ? BxDolProfile::getInstance($aParams['profile2']) : null;
-
-                    if (isset($aParams['type']) &amp;&amp; $aParams['type'] == 'common' &amp;&amp; $oProfile &amp;&amp; $oProfile2)
-                        $this-&gt;aCurrent['title'] = _t('_bx_persons_page_title_browse_connections_mutual', $oProfile-&gt;getDisplayName(), $oProfile2-&gt;getDisplayName());
-</codefragment>
-  </duplication>
-</pmd-cpd>

+ 13 - 0
upgrade/files/15.0.0.A2-15.0.0.B1/files/modules/base/general/classes/BxBaseModGeneralModule.php

@@ -4389,6 +4389,19 @@ class BxBaseModGeneralModule extends BxDolModule
         return $aData;
     }
 
+    protected function decodeDataAPICommonFields(&$aResult, $aData, $aParams) 
+    {
+        $CNF = &$this->_oConfig->CNF;
+
+        if (!empty($CNF['FIELD_LABELS'])) {
+            $aResult[$CNF['FIELD_LABELS']] = empty($aData[$CNF['FIELD_LABELS']]) ? [] : unserialize($aData[$CNF['FIELD_LABELS']]);
+        }
+
+        if (!empty($CNF['FIELD_LOCATION'])) {
+            $aResult[$CNF['FIELD_LOCATION']] = empty($aData[$CNF['FIELD_LOCATION']]) ? [] : unserialize($aData[$CNF['FIELD_LOCATION']]);
+        }
+    }
+
     // ====== PROTECTED METHODS
 
     protected function _serviceEntityForm ($sFormMethod, $iContentId = 0, $sDisplay = false, $sCheckFunction = false, $bErrorMsg = true)

+ 2 - 0
upgrade/files/15.0.0.A2-15.0.0.B1/files/modules/base/profile/classes/BxBaseModProfileModule.php

@@ -2532,6 +2532,8 @@ class BxBaseModProfileModule extends BxBaseModGeneralModule implements iBxDolCon
             $aResult['meta'] = $oMetaMenu->getCodeAPI();
         }
 
+        $this->decodeDataAPICommonFields($aResult, $aData, $aParams);
+        
         return $aResult;
     }
 

+ 3 - 1
upgrade/files/15.0.0.A2-15.0.0.B1/files/modules/base/text/classes/BxBaseModTextModule.php

@@ -658,7 +658,7 @@ class BxBaseModTextModule extends BxBaseModGeneralModule implements iBxDolConten
             'title' => $aData[$CNF['FIELD_TITLE']],
             'url' => bx_api_get_relative_url($this->serviceGetLink($iId)),
             'image' => $this->serviceGetThumb($iId),
-            'summary_plain' => $sSummary
+            'summary_plain' => $sSummary,
         ];
 
         if(isset($aParams['extended']) && $aParams['extended'] === true)
@@ -670,6 +670,8 @@ class BxBaseModTextModule extends BxBaseModGeneralModule implements iBxDolConten
             $aResult['meta'] = $oMetaMenu->getCodeAPI();
         }
 
+        $this->decodeDataAPICommonFields($aResult, $aData, $aParams);
+
         return $aResult;
     }
 

+ 2 - 2
upgrade/files/15.0.0.A2-15.0.0.B1/files/plugins/composer/installed.php

@@ -3,7 +3,7 @@
         'name' => 'unaio/una',
         'pretty_version' => 'dev-master',
         'version' => 'dev-master',
-        'reference' => 'c8ec6a81738667258c2c613d73497320a42953b6',
+        'reference' => 'f55e7eb0b47ac7496de7f804c6842e3d39b72f10',
         'type' => 'library',
         'install_path' => __DIR__ . '/../../',
         'aliases' => array(),
@@ -356,7 +356,7 @@
         'unaio/una' => array(
             'pretty_version' => 'dev-master',
             'version' => 'dev-master',
-            'reference' => 'c8ec6a81738667258c2c613d73497320a42953b6',
+            'reference' => 'f55e7eb0b47ac7496de7f804c6842e3d39b72f10',
             'type' => 'library',
             'install_path' => __DIR__ . '/../../',
             'aliases' => array(),

+ 1 - 1
upgrade/files/15.0.0.A2-15.0.0.B1/files/plugins_public/highlight/highlight.min.js

@@ -1,5 +1,5 @@
 /*!
-  Highlight.js v11.11.1 (git: c8ec6a8173)
+  Highlight.js v11.11.1 (git: f55e7eb0b4)
   (c) 2006-2026 Josh Goebel <hello@joshgoebel.com> and other contributors
   License: BSD-3-Clause
  */

+ 6 - 5
upgrade/files/15.0.0.A2-15.0.0.B1/files/template/scripts/BxBaseCmts.php

@@ -37,16 +37,17 @@ class BxBaseCmts extends BxDolCmts
         $this->_sTmplNameItem = 'comment.html';
         $this->_sTmplNameItemContent = 'comment_content.html';
 
+        $this->_sStylePrefix = $this->_aSystem['root_style_prefix'] ?? 'cmt';
+
         $this->_sJsObjClass = 'BxDolCmts';
-        $this->_sJsObjName = 'oCmts' . bx_gen_method_name($sSystem, array('_' , '-')) . '_' .str_replace('-', 'n', $iId);
-        $this->_sStylePrefix = isset($this->_aSystem['root_style_prefix']) ? $this->_aSystem['root_style_prefix'] : 'cmt';
+        $this->_sJsObjName = 'oCmts' . bx_gen_method_name($sSystem, ['_' , '-']) . '_' . ($iId ?? 0);
 
-        $sHtmlId = str_replace(array('_' , ' '), array('-', '-'), $sSystem) . '-' . $iId;
+        $sHtmlId = str_replace(['_' , ' '], ['-', '-'], $sSystem) . '-' . ($iId ?? 0);
 
-        $this->_aHtmlIds = array(
+        $this->_aHtmlIds = [
             'main' => 'bx-cmt-' . $sHtmlId,
             'counter' => 'bx-cmt-counter-' . $sHtmlId
-        );
+        ];
 
         $this->_aElementDefaults = [
             'show_do_comment_as_button' => false,