diff --git a/bin/installfog.sh b/bin/installfog.sh index 7aff57174a..84cf6ac600 100755 --- a/bin/installfog.sh +++ b/bin/installfog.sh @@ -407,7 +407,7 @@ if [[ -z $backupPath ]]; then fi [[ -z $bootfilename ]] && bootfilename="undionly.kpxe" [[ ! $doupdate -eq 1 || ! $fogupdateloaded -eq 1 ]] && . ../lib/common/input.sh -fullrelease='1.3.0' +fullrelease=0 echo echo " ######################################################################" echo " # FOG now has everything it needs for this setup, but please #" diff --git a/packages/web/commons/schema.php b/packages/web/commons/schema.php index bbe9af0ce2..5701e20dc9 100644 --- a/packages/web/commons/schema.php +++ b/packages/web/commons/schema.php @@ -2144,7 +2144,7 @@ . "WHERE `pxeName`='fog.approvehost'", ); // 130 -$this->schema[] = array_merge( +$this->schema[] = self::fastmerge( array( "ALTER TABLE `hostMAC` ADD COLUMN `hmPrimary` INT DEFAULT 0 NOT NULL", "ALTER TABLE `hostMAC` ADD COLUMN `hmPending` INT DEFAULT 0 NOT NULL", @@ -2227,7 +2227,7 @@ . "INT(11) NOT NULL AFTER msClients", ); // 136 -$this->schema[] = array_merge( +$this->schema[] = self::fastmerge( array( "ALTER TABLE `tasks` ADD COLUMN `taskImageID` " . "INT(11) NOT NULL AFTER `taskHostID`", @@ -2289,7 +2289,7 @@ . "'noreply@\$\{server-name\}.com','FOG Email Settings')", ); // 140 -$this->schema[] = array_merge( +$this->schema[] = self::fastmerge( array( "CREATE TABLE IF NOT EXISTS `snapinGroupAssoc` (" . "`sgaID` mediumint(9) NOT NULL auto_increment," @@ -2436,7 +2436,7 @@ // 160 $this->schema[] = array(); // 161 -$this->schema[] = array_merge( +$this->schema[] = self::fastmerge( $tmpSchema->dropDuplicateData( DATABASE_NAME, array( @@ -2920,7 +2920,7 @@ "UPDATE `nfsGroupMembers` SET `ngmWebroot`='/fog/'", ); // 189 -$this->schema[] = array_merge( +$this->schema[] = self::fastmerge( $tmpSchema->dropDuplicateData( DATABASE_NAME, array( diff --git a/packages/web/lib/client/servicemodule.class.php b/packages/web/lib/client/servicemodule.class.php index 0fcaf1172f..4bef0268cc 100644 --- a/packages/web/lib/client/servicemodule.class.php +++ b/packages/web/lib/client/servicemodule.class.php @@ -99,7 +99,7 @@ public function send() ); if (in_array( $mod, - array_merge( + self::fastmerge( (array)$globalDisabled, (array)$hostDisabled ) diff --git a/packages/web/lib/client/snapinclient.class.php b/packages/web/lib/client/snapinclient.class.php index a04bea9140..13f2611323 100644 --- a/packages/web/lib/client/snapinclient.class.php +++ b/packages/web/lib/client/snapinclient.class.php @@ -46,7 +46,7 @@ public function json() ->count( array( 'jobID' => $SnapinJob->get('id'), - 'stateID' => array_merge( + 'stateID' => self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ) @@ -81,7 +81,7 @@ public function json() $snapinIDs = self::getSubObjectIDs( 'SnapinTask', array( - 'stateID' => array_merge( + 'stateID' => self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ), @@ -116,7 +116,7 @@ public function json() array( 'snapinID' => $Snapin->get('id'), 'jobID' => $SnapinJob->get('id'), - 'stateID' => array_merge( + 'stateID' => self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ) @@ -228,7 +228,7 @@ public function send() ->count( array( 'jobID' => $SnapinJob->get('id'), - 'stateID' => array_merge( + 'stateID' => self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ) @@ -260,7 +260,7 @@ public function send() $snapinIDs = self::getSubObjectIDs( 'SnapinTask', array( - 'stateID' => array_merge( + 'stateID' => self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ), @@ -306,7 +306,7 @@ public function send() array( 'snapinID' => $Snapin->get('id'), 'jobID' => $SnapinJob->get('id'), - 'stateID' => array_merge( + 'stateID' => self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ) @@ -453,7 +453,7 @@ private function _closeout($Task, $SnapinJob, $date, $HostName) ->count( array( 'jobID' => $SnapinJob->get('id'), - 'stateID' => array_merge( + 'stateID' => self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ) diff --git a/packages/web/lib/fog/bootmenu.class.php b/packages/web/lib/fog/bootmenu.class.php index f4518e89a1..c492494b56 100644 --- a/packages/web/lib/fog/bootmenu.class.php +++ b/packages/web/lib/fog/bootmenu.class.php @@ -696,7 +696,7 @@ public function sesscheck() { $findWhere = array( 'name' => trim($_REQUEST['sessname']), - 'stateID' => array_merge( + 'stateID' => self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ), @@ -1649,17 +1649,17 @@ private function _menuOpt($option, $type) } } $params = trim(implode("\n", (array)$params)); - $Send = array_merge($Send, array($params)); + $Send = self::fastmerge($Send, array($params)); } switch ($option->get('id')) { case 1: - $Send = array_merge( + $Send = self::fastmerge( $Send, array("$this->_bootexittype || goto MENU") ); break; case 2: - $Send = array_merge( + $Send = self::fastmerge( $Send, array( "$this->_memdisk iso raw", @@ -1669,7 +1669,7 @@ private function _menuOpt($option, $type) ); break; case 11: - $Send = array_merge( + $Send = self::fastmerge( $Send, array( "chain -ar $this->_booturl/ipxe/advanced.php || " @@ -1679,7 +1679,7 @@ private function _menuOpt($option, $type) break; } if (!$params) { - $Send = array_merge( + $Send = self::fastmerge( $Send, array( "$this->_kernel $this->_loglevel $type", @@ -1742,7 +1742,7 @@ public function printDefault() false, '' ); - $Send['head'] = array_merge( + $Send['head'] = self::fastmerge( array( 'cpuid --ext 29 && set arch x86_64 || set arch i386', 'goto get_console', @@ -1772,7 +1772,7 @@ public function printDefault() "registered as {$this->_Host->get(name)}!" ); } - $Send['menustart'] = array_merge( + $Send['menustart'] = self::fastmerge( array( ':MENU', 'menu', diff --git a/packages/web/lib/fog/fogbase.class.php b/packages/web/lib/fog/fogbase.class.php index 540dcf9284..1e79e47cad 100644 --- a/packages/web/lib/fog/fogbase.class.php +++ b/packages/web/lib/fog/fogbase.class.php @@ -1608,7 +1608,7 @@ public function parseMacList( $existingMACs = array_filter($existingMACs); $existingMACs = array_unique($existingMACs); $existingMACs = array_values($existingMACs); - $MACs = array_merge((array) $MACs, (array) $existingMACs); + $MACs = self::fastmerge((array) $MACs, (array) $existingMACs); $MACs = array_unique($MACs); } if ($client) { @@ -2103,7 +2103,7 @@ protected static function getIPAddress() }; $IPs = array_map($retIPs, (array) $IPs); $Names = array_map($retNames, (array) $IPs); - $output = array_merge($IPs, $Names); + $output = self::fastmerge($IPs, $Names); unset($IPs, $Names); natcasesort($output); self::$ips = array_values(array_filter(array_unique((array) $output))); @@ -2219,4 +2219,29 @@ public function wakeUp($macs) false ); } + /** + * Faster array merge operation. + * + * @param array $array1 The array to merge with. + * + * @return array + */ + public static function fastmerge($array1) + { + $others = func_get_args(); + array_shift($others); + foreach ((array)$others as &$other) { + foreach ((array)$other as $key => &$oth) { + if (is_numeric($key)) { + $array1[] = $oth; + continue; + } + unset($oth); + } + $array1 += $other; + unset($other); + } + + return $array1; + } } diff --git a/packages/web/lib/fog/fogcontroller.class.php b/packages/web/lib/fog/fogcontroller.class.php index 470440bb96..0a46691daf 100644 --- a/packages/web/lib/fog/fogcontroller.class.php +++ b/packages/web/lib/fog/fogcontroller.class.php @@ -1079,7 +1079,7 @@ public function setQuery(&$queryData) unset($db_key, $obj_key); } } - $this->data = array_merge( + $this->data = self::fastmerge( (array) $this->data, (array) $classData ); diff --git a/packages/web/lib/fog/fogmanagercontroller.class.php b/packages/web/lib/fog/fogmanagercontroller.class.php index 123fbc3ae0..c32456f7c2 100644 --- a/packages/web/lib/fog/fogmanagercontroller.class.php +++ b/packages/web/lib/fog/fogmanagercontroller.class.php @@ -797,7 +797,7 @@ public function update( '' ) ); - $queryVals = array_merge( + $queryVals = self::fastmerge( (array) $updateVals, (array) $findVals ); @@ -1104,7 +1104,7 @@ public function search($keyword = '', $returnObjects = false) '', 'OR' ); - $HostIDs = array_merge( + $HostIDs = self::fastmerge( $HostIDs, $macHostIDs, $invHostIDs @@ -1139,7 +1139,7 @@ public function search($keyword = '', $returnObjects = false) 'OR' ); if (count($ImageIDs) > 0) { - $itemIDs = array_merge( + $itemIDs = self::fastmerge( $itemIDs, self::getSubObjectIDs( 'Host', @@ -1148,7 +1148,7 @@ public function search($keyword = '', $returnObjects = false) ); } if (count($GroupIDs) > 0) { - $itemIDs = array_merge( + $itemIDs = self::fastmerge( $itemIDs, self::getSubObjectIDs( 'GroupAssociation', @@ -1158,7 +1158,7 @@ public function search($keyword = '', $returnObjects = false) ); } if (count($SnapinIDs) > 0) { - $itemIDs = array_merge( + $itemIDs = self::fastmerge( $itemIDs, self::getSubObjectIDs( 'SnapinAssociation', @@ -1168,7 +1168,7 @@ public function search($keyword = '', $returnObjects = false) ); } if (count($PrinterIDs) > 0) { - $itemIDs = array_merge( + $itemIDs = self::fastmerge( $itemIDs, self::getSubObjectIDs( 'PrinterAssociation', @@ -1177,7 +1177,7 @@ public function search($keyword = '', $returnObjects = false) ) ); } - $itemIDs = array_merge($itemIDs, $HostIDs); + $itemIDs = self::fastmerge($itemIDs, $HostIDs); $itemIDs = array_filter($itemIDs); $itemIDs = array_unique($itemIDs); break; @@ -1188,7 +1188,7 @@ public function search($keyword = '', $returnObjects = false) array('id' => $HostIDs), 'imageID' ); - $itemIDs = array_merge($itemIDs, $ImageIDs); + $itemIDs = self::fastmerge($itemIDs, $ImageIDs); } $itemIDs = array_filter($itemIDs); $itemIDs = array_unique($itemIDs); @@ -1230,7 +1230,7 @@ public function search($keyword = '', $returnObjects = false) 'OR' ); if (count($ImageIDs)) { - $itemIDs = array_merge( + $itemIDs = self::fastmerge( $itemIDs, self::getSubObjectIDs( 'Host', @@ -1239,7 +1239,7 @@ public function search($keyword = '', $returnObjects = false) ); } if (count($GroupIDs)) { - $itemIDs = array_merge( + $itemIDs = self::fastmerge( $itemIDs, self::getSubObjectIDs( 'GroupAssociation', @@ -1249,7 +1249,7 @@ public function search($keyword = '', $returnObjects = false) ); } if (count($SnapinIDs)) { - $itemIDs = array_merge( + $itemIDs = self::fastmerge( $itemIDs, self::getSubObjectIDs( 'SnapinAssociation', @@ -1259,7 +1259,7 @@ public function search($keyword = '', $returnObjects = false) ); } if (count($PrinterIDs)) { - $itemIDs = array_merge( + $itemIDs = self::fastmerge( $itemIDs, self::getSubObjectIDs( 'PrinterAssociation', @@ -1269,7 +1269,7 @@ public function search($keyword = '', $returnObjects = false) ); } if (count($TaskStateIDs)) { - $itemIDs = array_merge( + $itemIDs = self::fastmerge( $itemIDs, self::getSubObjectIDs( 'Task', @@ -1278,7 +1278,7 @@ public function search($keyword = '', $returnObjects = false) ); } if (count($TaskTypeIDs)) { - $itemIDs = array_merge( + $itemIDs = self::fastmerge( $itemIDs, self::getSubObjectIDs( 'Task', @@ -1287,7 +1287,7 @@ public function search($keyword = '', $returnObjects = false) ); } if (count($HostIDs)) { - $itemIDs = array_merge( + $itemIDs = self::fastmerge( $itemIDs, self::getSubObjectIDs( 'Task', @@ -1311,7 +1311,7 @@ public function search($keyword = '', $returnObjects = false) if (count($itemIDs) && !count($HostIDs)) { break; } - $HostIDs = array_merge( + $HostIDs = self::fastmerge( $HostIDs, self::getSubObjectIDs( $assoc, @@ -1320,7 +1320,7 @@ public function search($keyword = '', $returnObjects = false) ) ); if (count($HostIDs)) { - $itemIDs = array_merge( + $itemIDs = self::fastmerge( $itemIDs, self::getSubObjectIDs( $assoc, diff --git a/packages/web/lib/fog/fogpage.class.php b/packages/web/lib/fog/fogpage.class.php index 5f64eefaa5..efdb40a3e8 100644 --- a/packages/web/lib/fog/fogpage.class.php +++ b/packages/web/lib/fog/fogpage.class.php @@ -940,7 +940,7 @@ private function _replaceNeeds($data) implode((array)$this->templates), $foundchanges ); - $arrayReplace = array_merge( + $arrayReplace = self::fastmerge( $urlvars, (array)$data ); @@ -2767,7 +2767,7 @@ public function requestClientInfo() } $disabled = in_array( $key, - array_merge( + self::fastmerge( (array)$globalDisabled, (array)$hostDisabled ) @@ -3327,7 +3327,7 @@ public function export() if ($Item instanceof Host) { $macs = $maccolumn = array(); $macs[] = $Item->get('mac'); - $macs = array_merge($macs, $Item->get('additionalMACs')); + $macs = self::fastmerge($macs, $Item->get('additionalMACs')); $macs = $this->parseMacList($macs); foreach ((array)$macs as &$mac) { if (!$mac->isValid()) { diff --git a/packages/web/lib/fog/fogpagemanager.class.php b/packages/web/lib/fog/fogpagemanager.class.php index e56835dabc..9e14103391 100644 --- a/packages/web/lib/fog/fogpagemanager.class.php +++ b/packages/web/lib/fog/fogpagemanager.class.php @@ -360,7 +360,7 @@ private function _loadPageClasses() $files = array_values( array_filter( array_unique( - array_merge( + self::fastmerge( $normalfiles, $pluginfiles ) diff --git a/packages/web/lib/fog/fogsubmenu.class.php b/packages/web/lib/fog/fogsubmenu.class.php index d7156a4e4a..0e3950534c 100644 --- a/packages/web/lib/fog/fogsubmenu.class.php +++ b/packages/web/lib/fog/fogsubmenu.class.php @@ -152,7 +152,7 @@ public function addItems( } } if (is_array($this->items[$node][$variableSetter])) { - $this->items[$node][$variableSetter] = array_merge( + $this->items[$node][$variableSetter] = self::fastmerge( $this->items[$node][$variableSetter], $items ); diff --git a/packages/web/lib/fog/group.class.php b/packages/web/lib/fog/group.class.php index 72a21e66c6..39750b53af 100644 --- a/packages/web/lib/fog/group.class.php +++ b/packages/web/lib/fog/group.class.php @@ -388,7 +388,7 @@ public function addImage($imageID) if (!$Image->isValid() && is_numeric($imageID)) { throw new Exception(_('Select a valid image')); } - $states = array_merge( + $states = self::fastmerge( $this->getQueuedStates(), (array) $this->getProgressState() ); @@ -450,7 +450,7 @@ public function createImagePackage( ->count( array( 'hostID' => $hostids, - 'stateID' => array_merge( + 'stateID' => self::fastmerge( $this->getQueuedStates(), (array) $this->getProgressState() ), diff --git a/packages/web/lib/fog/hookmanager.class.php b/packages/web/lib/fog/hookmanager.class.php index eb574ed62f..fb2264a898 100644 --- a/packages/web/lib/fog/hookmanager.class.php +++ b/packages/web/lib/fog/hookmanager.class.php @@ -120,7 +120,7 @@ public function getEvents() '', 'name' ); - $tabsArr = array_merge( + $tabsArr = self::fastmerge( $settingCats, $pxeNames ); @@ -149,7 +149,10 @@ public function getEvents() 'HOST_EDIT_AD', 'GROUP_EDIT_AD', ); - array_merge($this->events, $additional); + $this->events = self::fastmerge( + $this->events, + $additional + ); natcasesort($this->events); $this->events = array_filter($this->events); $this->events = array_unique($this->events); @@ -183,7 +186,7 @@ public function processEvent($event, $arguments = array()) if (!$active) { continue; } - $mergedArr = array_merge( + $mergedArr = self::fastmerge( array('event' => $event), $arguments ); diff --git a/packages/web/lib/fog/host.class.php b/packages/web/lib/fog/host.class.php index 308cb153fc..f8d9988f53 100644 --- a/packages/web/lib/fog/host.class.php +++ b/packages/web/lib/fog/host.class.php @@ -1005,7 +1005,7 @@ protected function loadSnapinjob() $sjID = self::getSubObjectIDs( 'SnapinJob', array( - 'stateID' => array_merge( + 'stateID' => self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ), @@ -1023,7 +1023,7 @@ protected function loadSnapinjob() protected function loadTask() { $find['hostID'] = $this->get('id'); - $find['stateID'] = array_merge( + $find['stateID'] = self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ); @@ -1075,7 +1075,7 @@ protected function loadOptimalStorageNode() public function getActiveTaskCount() { $find = array( - 'stateID' => array_merge( + 'stateID' => self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ), @@ -1157,7 +1157,7 @@ private function _cancelJobsSnapinsForHost() 'SnapinJob', array( 'hostID' => $this->get('id'), - 'stateID' => array_merge( + 'stateID' => self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ) @@ -1167,7 +1167,7 @@ private function _cancelJobsSnapinsForHost() ->update( array( 'jobID' => $SnapinJobs, - 'stateID' => array_merge( + 'stateID' => self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ) @@ -1188,7 +1188,7 @@ private function _cancelJobsSnapinsForHost() $AllTasks = self::getSubObjectIDs( 'Task', array( - 'stateID' => array_merge( + 'stateID' => self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ), @@ -1422,7 +1422,7 @@ public function createImagePackage( return $MulticastSessions; }; $assoc = false; - $showStates = array_merge( + $showStates = self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ); diff --git a/packages/web/lib/fog/page.class.php b/packages/web/lib/fog/page.class.php index 9d79e0aea9..d730ccfec5 100644 --- a/packages/web/lib/fog/page.class.php +++ b/packages/web/lib/fog/page.class.php @@ -263,7 +263,7 @@ function ( } ); if (!self::$isMobile) { - $links = array_merge( + $links = self::fastmerge( (array)$links, array( 'hwinfo', diff --git a/packages/web/lib/fog/snapin.class.php b/packages/web/lib/fog/snapin.class.php index 12f82df908..171f045ec8 100644 --- a/packages/web/lib/fog/snapin.class.php +++ b/packages/web/lib/fog/snapin.class.php @@ -98,7 +98,7 @@ public function destroy($key = 'id') 'SnapinJob', array( 'id' => $snapinJobIDs, - 'stateID' => array_merge( + 'stateID' => self::fastmerge( $this->getQueuedStates(), (array) $this->getProgressState() ), diff --git a/packages/web/lib/fog/snapintaskmanager.class.php b/packages/web/lib/fog/snapintaskmanager.class.php index 9cab299ce5..9cbd7fa191 100644 --- a/packages/web/lib/fog/snapintaskmanager.class.php +++ b/packages/web/lib/fog/snapintaskmanager.class.php @@ -115,7 +115,7 @@ public function cancel($snapintaskids) ->count( array( 'jobID' => $jobID, - 'stateID' => array_merge( + 'stateID' => self::fastmerge( (array) $this->getQueuedStates(), (array) $this->getProgressState() ) diff --git a/packages/web/lib/fog/storagenode.class.php b/packages/web/lib/fog/storagenode.class.php index f2210daf8c..7a535d82b7 100644 --- a/packages/web/lib/fog/storagenode.class.php +++ b/packages/web/lib/fog/storagenode.class.php @@ -188,7 +188,7 @@ public function getLogfiles() ); $paths = self::$FOGURLRequests->process($url); foreach ((array) $paths as $index => &$response) { - $tmppath = array_merge( + $tmppath = self::fastmerge( (array) $tmppath, (array) json_decode($response, true) ); diff --git a/packages/web/lib/fog/system.class.php b/packages/web/lib/fog/system.class.php index 424bdbd698..706c2220a9 100644 --- a/packages/web/lib/fog/system.class.php +++ b/packages/web/lib/fog/system.class.php @@ -53,7 +53,7 @@ private static function _versionCompare() public function __construct() { self::_versionCompare(); - define('FOG_VERSION', '7144712'); + define('FOG_VERSION', '477'); define('FOG_SCHEMA', 244); define('FOG_BCACHE_VER', 111); define('FOG_SVN_REVISION', 6052); diff --git a/packages/web/lib/fog/task.class.php b/packages/web/lib/fog/task.class.php index 67bd75de72..581880d163 100644 --- a/packages/web/lib/fog/task.class.php +++ b/packages/web/lib/fog/task.class.php @@ -137,7 +137,7 @@ public function getInFrontOfHostCount() $used = explode(',', self::getSetting('FOG_USED_TASKS')); $Tasks = $this->getManager()->find( array( - 'stateID' => array_merge( + 'stateID' => self::fastmerge( (array)$this->getQueuedStates(), (array)$this->getProgressState() ), diff --git a/packages/web/lib/fog/taskmanager.class.php b/packages/web/lib/fog/taskmanager.class.php index 82cd89bb74..77255d238e 100644 --- a/packages/web/lib/fog/taskmanager.class.php +++ b/packages/web/lib/fog/taskmanager.class.php @@ -75,7 +75,7 @@ public function install() public function cancel($taskids) { $cancelled = $this->getCancelledState(); - $notComplete = array_merge( + $notComplete = self::fastmerge( (array)$this->getQueuedStates(), (array)$this->getProgressState() ); diff --git a/packages/web/lib/fog/wakeonlan.class.php b/packages/web/lib/fog/wakeonlan.class.php index d590abc0f6..2b1b22b4ff 100644 --- a/packages/web/lib/fog/wakeonlan.class.php +++ b/packages/web/lib/fog/wakeonlan.class.php @@ -55,7 +55,7 @@ public function send() ) { throw new Exception(self::$foglang['InvalidMAC']); } - $BroadCast = array_merge( + $BroadCast = self::fastmerge( (array) '255.255.255.255', self::$FOGCore->getBroadcast() ); diff --git a/packages/web/lib/hooks/setsnapintaskstate.hook.php b/packages/web/lib/hooks/setsnapintaskstate.hook.php index cad798ddc9..c10bcc9beb 100644 --- a/packages/web/lib/hooks/setsnapintaskstate.hook.php +++ b/packages/web/lib/hooks/setsnapintaskstate.hook.php @@ -82,7 +82,7 @@ public function setProgressState($arguments) */ public function addQueuedState($arguments) { - $arguments['queuedStates'] = array_merge( + $arguments['queuedStates'] = self::fastmerge( $arguments['queuedStates'], range(6, 75) ); diff --git a/packages/web/lib/pages/fogconfigurationpage.class.php b/packages/web/lib/pages/fogconfigurationpage.class.php index ccc9024cd1..2d8bd6a9a5 100644 --- a/packages/web/lib/pages/fogconfigurationpage.class.php +++ b/packages/web/lib/pages/fogconfigurationpage.class.php @@ -1779,12 +1779,12 @@ public function settingsPost() 'MULTICASESLEEPTIME' => true, // FOG Quick Registration 'FOG_QUICKREG_AUTOPOP' => $checkbox, - 'FOG_QUICKREG_IMG_ID' => array_merge( + 'FOG_QUICKREG_IMG_ID' => self::fastmerge( (array)0, self::getSubObjectIDs('Image') ), 'FOG_QUICKREG_SYS_NUMBER' => true, - 'FOG_QUICKREG_GROUP_ASSOC' => array_merge( + 'FOG_QUICKREG_GROUP_ASSOC' => self::fastmerge( (array)0, self::getSubObjectIDs('Group') ), diff --git a/packages/web/lib/pages/hostmanagementpage.class.php b/packages/web/lib/pages/hostmanagementpage.class.php index 019a173eaf..b5925ba212 100644 --- a/packages/web/lib/pages/hostmanagementpage.class.php +++ b/packages/web/lib/pages/hostmanagementpage.class.php @@ -55,7 +55,7 @@ public function __construct($name = '') ) => self::$foglang['General'], ); if (!$this->obj->get('pending')) { - $this->subMenu = array_merge( + $this->subMenu = self::fastmerge( $this->subMenu, array( sprintf( @@ -65,7 +65,7 @@ public function __construct($name = '') ) ); } - $this->subMenu = array_merge( + $this->subMenu = self::fastmerge( $this->subMenu, array( sprintf( diff --git a/packages/web/lib/pages/imagemanagementpage.class.php b/packages/web/lib/pages/imagemanagementpage.class.php index db2ced2d5e..4171b20219 100644 --- a/packages/web/lib/pages/imagemanagementpage.class.php +++ b/packages/web/lib/pages/imagemanagementpage.class.php @@ -1249,7 +1249,7 @@ public function multicast() $MCSessions = self::getClass('MulticastSessionsManager') ->find( array( - 'stateID' => array_merge( + 'stateID' => self::fastmerge( (array)$this->getQueuedStates(), (array)$this->getProgressState() ) @@ -1320,7 +1320,7 @@ public function multicastPost() $countmc = self::getClass('MulticastSessionsManager') ->count( array( - 'stateID' => array_merge( + 'stateID' => self::fastmerge( (array)$this->getQueuedStates(), (array)$this->getProgressState() ) diff --git a/packages/web/lib/pages/printermanagementpage.class.php b/packages/web/lib/pages/printermanagementpage.class.php index d7266ace3c..490c2621d2 100644 --- a/packages/web/lib/pages/printermanagementpage.class.php +++ b/packages/web/lib/pages/printermanagementpage.class.php @@ -248,7 +248,7 @@ public function add() echo ''; unset($this->data); unset($fields[' ']); - $fields = array_merge( + $fields = self::fastmerge( $fields, array( sprintf( @@ -312,7 +312,7 @@ public function add() $this->render(); echo ''; unset($this->data); - $fields = array_merge( + $fields = self::fastmerge( $fields, array( _('Printer Port') => sprintf( @@ -535,7 +535,7 @@ public function edit() echo ''; unset($this->data); unset($fields[' ']); - $fields = array_merge( + $fields = self::fastmerge( $fields, array( sprintf( @@ -598,7 +598,7 @@ public function edit() $this->render(); echo ''; unset($this->data); - $fields = array_merge( + $fields = self::fastmerge( $fields, array( _('Printer Port') => sprintf( diff --git a/packages/web/lib/pages/reportmanagementpage.class.php b/packages/web/lib/pages/reportmanagementpage.class.php index 4933375f34..77c1d16f33 100644 --- a/packages/web/lib/pages/reportmanagementpage.class.php +++ b/packages/web/lib/pages/reportmanagementpage.class.php @@ -96,7 +96,7 @@ public function __construct($name = '') $reportlink = "?node={$this->node}&sub=file&f="; array_map( function (&$report) use (&$reportlink) { - $this->menu = array_merge( + $this->menu = self::fastmerge( (array) $this->menu, array( sprintf( @@ -120,7 +120,7 @@ function (&$item) { }, (array) self::_loadCustomReports() ); - $this->menu = array_merge( + $this->menu = self::fastmerge( (array) $this->menu, array('upload' => self::$foglang['UploadRprts']) ); @@ -223,7 +223,7 @@ public function imaginglog() '${field}', '${input}', ); - $AllDates = array_merge( + $AllDates = self::fastmerge( self::$DB->query( "SELECT DATE_FORMAT(`ilStartTime`,'%Y-%m-%d') start FROM " . "`imagingLog` WHERE DATE_FORMAT(`ilStartTime`,'%Y-%m-%d') " @@ -1391,7 +1391,7 @@ public function snapinlog() '${field}', '${input}', ); - $AllDates = array_merge( + $AllDates = self::fastmerge( self::$DB->query( "SELECT DATE_FORMAT(`stCheckinDate`,'%Y-%m-%d') " . "start FROM `snapinTasks` WHERE DATE_FORMAT(" diff --git a/packages/web/lib/pages/snapinmanagementpage.class.php b/packages/web/lib/pages/snapinmanagementpage.class.php index 9824182881..de5f99f98a 100644 --- a/packages/web/lib/pages/snapinmanagementpage.class.php +++ b/packages/web/lib/pages/snapinmanagementpage.class.php @@ -783,7 +783,7 @@ public function edit() */ $nodeIDs = array(); foreach ((array)$StorageGroups as &$StorageGroup) { - $nodeIDs = array_merge( + $nodeIDs = self::fastmerge( (array)$nodeIDs, (array)$StorageGroup->get('enablednodes') ); @@ -808,7 +808,7 @@ public function edit() if (!$StorageNode->isValid()) { continue; } - $filelist = array_merge( + $filelist = self::fastmerge( (array)$filelist, (array)$StorageNode->get('snapinfiles') ); diff --git a/packages/web/lib/pages/taskmanagementpage.class.php b/packages/web/lib/pages/taskmanagementpage.class.php index 6d5d087677..725391ff5e 100644 --- a/packages/web/lib/pages/taskmanagementpage.class.php +++ b/packages/web/lib/pages/taskmanagementpage.class.php @@ -216,7 +216,7 @@ public function active() $this->data = array(); $Tasks = self::getClass('TaskManager')->find( array( - 'stateID' => array_merge( + 'stateID' => self::fastmerge( (array) $this->getQueuedStates(), (array) $this->getProgressState() ) @@ -709,7 +709,7 @@ public function activemulticast() ); $MultiSessions = self::getClass('MulticastSessionsManager')->find( array( - 'stateID' => array_merge( + 'stateID' => self::fastmerge( (array) $this->getQueuedStates(), (array) $this->getProgressState() ) @@ -833,7 +833,7 @@ public function activesnapins() 'width' => 40 ) ); - $activestate = array_merge( + $activestate = self::fastmerge( (array) $this->getQueuedStates(), (array) $this->getProgressState() ); diff --git a/packages/web/lib/pages/taskmobile.class.php b/packages/web/lib/pages/taskmobile.class.php index eea1df4a67..11eac445de 100644 --- a/packages/web/lib/pages/taskmobile.class.php +++ b/packages/web/lib/pages/taskmobile.class.php @@ -148,7 +148,7 @@ public function active() { $Tasks = self::getClass('TaskManager')->find( array( - 'stateID' => array_merge( + 'stateID' => self::fastmerge( (array) $this->getQueuedStates(), (array) $this->getProgressState() ) diff --git a/packages/web/lib/plugins/fileintegrity/class/fileintegrity.class.php b/packages/web/lib/plugins/fileintegrity/class/fileintegrity.class.php index e35f508694..d3039e6b57 100644 --- a/packages/web/lib/plugins/fileintegrity/class/fileintegrity.class.php +++ b/packages/web/lib/plugins/fileintegrity/class/fileintegrity.class.php @@ -189,7 +189,7 @@ public function getSnapinFiles() */ public function processPathFiles() { - $files = array_merge( + $files = self::fastmerge( (array)self::$imagePaths, (array)self::$snapinFiles ); diff --git a/packages/web/lib/plugins/location/hooks/changeitems.hook.php b/packages/web/lib/plugins/location/hooks/changeitems.hook.php index 45d30d5911..7190c90ed1 100644 --- a/packages/web/lib/plugins/location/hooks/changeitems.hook.php +++ b/packages/web/lib/plugins/location/hooks/changeitems.hook.php @@ -222,7 +222,7 @@ public function alterMasters($arguments) '', 'storagenodeID' ); - $storagenodeIDs = array_merge( + $storagenodeIDs = self::fastmerge( (array) $storagenodeIDs, (array) $arguments['MasterIDs'] ); diff --git a/packages/web/lib/plugins/slack/pages/slackmanagementpage.class.php b/packages/web/lib/plugins/slack/pages/slackmanagementpage.class.php index bc47857fd3..5021eebcdf 100644 --- a/packages/web/lib/plugins/slack/pages/slackmanagementpage.class.php +++ b/packages/web/lib/plugins/slack/pages/slackmanagementpage.class.php @@ -101,7 +101,7 @@ public function addPost() if (!$Slack->verifyToken()) { throw new Exception(_('Invalid token passed')); } - if (array_search($user, array_merge((array)$Slack->getChannels(), (array)$Slack->getUsers())) === false) { + if (array_search($user, self::fastmerge((array)$Slack->getChannels(), (array)$Slack->getUsers())) === false) { throw new Exception(_('Invalid user and/or channel passed')); } if (self::getClass('SlackManager')->exists($token, '', 'token') && self::getClass('SlackManager')->exists($usersend)) { diff --git a/packages/web/lib/plugins/wolbroadcast/hooks/addbroadcastaddresses.hook.php b/packages/web/lib/plugins/wolbroadcast/hooks/addbroadcastaddresses.hook.php index ee36207df6..43568495a4 100644 --- a/packages/web/lib/plugins/wolbroadcast/hooks/addbroadcastaddresses.hook.php +++ b/packages/web/lib/plugins/wolbroadcast/hooks/addbroadcastaddresses.hook.php @@ -57,7 +57,7 @@ public function addBCaddr($arguments) if (!in_array($this->node, (array)$_SESSION['PluginsInstalled'])) { return; } - $arguments['broadcast'] = array_merge( + $arguments['broadcast'] = self::fastmerge( (array) $arguments['broadcast'], (array) self::getSubObjectIDs('Wolbroadcast', '', 'broadcast') ); diff --git a/packages/web/lib/service/multicastmanager.class.php b/packages/web/lib/service/multicastmanager.class.php index 6f176b1c3d..0d3bb86623 100644 --- a/packages/web/lib/service/multicastmanager.class.php +++ b/packages/web/lib/service/multicastmanager.class.php @@ -159,7 +159,7 @@ private function _serviceLoop() { while (true) { $this->waitDbReady(); - $queuedStates = array_merge( + $queuedStates = self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ); diff --git a/packages/web/lib/service/multicasttask.class.php b/packages/web/lib/service/multicasttask.class.php index 0498f47638..5ee1bcaf0e 100644 --- a/packages/web/lib/service/multicasttask.class.php +++ b/packages/web/lib/service/multicasttask.class.php @@ -53,7 +53,7 @@ public function getAllMulticastTasks($root, $myStorageNodeID) ->find( array( 'stateID' => - array_merge( + self::fastmerge( $this->getQueuedStates(), (array)$this->getProgressState() ) diff --git a/packages/web/lib/service/taskscheduler.class.php b/packages/web/lib/service/taskscheduler.class.php index 90a1e3343d..d2077a223e 100644 --- a/packages/web/lib/service/taskscheduler.class.php +++ b/packages/web/lib/service/taskscheduler.class.php @@ -161,7 +161,7 @@ private function _commonOutput() 'onDemand' => array(0, '') ) ); - $Tasks = array_merge((array)$Tasks, (array)$PMs); + $Tasks = self::fastmerge((array)$Tasks, (array)$PMs); foreach ((array)$Tasks as &$Task) { if (!$Task->isValid()) { continue; diff --git a/packages/web/management/languages/messages.pot b/packages/web/management/languages/messages.pot index afd991966f..d8dd15d088 100644 --- a/packages/web/management/languages/messages.pot +++ b/packages/web/management/languages/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-01 00:43-0500\n" +"POT-Creation-Date: 2017-01-01 15:04-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/packages/web/service/ipxe/boot.php b/packages/web/service/ipxe/boot.php index 4875343fd7..c111e1ea26 100644 --- a/packages/web/service/ipxe/boot.php +++ b/packages/web/service/ipxe/boot.php @@ -21,7 +21,7 @@ */ require '../../commons/base.inc.php'; header("Content-type: text/plain"); -$mac = array_merge( +$mac = FOGCore::fastmerge( explode('|', $_REQUEST['mac']), explode('|', $_REQUEST['mac0']), explode('|', $_REQUEST['mac1']), diff --git a/packages/web/status/getfiles.php b/packages/web/status/getfiles.php index 4559d86c45..04092ef5ba 100644 --- a/packages/web/status/getfiles.php +++ b/packages/web/status/getfiles.php @@ -42,7 +42,7 @@ $replaced_dir_sep, DIRECTORY_SEPARATOR ); - $files = array_merge( + $files = self::fastmerge( (array) $files, (array) glob($glob_str) );