Exemplo n.º 1
0
function arrayMergeRecursiveNumericKeyHackFix(&$array)
{
    if (!is_array($array)) {
        return;
    }
    foreach ($array as $key => $value) {
        $finalKey = $key;
        $numKey = preg_replace("/[^0-9]/", '', $key);
        if ($key == '_' . $numKey) {
            unset($array[$key]);
            $array[$numKey] = $value;
            $finalKey = $numKey;
        }
        arrayMergeRecursiveNumericKeyHackFix($array[$finalKey]);
    }
    return;
}
Exemplo n.º 2
0
 public static function getSearchedPluginsThemes()
 {
     $actionID = Reg::get('currentRequest.actionID');
     $datas = DB::getFields("?:temp_storage", "data", "type = 'getPluginsThemes' AND paramID = '" . $actionID . "'");
     DB::delete("?:temp_storage", "type = 'getPluginsThemes' AND paramID = '" . $actionID . "'");
     if (empty($datas)) {
         return array();
     }
     $finalData = array();
     foreach ($datas as $data) {
         $finalData = array_merge_recursive($finalData, (array) unserialize($data));
     }
     arrayMergeRecursiveNumericKeyHackFix($finalData);
     ksortTree($finalData);
     //finding not installed for site view only
     $typeItems = array_keys($finalData['typeView']);
     foreach ($typeItems as $item) {
         foreach ($finalData['siteView'] as $siteID => $value) {
             if (empty($value['active'][$item]) && empty($value['inactive'][$item])) {
                 $typeViewTemp = reset($finalData['typeView'][$item]);
                 $finalData['siteView'][$siteID]['notInstalled'][$item] = reset($typeViewTemp);
             }
         }
     }
     return $finalData;
 }