$template->MICKA_USER = MICKA_USER; $template->FORM_SIGN = FORM_SIGN; $template->admin = canAction('*') ? 1 : 0; $template->insertRight = canAction('w') ? 1 : 0; $template->flashes = getFlashMessage(); //$template->flashes = array(0 => array('type' => 'error', 'message' => 'Chybka')); $template->navigation = $ak == 'edit' || $ak == 'detail' || $ak == 'valid' || $ak == 'admin' || $ak == 'detailall' ? mainNavigation($ak, $template->label, $record['data']['md']['UUID']) : mainNavigation($ak, $template->label); //Debugger::dump($template->navigation); exit; //$template->usrBox = 'volitelný'; //$template->sortBox = 'sort'; //$template->labelBox = 'label'; $template->dataBox = isset($dataBox) ? $dataBox : ''; $template->mickaLangsArr = $micka_langs_arr; //$template->footBox = 'patička'; if ($ak == 'about') { $template->about = array('verApp' => MICKA_VERSION, 'verDb' => getDbVersion()); } elseif ($ak == 'search') { $template->hs_initext = $hs_initext; /* $template->labelButton = getLabelButton(); //$template->mickaSearch = getMickaSearchFromSession(); $template->mickaCodeList = array( 'mdCategory' => getSelectCategory(), 'mdStandard' => getSelectStandards(), 'mdLang' => getSelectMdLangs() ); * */ } elseif ($ak == 'new') { $template->mdStandard = getRadioStandards('acl'); $template->usrGroups = getMsGroups('get_groups');
function executeQueryFileUpgrade($table_prefix) // funzione dedicata alla gestione delle sottosezioni { global $disable_set_time_limit; if (!$disable_set_time_limit) { set_time_limit (300); } // Luigi Rambaldi 13 Ottobre 2005 // Inizializzazione accumulatore $sql = ""; $currentDbVersion=getDbVersion(); $nextDbVersion = $currentDbVersion + 1; // versione del'upgrade da individuare per l'aggiornamento corrente (contiguità nella numerazione delle versioni). $stopDbVersion = $currentDbVersion + 2; $sqlFile = getNextSqlFileName($currentDbVersion,getSqlFiles()); // trovo l'ultima sottosezione (individuabile a partire dalla versione corrente del Database) // Iterazione per ciascuna linea del file. $lineArray = file($sqlFile); $parsingFlag = False; // flag per individuare ciascuna sottosezione, corrispondente a cisacuna versione del DB $companies=getCompanyNumbers(); $activateWhile = False; // flag per attivare il ciclo while foreach($lineArray as $line) { if (preg_match("/UPDATE[ \n\r\t\x0B]+(`){0,1}gaz_config(`){0,1}[ \n\r\t\x0B]+SET[ \n\r\t\x0B]+(`){0,1}cvalue(`){0,1}[ \n\r\t\x0B]*=[ \n\r\t\x0B]*\'$nextDbVersion\'/i", $line)) { $parsingFlag = True; } if (preg_match("/UPDATE[ \n\r\t\x0B]+(`){0,1}gaz_config(`){0,1}[ \n\r\t\x0B]+SET[ \n\r\t\x0B]+(`){0,1}cvalue(`){0,1}[ \n\r\t\x0B]*=[ \n\r\t\x0B]*\'$stopDbVersion\'/i", $line)) { $parsingFlag = False; break; } if($parsingFlag) { if (preg_match("/START_WHILE/i", $line)) { $activateWhile = True; $line=''; } if (preg_match("/STOP_WHILE/i", $line)) { $activateWhile = False; $line=''; } $sql .= $line; // Il punto e virgola indica la fine di ciascuna istruzione SQL , ciascuna di esse viene accumulata if (!preg_match("/;/", $sql)) { continue;// incremento dell'accumulatore } // Sostituisce il prefisso standard ed elimina il punto e virgola $sql = preg_replace("/gaz_/", $table_prefix.'_', $sql); $sql = preg_replace("/;/", "", $sql); if ($activateWhile){ // Esegue l'istruzione sulle tabelle di tutte le aziende installate. $sql_ori=$sql;; foreach ($companies as $i) { $sql = preg_replace("/XXX/", sprintf('%03d',$i), $sql_ori); if (!gaz_dbi_query($sql)) { // si collega al DB echo "Query Fallita"; echo "$sql <br/>"; exit; } } $sql = "";// ripristino dell'accumulatore } else { // Esegue una singola istruzione. if (!gaz_dbi_query($sql)) { // si collega al DB echo "Query Fallita"; echo "$sql <br/>"; exit; } else { $sql = "";// ripristino dell'accumulatore a seguito dell'istruzione } } } } }