Commit d48f4e82e83a4d4821137976722189b2a0f1b244
1 parent
700765ca
Add a layer of indirection around array_merge. kt_array_merge will use
array_merge directly on PHP4, but convert each parameter to an array when on PHP5. git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@5173 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
23 changed files
with
68 additions
and
43 deletions
lib/actions/documentaction.inc.php
| @@ -141,7 +141,7 @@ class KTDocumentAction extends KTStandardDispatcher { | @@ -141,7 +141,7 @@ class KTDocumentAction extends KTStandardDispatcher { | ||
| 141 | "documentaction" => "viewDocument", | 141 | "documentaction" => "viewDocument", |
| 142 | "folderaction" => "browse", | 142 | "folderaction" => "browse", |
| 143 | ); | 143 | ); |
| 144 | - $this->aBreadcrumbs = array_merge($this->aBreadcrumbs, | 144 | + $this->aBreadcrumbs = kt_array_merge($this->aBreadcrumbs, |
| 145 | KTBrowseUtil::breadcrumbsForDocument($this->oDocument, $aOptions)); | 145 | KTBrowseUtil::breadcrumbsForDocument($this->oDocument, $aOptions)); |
| 146 | 146 | ||
| 147 | $actions = KTDocumentActionUtil::getDocumentActionsForDocument($this->oDocument, $this->oUser); | 147 | $actions = KTDocumentActionUtil::getDocumentActionsForDocument($this->oDocument, $this->oUser); |
lib/actions/folderaction.inc.php
| @@ -136,7 +136,7 @@ class KTFolderAction extends KTStandardDispatcher { | @@ -136,7 +136,7 @@ class KTFolderAction extends KTStandardDispatcher { | ||
| 136 | "documentaction" => "viewDocument", | 136 | "documentaction" => "viewDocument", |
| 137 | "folderaction" => "browse", | 137 | "folderaction" => "browse", |
| 138 | ); | 138 | ); |
| 139 | - $this->aBreadcrumbs = array_merge($this->aBreadcrumbs, | 139 | + $this->aBreadcrumbs = kt_array_merge($this->aBreadcrumbs, |
| 140 | KTBrowseUtil::breadcrumbsForFolder($this->oFolder, $aOptions)); | 140 | KTBrowseUtil::breadcrumbsForFolder($this->oFolder, $aOptions)); |
| 141 | 141 | ||
| 142 | $portlet = new KTActionPortlet(_kt("Folder Actions")); | 142 | $portlet = new KTActionPortlet(_kt("Folder Actions")); |
lib/browse/Criteria.inc
| @@ -448,7 +448,7 @@ class GenericMetadataCriterion extends BrowseCriterion { | @@ -448,7 +448,7 @@ class GenericMetadataCriterion extends BrowseCriterion { | ||
| 448 | function searchSQL ($aRequest) { | 448 | function searchSQL ($aRequest) { |
| 449 | $p = parent::searchSQL($aRequest); | 449 | $p = parent::searchSQL($aRequest); |
| 450 | $p[0] = join(' AND ', array($p[0], "$this->sSearchTable.document_field_id = ?")); | 450 | $p[0] = join(' AND ', array($p[0], "$this->sSearchTable.document_field_id = ?")); |
| 451 | - $p[1] = array_merge($p[1], array($this->iID)); | 451 | + $p[1] = kt_array_merge($p[1], array($this->iID)); |
| 452 | return $p; | 452 | return $p; |
| 453 | } | 453 | } |
| 454 | 454 | ||
| @@ -717,7 +717,7 @@ class Criteria { | @@ -717,7 +717,7 @@ class Criteria { | ||
| 717 | } | 717 | } |
| 718 | $aQuery = array("SELECT id FROM $default->document_fields_table", array()); /*ok*/ | 718 | $aQuery = array("SELECT id FROM $default->document_fields_table", array()); /*ok*/ |
| 719 | $aIDs = DBUtil::getResultArrayKey($aQuery, 'id'); | 719 | $aIDs = DBUtil::getResultArrayKey($aQuery, 'id'); |
| 720 | - $aAllCriteriaIDs = array_merge(array_keys($aBaseCriteria), $aIDs); | 720 | + $aAllCriteriaIDs = kt_array_merge(array_keys($aBaseCriteria), $aIDs); |
| 721 | foreach ($aAllCriteriaIDs as $iID) { | 721 | foreach ($aAllCriteriaIDs as $iID) { |
| 722 | $oCriterion =& Criteria::getCriterionByNumber($iID); | 722 | $oCriterion =& Criteria::getCriterionByNumber($iID); |
| 723 | $aAllCriteria[$iID] =& $oCriterion; | 723 | $aAllCriteria[$iID] =& $oCriterion; |
lib/browse/PartialQuery.inc.php
| @@ -126,8 +126,8 @@ class BrowseQuery extends PartialQuery{ | @@ -126,8 +126,8 @@ class BrowseQuery extends PartialQuery{ | ||
| 126 | KTUtil::getTableName("document_content_version"), | 126 | KTUtil::getTableName("document_content_version"), |
| 127 | $this->sDocumentJoinClause, $sPermissionJoin, $sWhere); | 127 | $this->sDocumentJoinClause, $sPermissionJoin, $sWhere); |
| 128 | $aParams = array(); | 128 | $aParams = array(); |
| 129 | - $aParams = array_merge($aParams, $this->aDocumentJoinParams); | ||
| 130 | - $aParams = array_merge($aParams, $aPermissionParams); | 129 | + $aParams = kt_array_merge($aParams, $this->aDocumentJoinParams); |
| 130 | + $aParams = kt_array_merge($aParams, $aPermissionParams); | ||
| 131 | $aParams[] = $this->folder_id; | 131 | $aParams[] = $this->folder_id; |
| 132 | return array($sQuery, $aParams); | 132 | return array($sQuery, $aParams); |
| 133 | } | 133 | } |
| @@ -159,7 +159,7 @@ class BrowseQuery extends PartialQuery{ | @@ -159,7 +159,7 @@ class BrowseQuery extends PartialQuery{ | ||
| 159 | 159 | ||
| 160 | $sQuery = "SELECT $sSelect FROM " . KTUtil::getTableName("folders") . " AS F $sPermissionJoin $sWhere "; | 160 | $sQuery = "SELECT $sSelect FROM " . KTUtil::getTableName("folders") . " AS F $sPermissionJoin $sWhere "; |
| 161 | $aParams = array(); | 161 | $aParams = array(); |
| 162 | - $aParams = array_merge($aParams, $aPermissionParams); | 162 | + $aParams = kt_array_merge($aParams, $aPermissionParams); |
| 163 | $aParams[] = $this->folder_id; | 163 | $aParams[] = $this->folder_id; |
| 164 | return array($sQuery, $aParams); | 164 | return array($sQuery, $aParams); |
| 165 | } | 165 | } |
| @@ -470,7 +470,7 @@ class ArchivedBrowseQuery extends BrowseQuery { | @@ -470,7 +470,7 @@ class ArchivedBrowseQuery extends BrowseQuery { | ||
| 470 | KTUtil::getTableName("document_content_version"), | 470 | KTUtil::getTableName("document_content_version"), |
| 471 | $sPermissionJoin, $sWhere); | 471 | $sPermissionJoin, $sWhere); |
| 472 | $aParams = array(); | 472 | $aParams = array(); |
| 473 | - $aParams = array_merge($aParams, $aPermissionParams); | 473 | + $aParams = kt_array_merge($aParams, $aPermissionParams); |
| 474 | $aParams[] = $this->folder_id; | 474 | $aParams[] = $this->folder_id; |
| 475 | return array($sQuery, $aParams); | 475 | return array($sQuery, $aParams); |
| 476 | } | 476 | } |
lib/browse/browseutil.inc.php
| @@ -322,7 +322,7 @@ class KTBrowseUtil { | @@ -322,7 +322,7 @@ class KTBrowseUtil { | ||
| 322 | WHERE | 322 | WHERE |
| 323 | PLA.permission_descriptor_id IN ($sPermissionDescriptors) | 323 | PLA.permission_descriptor_id IN ($sPermissionDescriptors) |
| 324 | AND NOT (PLA2.permission_descriptor_id IN ($sPermissionDescriptors))"; | 324 | AND NOT (PLA2.permission_descriptor_id IN ($sPermissionDescriptors))"; |
| 325 | - $aParams = array_merge(array($oPermission->getId(), $oPermission->getId()), $aPermissionDescriptors, $aPermissionDescriptors); | 325 | + $aParams = kt_array_merge(array($oPermission->getId(), $oPermission->getId()), $aPermissionDescriptors, $aPermissionDescriptors); |
| 326 | $res = DBUtil::getResultArrayKey(array($sQuery, $aParams), 'id'); | 326 | $res = DBUtil::getResultArrayKey(array($sQuery, $aParams), 'id'); |
| 327 | 327 | ||
| 328 | if (PEAR::isError($res)) { | 328 | if (PEAR::isError($res)) { |
lib/config/config.inc.php
| @@ -84,7 +84,7 @@ class KTConfig { | @@ -84,7 +84,7 @@ class KTConfig { | ||
| 84 | $this->setns(null, $seck, $secv); | 84 | $this->setns(null, $seck, $secv); |
| 85 | } | 85 | } |
| 86 | } | 86 | } |
| 87 | - $this->conf = array_merge($this->conf, $conf["root"]); | 87 | + $this->conf = kt_array_merge($this->conf, $conf["root"]); |
| 88 | } | 88 | } |
| 89 | 89 | ||
| 90 | function setns($seck, $k, $v, $bDefault = false) { | 90 | function setns($seck, $k, $v, $bDefault = false) { |
lib/database/dbutil.inc
| @@ -180,7 +180,7 @@ class DBUtil { | @@ -180,7 +180,7 @@ class DBUtil { | ||
| 180 | $aWhereFields[] = $k . ' = ?'; | 180 | $aWhereFields[] = $k . ' = ?'; |
| 181 | } | 181 | } |
| 182 | $sWhere = join(' AND ', $aWhereFields); | 182 | $sWhere = join(' AND ', $aWhereFields); |
| 183 | - $aValues = array_merge(array_values($aFieldValues), array_values($aWhereFieldValues)); | 183 | + $aValues = kt_array_merge(array_values($aFieldValues), array_values($aWhereFieldValues)); |
| 184 | 184 | ||
| 185 | $sth = $db->autoPrepare($sTable, array_keys($aFieldValues), DB_AUTOQUERY_UPDATE, $sWhere); | 185 | $sth = $db->autoPrepare($sTable, array_keys($aFieldValues), DB_AUTOQUERY_UPDATE, $sWhere); |
| 186 | $res =& $db->execute($sth, array_values($aValues)); | 186 | $res =& $db->execute($sth, array_values($aValues)); |
lib/documentmanagement/documentutil.inc.php
| @@ -217,7 +217,7 @@ class KTDocumentUtil { | @@ -217,7 +217,7 @@ class KTDocumentUtil { | ||
| 217 | // {{{ validateMetadata | 217 | // {{{ validateMetadata |
| 218 | function validateMetadata(&$oDocument, $aMetadata) { | 218 | function validateMetadata(&$oDocument, $aMetadata) { |
| 219 | $aFieldsets =& KTFieldset::getGenericFieldsets(); | 219 | $aFieldsets =& KTFieldset::getGenericFieldsets(); |
| 220 | - $aFieldsets =& array_merge($aFieldsets, | 220 | + $aFieldsets =& kt_array_merge($aFieldsets, |
| 221 | KTFieldset::getForDocumentType($oDocument->getDocumentTypeId())); | 221 | KTFieldset::getForDocumentType($oDocument->getDocumentTypeId())); |
| 222 | $aSimpleMetadata = array(); | 222 | $aSimpleMetadata = array(); |
| 223 | foreach ($aMetadata as $aSingleMetadatum) { | 223 | foreach ($aMetadata as $aSingleMetadatum) { |
lib/foldermanagement/folderutil.inc.php
| @@ -250,7 +250,7 @@ class KTFolderUtil { | @@ -250,7 +250,7 @@ class KTFolderUtil { | ||
| 250 | 250 | ||
| 251 | // child folders. | 251 | // child folders. |
| 252 | $aCFIds = Folder::getList(array('parent_id = ?', array($iFolderId)), array('ids' => true)); | 252 | $aCFIds = Folder::getList(array('parent_id = ?', array($iFolderId)), array('ids' => true)); |
| 253 | - $aRemainingFolders = array_merge($aRemainingFolders, $aCFIds); | 253 | + $aRemainingFolders = kt_array_merge($aRemainingFolders, $aCFIds); |
| 254 | } | 254 | } |
| 255 | 255 | ||
| 256 | // FIXME we could subdivide this to provide a per-item display (viz. bulk upload, etc.) | 256 | // FIXME we could subdivide this to provide a per-item display (viz. bulk upload, etc.) |
| @@ -346,7 +346,7 @@ class KTFolderUtil { | @@ -346,7 +346,7 @@ class KTFolderUtil { | ||
| 346 | 346 | ||
| 347 | // child folders. | 347 | // child folders. |
| 348 | $aCFIds = Folder::getList(array('parent_id = ?', array($iFolderId)), array('ids' => true)); | 348 | $aCFIds = Folder::getList(array('parent_id = ?', array($iFolderId)), array('ids' => true)); |
| 349 | - $aRemainingFolders = array_merge($aRemainingFolders, $aCFIds); | 349 | + $aRemainingFolders = kt_array_merge($aRemainingFolders, $aCFIds); |
| 350 | } | 350 | } |
| 351 | 351 | ||
| 352 | if ((!empty($aFailedDocuments) || (!empty($aFailedFolders)))) { | 352 | if ((!empty($aFailedDocuments) || (!empty($aFailedFolders)))) { |
| @@ -419,7 +419,7 @@ class KTFolderUtil { | @@ -419,7 +419,7 @@ class KTFolderUtil { | ||
| 419 | } | 419 | } |
| 420 | 420 | ||
| 421 | $aCFIds = Folder::getList(array('parent_id = ?', array($iFolderId)), array('ids' => true)); | 421 | $aCFIds = Folder::getList(array('parent_id = ?', array($iFolderId)), array('ids' => true)); |
| 422 | - $aRemainingFolders = array_merge($aRemainingFolders, $aCFIds); | 422 | + $aRemainingFolders = kt_array_merge($aRemainingFolders, $aCFIds); |
| 423 | } | 423 | } |
| 424 | 424 | ||
| 425 | 425 |
lib/groups/GroupUtil.php
| @@ -143,7 +143,7 @@ class GroupUtil { | @@ -143,7 +143,7 @@ class GroupUtil { | ||
| 143 | "is_unit_admin" => false, | 143 | "is_unit_admin" => false, |
| 144 | "is_system_admin" => false, | 144 | "is_system_admin" => false, |
| 145 | ); | 145 | ); |
| 146 | - $aDetails = array_merge($aDefaultDetails, $aGroupDetails); | 146 | + $aDetails = kt_array_merge($aDefaultDetails, $aGroupDetails); |
| 147 | if (is_null(KTUtil::arrayGet($aDetails, "name"))) { | 147 | if (is_null(KTUtil::arrayGet($aDetails, "name"))) { |
| 148 | return PEAR::raiseError("Needed key name is not provided"); | 148 | return PEAR::raiseError("Needed key name is not provided"); |
| 149 | } | 149 | } |
| @@ -172,7 +172,7 @@ class GroupUtil { | @@ -172,7 +172,7 @@ class GroupUtil { | ||
| 172 | $aDefaultOptions = array( | 172 | $aDefaultOptions = array( |
| 173 | //"active" => true, | 173 | //"active" => true, |
| 174 | ); | 174 | ); |
| 175 | - $aOptions = array_merge($aDefaultOptions, $aGivenOptions); | 175 | + $aOptions = kt_array_merge($aDefaultOptions, $aGivenOptions); |
| 176 | 176 | ||
| 177 | $aWhere = array(); | 177 | $aWhere = array(); |
| 178 | /* if ($aOptions["active"] === true) { | 178 | /* if ($aOptions["active"] === true) { |
| @@ -250,7 +250,7 @@ class GroupUtil { | @@ -250,7 +250,7 @@ class GroupUtil { | ||
| 250 | foreach ($aGroupIDs as $iGroupID) { | 250 | foreach ($aGroupIDs as $iGroupID) { |
| 251 | $aExtraIDs = KTUtil::arrayGet($aGroupArray, $iGroupID); | 251 | $aExtraIDs = KTUtil::arrayGet($aGroupArray, $iGroupID); |
| 252 | if (is_array($aExtraIDs)) { | 252 | if (is_array($aExtraIDs)) { |
| 253 | - $aGroupIDs = array_merge($aGroupIDs, $aExtraIDs); | 253 | + $aGroupIDs = kt_array_merge($aGroupIDs, $aExtraIDs); |
| 254 | } | 254 | } |
| 255 | } | 255 | } |
| 256 | $aGroupIDs = array_unique($aGroupIDs); | 256 | $aGroupIDs = array_unique($aGroupIDs); |
| @@ -319,7 +319,7 @@ class GroupUtil { | @@ -319,7 +319,7 @@ class GroupUtil { | ||
| 319 | if (is_null($aStuff)) { | 319 | if (is_null($aStuff)) { |
| 320 | continue; | 320 | continue; |
| 321 | } | 321 | } |
| 322 | - $v = array_unique(array_merge($v, $aStuff)); | 322 | + $v = array_unique(kt_array_merge($v, $aStuff)); |
| 323 | sort($v); | 323 | sort($v); |
| 324 | } | 324 | } |
| 325 | $aExpandedGroups[$k] = $v; | 325 | $aExpandedGroups[$k] = $v; |
| @@ -351,7 +351,7 @@ class GroupUtil { | @@ -351,7 +351,7 @@ class GroupUtil { | ||
| 351 | $sTable = KTUtil::getTableName('users_groups'); | 351 | $sTable = KTUtil::getTableName('users_groups'); |
| 352 | $sQuery = 'SELECT group_id FROM ' . $sTable . ' WHERE user_id = ? AND group_id IN (' . DBUtil::paramArray($aSubgroups) . ')'; | 352 | $sQuery = 'SELECT group_id FROM ' . $sTable . ' WHERE user_id = ? AND group_id IN (' . DBUtil::paramArray($aSubgroups) . ')'; |
| 353 | $aParams = array($oUser->getId()); | 353 | $aParams = array($oUser->getId()); |
| 354 | - $aParams = array_merge($aParams, $aSubgroups); | 354 | + $aParams = kt_array_merge($aParams, $aSubgroups); |
| 355 | 355 | ||
| 356 | $res = DBUtil::getOneResult(array($sQuery, $aParams)); | 356 | $res = DBUtil::getOneResult(array($sQuery, $aParams)); |
| 357 | if (PEAR::isError($res)) { | 357 | if (PEAR::isError($res)) { |
lib/help/help.inc.php
| @@ -51,7 +51,7 @@ class KTHelp { | @@ -51,7 +51,7 @@ class KTHelp { | ||
| 51 | 51 | ||
| 52 | $final_path = array(null,'kthelp', $path_segments[0]); | 52 | $final_path = array(null,'kthelp', $path_segments[0]); |
| 53 | $final_path[] = $lang_code; | 53 | $final_path[] = $lang_code; |
| 54 | - $final_path = array_merge($final_path, array_slice($path_segments, 1)); | 54 | + $final_path = kt_array_merge($final_path, array_slice($path_segments, 1)); |
| 55 | 55 | ||
| 56 | $help_path = implode('/',$final_path); | 56 | $help_path = implode('/',$final_path); |
| 57 | 57 |
lib/metadata/metadatautil.inc.php
| @@ -646,7 +646,7 @@ class KTMetadataUtil { | @@ -646,7 +646,7 @@ class KTMetadataUtil { | ||
| 646 | $aGenericFieldsetIds = KTFieldset::getGenericFieldsets(array('ids' => true)); | 646 | $aGenericFieldsetIds = KTFieldset::getGenericFieldsets(array('ids' => true)); |
| 647 | $aSpecificFieldsetIds = KTFieldset::getForDocumentType($iDocumentTypeId, array('ids' => true)); | 647 | $aSpecificFieldsetIds = KTFieldset::getForDocumentType($iDocumentTypeId, array('ids' => true)); |
| 648 | 648 | ||
| 649 | - $aFieldsetIds = array_merge($aDocumentFieldsetIds, $aGenericFieldsetIds, $aSpecificFieldsetIds); | 649 | + $aFieldsetIds = kt_array_merge($aDocumentFieldsetIds, $aGenericFieldsetIds, $aSpecificFieldsetIds); |
| 650 | $aFieldsetIds = array_unique($aFieldsetIds); | 650 | $aFieldsetIds = array_unique($aFieldsetIds); |
| 651 | sort($aFieldsetIds); | 651 | sort($aFieldsetIds); |
| 652 | 652 |
lib/permissions/permissiondescriptor.inc.php
| @@ -179,7 +179,7 @@ class KTPermissionDescriptor extends KTEntity { | @@ -179,7 +179,7 @@ class KTPermissionDescriptor extends KTEntity { | ||
| 179 | $sQuery = "SELECT COUNT(group_id) AS num FROM $sTable | 179 | $sQuery = "SELECT COUNT(group_id) AS num FROM $sTable |
| 180 | WHERE descriptor_id = ? AND group_id IN ($sGroupIDs)"; | 180 | WHERE descriptor_id = ? AND group_id IN ($sGroupIDs)"; |
| 181 | $aParams = array($this->getID()); | 181 | $aParams = array($this->getID()); |
| 182 | - $aParams = array_merge($aParams, $aGroupIDs); | 182 | + $aParams = kt_array_merge($aParams, $aGroupIDs); |
| 183 | $res = DBUtil::getOneResultKey(array($sQuery, $aParams), 'num'); | 183 | $res = DBUtil::getOneResultKey(array($sQuery, $aParams), 'num'); |
| 184 | if (PEAR::isError($res)) { | 184 | if (PEAR::isError($res)) { |
| 185 | return $res; | 185 | return $res; |
| @@ -288,7 +288,7 @@ class KTPermissionDescriptor extends KTEntity { | @@ -288,7 +288,7 @@ class KTPermissionDescriptor extends KTEntity { | ||
| 288 | $sQuery = "SELECT COUNT(role_id) AS num FROM $sTable | 288 | $sQuery = "SELECT COUNT(role_id) AS num FROM $sTable |
| 289 | WHERE descriptor_id = ? AND role_id IN ($sRoleIDs)"; | 289 | WHERE descriptor_id = ? AND role_id IN ($sRoleIDs)"; |
| 290 | $aParams = array($this->getID()); | 290 | $aParams = array($this->getID()); |
| 291 | - $aParams = array_merge($aParams, $aRoleIDs); | 291 | + $aParams = kt_array_merge($aParams, $aRoleIDs); |
| 292 | $res = DBUtil::getOneResultKey(array($sQuery, $aParams), 'num'); | 292 | $res = DBUtil::getOneResultKey(array($sQuery, $aParams), 'num'); |
| 293 | if (PEAR::isError($res)) { | 293 | if (PEAR::isError($res)) { |
| 294 | return $res; | 294 | return $res; |
| @@ -397,7 +397,7 @@ class KTPermissionDescriptor extends KTEntity { | @@ -397,7 +397,7 @@ class KTPermissionDescriptor extends KTEntity { | ||
| 397 | $sQuery = "SELECT COUNT(user_id) AS num FROM $sTable | 397 | $sQuery = "SELECT COUNT(user_id) AS num FROM $sTable |
| 398 | WHERE descriptor_id = ? AND user_id IN ($sUserIDs)"; | 398 | WHERE descriptor_id = ? AND user_id IN ($sUserIDs)"; |
| 399 | $aParams = array($this->getID()); | 399 | $aParams = array($this->getID()); |
| 400 | - $aParams = array_merge($aParams, $aUserIDs); | 400 | + $aParams = kt_array_merge($aParams, $aUserIDs); |
| 401 | $res = DBUtil::getOneResultKey(array($sQuery, $aParams), 'num'); | 401 | $res = DBUtil::getOneResultKey(array($sQuery, $aParams), 'num'); |
| 402 | if (PEAR::isError($res)) { | 402 | if (PEAR::isError($res)) { |
| 403 | return $res; | 403 | return $res; |
lib/permissions/permissionutil.inc.php
| @@ -324,8 +324,8 @@ class KTPermissionUtil { | @@ -324,8 +324,8 @@ class KTPermissionUtil { | ||
| 324 | } | 324 | } |
| 325 | // roles are _not_ always assigned (can be null at root) | 325 | // roles are _not_ always assigned (can be null at root) |
| 326 | if (!is_null($_roleCache[$iRoleId])) { | 326 | if (!is_null($_roleCache[$iRoleId])) { |
| 327 | - $aMapPermAllowed[$iPermissionId]['user'] = array_merge($aAllowed['user'], $_roleCache[$iRoleId]->getUserIds()); | ||
| 328 | - $aMapPermAllowed[$iPermissionId]['group'] = array_merge($aAllowed['group'], $_roleCache[$iRoleId]->getGroupIds()); | 327 | + $aMapPermAllowed[$iPermissionId]['user'] = kt_array_merge($aAllowed['user'], $_roleCache[$iRoleId]->getUserIds()); |
| 328 | + $aMapPermAllowed[$iPermissionId]['group'] = kt_array_merge($aAllowed['group'], $_roleCache[$iRoleId]->getGroupIds()); | ||
| 329 | // naturally, roles cannot be assigned roles, or madness follows. | 329 | // naturally, roles cannot be assigned roles, or madness follows. |
| 330 | } | 330 | } |
| 331 | } | 331 | } |
lib/search/searchutil.inc.php
| @@ -94,7 +94,7 @@ class KTSearchUtil { | @@ -94,7 +94,7 @@ class KTSearchUtil { | ||
| 94 | foreach ($aSQL as $sSQL) { | 94 | foreach ($aSQL as $sSQL) { |
| 95 | if (is_array($sSQL)) { | 95 | if (is_array($sSQL)) { |
| 96 | $aCritQueries[] = '('.$sSQL[0].')'; | 96 | $aCritQueries[] = '('.$sSQL[0].')'; |
| 97 | - $aCritParams = array_merge($aCritParams , $sSQL[1]); | 97 | + $aCritParams = kt_array_merge($aCritParams , $sSQL[1]); |
| 98 | } else { | 98 | } else { |
| 99 | $aCritQueries[] = '('.$sSQL.')'; | 99 | $aCritQueries[] = '('.$sSQL.')'; |
| 100 | } | 100 | } |
| @@ -141,8 +141,8 @@ class KTSearchUtil { | @@ -141,8 +141,8 @@ class KTSearchUtil { | ||
| 141 | $aSubgroup = KTUtil::arrayGet($aOneCriteriaSet, "subgroup"); | 141 | $aSubgroup = KTUtil::arrayGet($aOneCriteriaSet, "subgroup"); |
| 142 | if (!empty($aValues)) { | 142 | if (!empty($aValues)) { |
| 143 | list($aThisCritQueries, $aThisParams, $aThisJoinSQL) = KTSearchUtil::_oneCriteriaSetToSQL($aOneCriteriaSet["values"]); | 143 | list($aThisCritQueries, $aThisParams, $aThisJoinSQL) = KTSearchUtil::_oneCriteriaSetToSQL($aOneCriteriaSet["values"]); |
| 144 | - $aJoinSQL = array_merge($aJoinSQL, $aThisJoinSQL); | ||
| 145 | - $aParams = array_merge($aParams, $aThisParams); | 144 | + $aJoinSQL = kt_array_merge($aJoinSQL, $aThisJoinSQL); |
| 145 | + $aParams = kt_array_merge($aParams, $aThisParams); | ||
| 146 | $tabs = str_repeat("\t", ($iRecurseLevel + 2)); | 146 | $tabs = str_repeat("\t", ($iRecurseLevel + 2)); |
| 147 | $aSearchStrings[] = "\n$tabs(\n$tabs\t" . join("\n " . KTUtil::arrayGet($aOneCriteriaSet, 'join', "AND") . " ", $aThisCritQueries) . "\n$tabs)"; | 147 | $aSearchStrings[] = "\n$tabs(\n$tabs\t" . join("\n " . KTUtil::arrayGet($aOneCriteriaSet, 'join', "AND") . " ", $aThisCritQueries) . "\n$tabs)"; |
| 148 | } else if (!empty($aSubgroup)) { | 148 | } else if (!empty($aSubgroup)) { |
| @@ -154,7 +154,7 @@ class KTSearchUtil { | @@ -154,7 +154,7 @@ class KTSearchUtil { | ||
| 154 | list($sThisSearchString, $aThisParams, $sThisJoinSQL) = | 154 | list($sThisSearchString, $aThisParams, $sThisJoinSQL) = |
| 155 | KTSearchUtil::criteriaSetToSQL($aOneCriteriaSet, $iRecurseLevel + 1); | 155 | KTSearchUtil::criteriaSetToSQL($aOneCriteriaSet, $iRecurseLevel + 1); |
| 156 | $aJoinSQL[] = $sThisJoinSQL; | 156 | $aJoinSQL[] = $sThisJoinSQL; |
| 157 | - $aParams = array_merge($aParams, $aThisParams); | 157 | + $aParams = kt_array_merge($aParams, $aThisParams); |
| 158 | $aSearchStrings[] = $sThisSearchString; | 158 | $aSearchStrings[] = $sThisSearchString; |
| 159 | } | 159 | } |
| 160 | } | 160 | } |
| @@ -198,7 +198,7 @@ class KTSearchUtil { | @@ -198,7 +198,7 @@ class KTSearchUtil { | ||
| 198 | $sPermissionDescriptors = DBUtil::paramArray($aPermissionDescriptors); | 198 | $sPermissionDescriptors = DBUtil::paramArray($aPermissionDescriptors); |
| 199 | $sSQLString = "PLA.permission_descriptor_id IN ($sPermissionDescriptors)"; | 199 | $sSQLString = "PLA.permission_descriptor_id IN ($sPermissionDescriptors)"; |
| 200 | $aParams = array($oPermission->getId()); | 200 | $aParams = array($oPermission->getId()); |
| 201 | - $aParams = array_merge($aParams, $aPermissionDescriptors); | 201 | + $aParams = kt_array_merge($aParams, $aPermissionDescriptors); |
| 202 | return array($sSQLString, $aParams, $sJoinSQL); | 202 | return array($sSQLString, $aParams, $sJoinSQL); |
| 203 | } | 203 | } |
| 204 | // }}} | 204 | // }}} |
| @@ -304,10 +304,10 @@ class KTSearchUtil { | @@ -304,10 +304,10 @@ class KTSearchUtil { | ||
| 304 | // GROUP BY D.id | 304 | // GROUP BY D.id |
| 305 | 305 | ||
| 306 | $aParams = array(); | 306 | $aParams = array(); |
| 307 | - $aParams = array_merge($aParams, $aInitialJoinParams); | ||
| 308 | - $aParams = array_merge($aParams, $aPermissionParams); | 307 | + $aParams = kt_array_merge($aParams, $aInitialJoinParams); |
| 308 | + $aParams = kt_array_merge($aParams, $aPermissionParams); | ||
| 309 | $aParams[] = $sToSearch; | 309 | $aParams[] = $sToSearch; |
| 310 | - $aParams = array_merge($aParams, $aCritParams); | 310 | + $aParams = kt_array_merge($aParams, $aCritParams); |
| 311 | 311 | ||
| 312 | return array($sQuery, $aParams); | 312 | return array($sQuery, $aParams); |
| 313 | } | 313 | } |
lib/subscriptions/SubscriptionManager.inc
| @@ -139,7 +139,7 @@ class SubscriptionManager { | @@ -139,7 +139,7 @@ class SubscriptionManager { | ||
| 139 | * @return array of subscription objects | 139 | * @return array of subscription objects |
| 140 | */ | 140 | */ |
| 141 | function listSubscriptions($iUserID) { | 141 | function listSubscriptions($iUserID) { |
| 142 | - return $aSubscriptions = array_merge(SubscriptionManager::retrieveUserSubscriptions($iUserID, SubscriptionEvent::subTypes('Folder')), | 142 | + return $aSubscriptions = kt_array_merge(SubscriptionManager::retrieveUserSubscriptions($iUserID, SubscriptionEvent::subTypes('Folder')), |
| 143 | SubscriptionManager::retrieveUserSubscriptions($iUserID, SubscriptionEvent::subTypes('Document'))); | 143 | SubscriptionManager::retrieveUserSubscriptions($iUserID, SubscriptionEvent::subTypes('Document'))); |
| 144 | } | 144 | } |
| 145 | 145 | ||
| @@ -173,7 +173,7 @@ class SubscriptionManager { | @@ -173,7 +173,7 @@ class SubscriptionManager { | ||
| 173 | * @return array of subscription objects | 173 | * @return array of subscription objects |
| 174 | */ | 174 | */ |
| 175 | function listSubscriptionAlerts($iUserID) { | 175 | function listSubscriptionAlerts($iUserID) { |
| 176 | - return $aSubscriptions = array_merge(SubscriptionManager::retrieveSubscriptionAlerts($iUserID, SubscriptionEvent::subTypes("Folder")), | 176 | + return $aSubscriptions = kt_array_merge(SubscriptionManager::retrieveSubscriptionAlerts($iUserID, SubscriptionEvent::subTypes("Folder")), |
| 177 | SubscriptionManager::retrieveSubscriptionAlerts($iUserID, SubscriptionEvent::subTypes("Document"))); | 177 | SubscriptionManager::retrieveSubscriptionAlerts($iUserID, SubscriptionEvent::subTypes("Document"))); |
| 178 | } | 178 | } |
| 179 | 179 |
lib/subscriptions/subscriptions.inc.php
| @@ -619,7 +619,7 @@ class SubscriptionEvent { | @@ -619,7 +619,7 @@ class SubscriptionEvent { | ||
| 619 | // after this has been called. | 619 | // after this has been called. |
| 620 | function _pruneAlertedUsers($aUserIds) { | 620 | function _pruneAlertedUsers($aUserIds) { |
| 621 | $returnArray = array_diff($aUserIds, $this->alertedUsers); | 621 | $returnArray = array_diff($aUserIds, $this->alertedUsers); |
| 622 | - $this->alertedUsers = array_merge($returnArray, $this->alertedUsers); // now contains all users who will have been alerted. | 622 | + $this->alertedUsers = kt_array_merge($returnArray, $this->alertedUsers); // now contains all users who will have been alerted. |
| 623 | return $returnArray; | 623 | return $returnArray; |
| 624 | } | 624 | } |
| 625 | 625 |
lib/util/ktutil.inc
| @@ -570,4 +570,29 @@ class KTUtil { | @@ -570,4 +570,29 @@ class KTUtil { | ||
| 570 | 570 | ||
| 571 | } | 571 | } |
| 572 | 572 | ||
| 573 | +/** | ||
| 574 | + * | ||
| 575 | + * Merges two arrays using array_merge | ||
| 576 | + * | ||
| 577 | + * array_merge in PHP5 got more strict about its parameter handling, | ||
| 578 | + * forcing arrays. | ||
| 579 | + * | ||
| 580 | + */ | ||
| 581 | +if (version_compare(phpversion(), '5.0') === -1) { | ||
| 582 | + function kt_array_merge() { | ||
| 583 | + $args = func_get_args(); | ||
| 584 | + return call_user_func_array("array_merge",$args); | ||
| 585 | + } | ||
| 586 | +} else { | ||
| 587 | + eval(' | ||
| 588 | + function kt_array_merge() { | ||
| 589 | + $args = func_get_args(); | ||
| 590 | + foreach ($args as &$arg) { | ||
| 591 | + $arg = (array)$arg; | ||
| 592 | + } | ||
| 593 | + return call_user_func_array("array_merge",$args); | ||
| 594 | + } | ||
| 595 | + '); | ||
| 596 | +} | ||
| 597 | + | ||
| 573 | ?> | 598 | ?> |
lib/workflow/workflowutil.inc.php
| @@ -591,7 +591,7 @@ class KTWorkflowUtil { | @@ -591,7 +591,7 @@ class KTWorkflowUtil { | ||
| 591 | $aGroupMembershipSet = GroupUtil::buildGroupArray(); | 591 | $aGroupMembershipSet = GroupUtil::buildGroupArray(); |
| 592 | $aAllIds = array_keys($aGroups); | 592 | $aAllIds = array_keys($aGroups); |
| 593 | foreach ($aGroups as $id => $oGroup) { | 593 | foreach ($aGroups as $id => $oGroup) { |
| 594 | - $aAllIds = array_merge($aGroupMembershipSet[$id], $aAllIds); | 594 | + $aAllIds = kt_array_merge($aGroupMembershipSet[$id], $aAllIds); |
| 595 | } | 595 | } |
| 596 | 596 | ||
| 597 | foreach ($aAllIds as $id) { | 597 | foreach ($aAllIds as $id) { |
plugins/ktcore/KTPermissions.php
| @@ -525,7 +525,7 @@ class KTRoleAllocationPlugin extends KTFolderAction { | @@ -525,7 +525,7 @@ class KTRoleAllocationPlugin extends KTFolderAction { | ||
| 525 | if (PEAR::isError($aNewFolders)) { | 525 | if (PEAR::isError($aNewFolders)) { |
| 526 | $this->errorRedirectToMain(_kt('Failure to generate folderlisting.')); | 526 | $this->errorRedirectToMain(_kt('Failure to generate folderlisting.')); |
| 527 | } | 527 | } |
| 528 | - $folder_queue = array_merge ($folder_queue, (array) $aNewFolders); // push. | 528 | + $folder_queue = kt_array_merge ($folder_queue, (array) $aNewFolders); // push. |
| 529 | 529 | ||
| 530 | 530 | ||
| 531 | // update the folder. | 531 | // update the folder. |
plugins/ktcore/admin/workflows.php
| @@ -256,7 +256,7 @@ class KTWorkflowDispatcher extends KTAdminDispatcher { | @@ -256,7 +256,7 @@ class KTWorkflowDispatcher extends KTAdminDispatcher { | ||
| 256 | $aNamedActions[] = $aInfo['actions_by_name'][$sName]; | 256 | $aNamedActions[] = $aInfo['actions_by_name'][$sName]; |
| 257 | } | 257 | } |
| 258 | 258 | ||
| 259 | - $aThese = array_merge($aAlways, $aNamedActions); | 259 | + $aThese = kt_array_merge($aAlways, $aNamedActions); |
| 260 | // some controlled. we need to be careful here: list actions that _are always_ available | 260 | // some controlled. we need to be careful here: list actions that _are always_ available |
| 261 | if (empty($aThese)) { return _kt('No actions available.'); } | 261 | if (empty($aThese)) { return _kt('No actions available.'); } |
| 262 | 262 |
plugins/ktstandard/KTBulkExportPlugin.php
| @@ -170,7 +170,7 @@ class KTBulkExportAction extends KTFolderAction { | @@ -170,7 +170,7 @@ class KTBulkExportAction extends KTFolderAction { | ||
| 170 | KTUtil::getTableName("document_content_version"), | 170 | KTUtil::getTableName("document_content_version"), |
| 171 | $sPermissionJoin, $sWhere); | 171 | $sPermissionJoin, $sWhere); |
| 172 | $aParams = array(); | 172 | $aParams = array(); |
| 173 | - $aParams = array_merge($aParams, $aPermissionParams); | 173 | + $aParams = kt_array_merge($aParams, $aPermissionParams); |
| 174 | $aParentFolderIds = split(',', $this->oFolder->getParentFolderIds()); | 174 | $aParentFolderIds = split(',', $this->oFolder->getParentFolderIds()); |
| 175 | $aParentFolderIds[] = $this->oFolder->getId(); | 175 | $aParentFolderIds[] = $this->oFolder->getId(); |
| 176 | if ($aParentFolderIds[0] == 0) { | 176 | if ($aParentFolderIds[0] == 0) { |
plugins/ktstandard/contents/BaseIndexer.php
| @@ -116,7 +116,7 @@ class KTBaseIndexerTrigger { | @@ -116,7 +116,7 @@ class KTBaseIndexerTrigger { | ||
| 116 | } | 116 | } |
| 117 | 117 | ||
| 118 | $cmdline = array($sCommand); | 118 | $cmdline = array($sCommand); |
| 119 | - $cmdline = array_merge($cmdline, $this->args); | 119 | + $cmdline = kt_array_merge($cmdline, $this->args); |
| 120 | $cmdline[] = $sFilename; | 120 | $cmdline[] = $sFilename; |
| 121 | 121 | ||
| 122 | $aOptions = array(); | 122 | $aOptions = array(); |