function save_array_to_xml($rootname,$array,$file) {
$namespaceMap = array();
$namespaceMap['sso_procesy5'] = 'http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/struktura_silnika_obiektow_procesy5.xsd';
//$namespaceMap['p5_obj_vars_php'] = 'http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/p5_obj_vars_php.xsd';
$namespaceMap['p5_obj_vars'] = 'http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/p5_obj_vars_php.xsd';
$namespaceMap['system_cache__appinfo'] = 'http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/system_cache__appinfo.TODO.xsd';
$namespaceMap['p5_tr_map'] = 'http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/p5_tr_map.TODO.xsd';
$dom = new DOMDocument('1.0', 'utf-8');
$dom->formatOutput = true;
$dom->preserveWhiteSpace = false;
$rootNode = $dom->createElementNS('http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/struktura_silnika_obiektow_procesy5.xsd', $rootname);
$dom->appendChild($rootNode);
$rootNode->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
//$rootNode->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:sso_procesy5', 'http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/struktura_silnika_obiektow_procesy5.xsd');
////$rootNode->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:p5_obj_vars_php', 'http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/p5_obj_vars_php.xsd');
//$rootNode->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:p5_obj_vars', 'http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/p5_obj_vars_php.xsd');
foreach ($namespaceMap as $nsKey => $nsLink) {
$rootNode->setAttributeNS('http://www.w3.org/2000/xmlns/', "xmlns:{$nsKey}", $nsLink);
}
try {
recurseArrayToXmlChildrens($dom, $rootNode, replaceKeys($array), $namespaceMap);
$dom->save($file);
}
catch( Exception $ex ) {
DEBUG_S(-3,'#838 Error with savexml exception ',$ex,__FILE__,__FUNCTION__,__LINE__);
}
}
function recurseArrayToXmlChildrens($dom, $parent, $a, $namespaceMap) {
$DBG = 1;
if (is_object($a)) $a = (array)$a;
if (is_array($a)) {
foreach ($a as $k => $v) {
if($DBG>1)echo "LOOP:{$k}...\n";
// check if is attribute
if ('@' === substr($k, 0, 1)) {// is attribute @
$k = substr($k, 1);
if (false !== strpos($k, ':')) {
if($DBG>1)echo "LOOP:{$k} attr with namespace L. " . __LINE__ . "\n";
list($namespaceKey, $tagName) = explode(':', $k, 2);
$attrNode = $dom->createAttributeNS($namespaceMap[$namespaceKey], $tagName);
$attrNode->value = $v;
$parent->appendChild($attrNode);
} else {
if($DBG>1)echo "LOOP:{$k} attr without namespace L. " . __LINE__ . "\n";
$attrNode = $dom->createAttribute($k);
$attrNode->value = $v;
$parent->appendChild($attrNode);
}
} else if (false !== strpos($k, ':')) {// key has namespace ":"
if($DBG>1)echo "LOOP:{$k} with namespace L. " . __LINE__ . "\n";
list($namespaceKey, $tagName) = explode(':', $k, 2);
$elNode = $dom->createElementNS($namespaceMap[$namespaceKey], $tagName);
$parent->appendChild($elNode);
recurseArrayToXmlChildrens($dom, $elNode, $v, $namespaceMap);
} else if (is_numeric($k)) {
if($DBG>1)echo "LOOP:{$k} is_numeric L. " . __LINE__ . "\n";
//recurseArrayToXmlChildrens($dom, $parent, $v, $namespaceMap);
$elNode = $dom->createElement("key".$k);
$parent->appendChild($elNode);
recurseArrayToXmlChildrens($dom, $elNode, $v, $namespaceMap);
} else if (false !== strpos($k, '#')) {
if($DBG)echo "LOOP:{$k} TODO: Invalid name with # L. " . __LINE__ . "\n";
} else {
$elNode = $dom->createElement($k);
$parent->appendChild($elNode);
recurseArrayToXmlChildrens($dom, $elNode, $v, $namespaceMap);
}
}
} else {
if($DBG>1)echo "LOOP:TODO: a is not array '{$a}' L. " . __LINE__ . "\n";
$txtNode = $dom->createTextNode($a);
$parent->appendChild($txtNode);
}
}
function replaceKeys(array $input) {
$return = array();
foreach ($input as $key => $value) {
$key=str_replace(array('-',':','#','*','(',')'),array('__x2D__','__x3A__','__x23__','__x2A__','__x28__','__x29__'), $key);
if (is_array($value))
$value = replaceKeys($value);
$return[$key] = $value;
}
return $return;
}
function array_to_xml($array, &$xml_user_info,$namespace) {
foreach($array as $key => $value) {
if(is_array($value)) {
// if(!is_numeric($key)){
$subnode = $xml_user_info->addChild($key);
array_to_xml($value, $subnode,$namespace);
//}else{
// $subnode = $xml_user_info->addChild("item$key");
// array_to_xml($value, $subnode);
// }
}else {
$xml_user_info->addChild($key,htmlspecialchars("$value"));
}
}
}
function tag_to_drop_instance_by_missed_search(&$key3_values_search_RID_ID_to_REMOTE_ID,$evaluate_key_value_root_instance_schema,$evaluate_key_value_root_instance,$evaluate_key_value_root_instance_id_1472,$path) {
//$path.="/".$evaluate_key_value_root_instance."[".$evaluate_key_value_root_instance_id_1472."]";
$key3_values_search_RID_ID_to_REMOTE_ID[$evaluate_key_value_root_instance_schema][$evaluate_key_value_root_instance][$evaluate_key_value_root_instance_id_1472]['to_drop'][]='#1477'.$path;
//chcemy zdropowac rodzicow poprzez wykorzystanie klucza [back-referenced] => Array
//@2015-12-24 todo jezeli nie mozna w kolejnej instancji dropowac klucza parenta jezeli jest tam inna instancja odnoszaca sie do tego samego parenta?
//tag_to_drop_backreferenced_instance($key3_values_search_RID_ID_to_REMOTE_ID,$evaluate_key_value_root_instance_schema,$evaluate_key_value_root_instance,$evaluate_key_value_root_instance_id_1472,$path);
}
function tag_to_drop_backreferenced_instance(&$key3_values_search_RID_ID_to_REMOTE_ID,$evaluate_key_value_root_instance_schema_par,$evaluate_key_value_root_instance_par,$evaluate_key_value_root_instance_id_1472_par,$path) {
$path.="/".$evaluate_key_value_root_instance_par."[".$evaluate_key_value_root_instance_id_1472_par."]";
DEBUG_S(-3,'dropuje keye ',array($evaluate_key_value_root_instance_schema_par,$evaluate_key_value_root_instance_par,$evaluate_key_value_root_instance_id_1472_par,$path),__FILE__,__FUNCTION__,__LINE__);
//chcemy zdropowac rodzicow poprzez wykorzystanie klucza [back-referenced] => Array
foreach($key3_values_search_RID_ID_to_REMOTE_ID[$evaluate_key_value_root_instance_schema_par][$evaluate_key_value_root_instance_par][$evaluate_key_value_root_instance_id_1472_par]['back-referenced'] as $evaluate_key_value_root_instance_schema=>$evaluate_key_value_root_instance_schema_arr) {
foreach($evaluate_key_value_root_instance_schema_arr as $evaluate_key_value_root_instance=>$evaluate_key_value_root_instance_arr) {
foreach($evaluate_key_value_root_instance_arr as $root_instance_id=>$evaluate_key_value_schema_arr) {
DEBUG_S(-3,'#1488 probuje zdropowac back-referenced $evaluate_key_value_root_instance_schema_arr: ',array($evaluate_key_value_root_instance_schema,$evaluate_key_value_root_instance,$root_instance_id,$path),__FILE__,__FUNCTION__,__LINE__);
//$key3_values_search_RID_ID_to_REMOTE_ID[$evaluate_key_value_root_instance_schema][$evaluate_key_value_root_instance][$root_instance_id]['to_drop'][]='#1494'.$path;
$list_not_dropped_parent_bindings=list_not_dropped_parent_bindings($key3_values_search_RID_ID_to_REMOTE_ID,$evaluate_key_value_root_instance_schema,$evaluate_key_value_root_instance,$root_instance_id);
DEBUG_S(-3,'#1507 upewniam sie czy moge rekursywnie dropowac dalej klucz: ',array($list_not_dropped_parent_bindings,$evaluate_key_value_root_instance_schema,$evaluate_key_value_root_instance),__FILE__,__FUNCTION__,__LINE__);
if(empty($list_not_dropped_parent_bindings)) tag_to_drop_backreferenced_instance($key3_values_search_RID_ID_to_REMOTE_ID,$evaluate_key_value_root_instance_schema,$evaluate_key_value_root_instance,$root_instance_id,$path) ;
tag_to_drop_instance_by_missed_search($key3_values_search_RID_ID_to_REMOTE_ID,$evaluate_key_value_root_instance_schema,$evaluate_key_value_root_instance,$root_instance_id,$path) ;
}
}
}
//szukamy czy inne instancje maja back-reference do tego samego ID i nie sa dropped
}
//funkcja do upewniania sie czy mozemy na podstawie dropowania z dziecka instancji, usuwac wyzsze instancje - a nie mozemy, jezeli do takiej samego klucza intsancji odwoluje sie inna instancja ktora aktualnie nie jest przeznaczona do drop
function list_not_dropped_parent_bindings(&$key3_values_search_RID_ID_to_REMOTE_ID,$evaluate_key_value_root_instance_schema_par,$evaluate_key_value_root_instance_par,$root_instance_id_par) {
foreach($key3_values_search_RID_ID_to_REMOTE_ID[$evaluate_key_value_root_instance_schema_par][$evaluate_key_value_root_instance_par] as $root_instance_id=>$evaluate_key_value_schema_arr) {
if($root_instance_id=='searched') continue;
foreach($evaluate_key_value_schema_arr as $evaluate_key_value_schema=>$evaluate_key_value_arr) {
// DEBUG_S(-3,'1514 szukam w instancji '.$root_instance_id.' / back-referenced oraz upewniam sie czy nie jest to_drop ',array($evaluate_key_value,$evaluate_key_value_id_arr),__FILE__,__FUNCTION__,__LINE__);
if($evaluate_key_value_schema=='back-referenced') { //tutaj jest referencja do parent - odczytujemy do jakiego klucza
foreach($evaluate_key_value_arr as $evaluate_key_value=>$evaluate_key_value_id_arr) {
foreach($evaluate_key_value_id_arr as $evaluate_key_value_id=>$evaluate_key_value_remote_schema_arr) {
foreach($evaluate_key_value_remote_schema_arr as $evaluate_key_value_remote_schema=>$evaluate_key_value_remote_arr) {
DEBUG_S(-3,'1514b zewnetrzny klucz instancji ('.$evaluate_key_value_remote_schema.') ',array($evaluate_key_value_remote_schema,$evaluate_key_value_remote_arr),__FILE__,__FUNCTION__,__LINE__);
$refered_parent[$root_instance_id]=$evaluate_key_value_remote_schema;
if($root_instance_id_par==$root_instance_id) $requested_instance_refers_to=$evaluate_key_value_remote_schema;
}
}
}
} else if($evaluate_key_value_schema=='to_drop') { //sprawdzam, czy nie jest juz to_drop
$refered_parent_to_drop[$root_instance_id]=$refered_parent[$root_instance_id];
DEBUG_S(-3,'1514c to_drop ('.$evaluate_key_value_remote_schema.') ',array($evaluate_key_value_remote_schema,$evaluate_key_value_remote_arr,$refered_parent_to_drop),__FILE__,__FUNCTION__,__LINE__);
}
}
}
//wszystkie ktore sa $refered_parent_to_drop kasuja aktywne $refered_parent aby pokazac prawdiwa ilosc refow z pozostalych instancji
DEBUG_S(-3,'raport do ewentualnego dropowania aktywnych refow do tego, do czego odwoluje sie ('.$root_instance_id_par.')',array($evaluate_key_value_root_instance_schema_par,$evaluate_key_value_root_instance_par,'nr instancji id ktora wyzwolila zapytanie i szukamy do jakiego parent_intance i badam czy jakas inna instancja nie ma takiego samego parent_id, jak nie ma, to moge rekursywnie dropnac parent_instance tego elementu:'.$root_instance_id_par,$refered_parent,$refered_parent_to_drop,$requested_instance_refers_to),__FILE__,__FUNCTION__,__LINE__);
foreach($refered_parent as $rid=>$parent_inst_id) { //wszystkie relacje do innych parent_id powinny byc skasowane z raportu
if(in_array($parent_inst_id, $refered_parent_to_drop)) unset($refered_parent[$rid]);
}
DEBUG_S(-3,'... po usunieciu kluczy dotyczacych instancji z flaga to_drop -refered_parent_to_drop ('.$root_instance_id_par.')',array($evaluate_key_value_root_instance_schema_par,$evaluate_key_value_root_instance_par,'nr instancji id ktora wyzwolila zapytanie i szukamy do jakiego parent_intance i badam czy jakas inna instancja nie ma takiego samego parent_id, jak nie ma, to moge rekursywnie dropnac parent_instance tego elementu:'.$root_instance_id_par,$refered_parent,$refered_parent_to_drop,$requested_instance_refers_to),__FILE__,__FUNCTION__,__LINE__);
foreach($refered_parent as $rid=>$parent_inst_id) {
if($parent_inst_id!=$requested_instance_refers_to) unset($refered_parent[$rid]); //jezeli inna instancja odwoluje sie do innego parenta to nie interesuje nas ona
}
DEBUG_S(-3,'raport po wyfiltrowaniu i usunieciu kluczy z innych nieoczekiwanych realcji ',$refered_parent,__FILE__,__FUNCTION__,__LINE__);
return($refered_parent);
}
//plan1 : dropujemy instancje ktore byly poszukiwane, lecz nie znaleziono kompletu elementow w schemacie $evaluate_key_value_root_instance_schema/$evaluate_key_value_root_instance w oparciu o $evaluate_key_value_root_instance/['searched'] - jak czego nie ma, to dropujemy do $evaluate_key_value_root_instance['to_drop']
foreach($key3_values_search_RID_ID_to_REMOTE_ID as $evaluate_key_value_root_instance_schema=>$evaluate_key_value_root_instance_schema_arr) {
foreach($evaluate_key_value_root_instance_schema_arr as $evaluate_key_value_root_instance=>$evaluate_key_value_root_instance_arr) {
foreach($evaluate_key_value_root_instance_arr['searched'] as $evaluate_key_value_schema_searched=>$evaluate_key_value_schema_searched_arr) {
//szukamy dla kazdego wyszukiwanego elementu, czy w kazdej z instancji zostal znaleziony TODO czy nie potrzebne sa tam oczekiwania co do minimalnych occurs ? na ten moment ignorujemy
// echo "<br>#1470 bede przeszukiwac dla evaluate_key_value_schema_searched: ".$evaluate_key_value_schema_searched." w instance ".$evaluate_key_value_root_instance;
foreach($key3_values_search_RID_ID_to_REMOTE_ID[$evaluate_key_value_root_instance_schema][$evaluate_key_value_root_instance] as $evaluate_key_value_root_instance_id_1472=>$evaluate_key_value_root_instance_id_1472_arr) {
if($evaluate_key_value_root_instance_id_1472=='searched') continue;
$path="/".$evaluate_key_value_root_instance."[".$evaluate_key_value_root_instance_id_1472."]";
// echo "<br>#1472: szukam evaluate_key_value_root_instance_id_1472:".$evaluate_key_value_root_instance_id_1472;
if(!isset($evaluate_key_value_root_instance_id_1472_arr[$evaluate_key_value_schema_searched])) {
$list_not_dropped_parent_bindings=list_not_dropped_parent_bindings($key3_values_search_RID_ID_to_REMOTE_ID,$evaluate_key_value_root_instance_schema,$evaluate_key_value_root_instance,$evaluate_key_value_root_instance_id_1472);
DEBUG_S(-3,'1475 ZABRAKLO w - sprawdzam list_not_dropped_parent_bindings',array($list_not_dropped_parent_bindings,$evaluate_key_value_schema_searched,$evaluate_key_value_root_instance_id_1472_arr),__FILE__,__FUNCTION__,__LINE__);
//$key3_values_search_RID_ID_to_REMOTE_ID[$evaluate_key_value_root_instance_schema][$evaluate_key_value_root_instance][$evaluate_key_value_root_instance_id_1472]['to_drop']='#1477';
tag_to_drop_backreferenced_instance($key3_values_search_RID_ID_to_REMOTE_ID,$evaluate_key_value_root_instance_schema,$evaluate_key_value_root_instance,$evaluate_key_value_root_instance_id_1472);
tag_to_drop_instance_by_missed_search($key3_values_search_RID_ID_to_REMOTE_ID,$evaluate_key_value_root_instance_schema,$evaluate_key_value_root_instance,$evaluate_key_value_root_instance_id_1472,$path);
}
}
}
} //eof foreach($evaluate_key_value_root_instance_schema_arr as $evaluate_key_value_root_instance=>$evaluate_key_value_root_instance_arr) {
}
DEBUG_S(-3,'evaluate_key3_value_root_instance_searched_merged (z nich ida zapytania find_in[\$evaluate_key_value_root_instance_searched_merged] )',$evaluate_key3_value_root_instance_searched_merged,__FILE__,__FUNCTION__,__LINE__);
//plan2 @2015-12-26 - zunifikowanie searcha ktory zwrocil dla przeciwsk.(1)=% oraz przeciwsk.(2)=% - z zabiegow (1)[1,2,3,4]+(2)[1,2,3,4]
// trzeba to przetworzyc chyba w miejscu rozdwojenia szukania wynik.ze.schem. do (1)[1,3]+(2)[2,4] - TODO czy jest zalezne to od @parent_choice_name ? - na razie tak to robimy
//@2015-12-25 $queue itp - nie dzialaja - trzeba zupelnie inaczej dropowac keye - jest to do przemyslenia w zaleznosci od refow - lub je po prostu zmergowac wszystkie i nie przetwarzac w ten sposob?
function unique_searched_on_schema_split_queue(&$key3_values_search_RID_ID_to_REMOTE_ID) {
$last_evaluate_key_value_root_instance_count=1;
foreach($key3_values_search_RID_ID_to_REMOTE_ID as $evaluate_key_value_root_instance_schema=>$evaluate_key_value_root_instance_schema_arr) {
$unique_searched_on_schema_split_queue=array();
if(count($evaluate_key_value_root_instance_schema_arr)>$last_evaluate_key_value_root_instance_count) {
DEBUG_S(-3,'#678 $last_evaluate_key_value_root_instance_count: for '.$evaluate_key_value_root_instance_schema.' = '.count($evaluate_key_value_root_instance_schema_arr).'>'.$last_evaluate_key_value_root_instance_count.' ',$evaluate_key_value_root_instance_schema_arr,__FILE__,__FUNCTION__,__LINE__);
foreach($evaluate_key_value_root_instance_schema_arr as $evaluate_key_value_root_instance=>$evaluate_key_value_root_instance_arr) {
foreach($evaluate_key_value_root_instance_arr as $root_instance_id=>$evaluate_key_value_schema_arr) {
if($root_instance_id=='searched') continue;
if($evaluate_key_value_schema_arr['to_drop']) echo " to_drop RID:(".$root_instance_id.") ";
if(!$evaluate_key_value_schema_arr['to_drop']) { echo " not_to_drop RID:(".$root_instance_id.") ";
foreach($evaluate_key_value_schema_arr as $evaluate_key_value_schema=>$evaluate_key_value_arr) { //
if($evaluate_key_value_schema=='back-referenced') continue;
$unique_searched_on_schema_split_queue[$evaluate_key_value_root_instance_schema][$evaluate_key_value_root_instance][$root_instance_id]=array();
foreach($evaluate_key_value_arr as $evaluate_key_value=>$evaluate_key_value_id_arr) {
foreach($evaluate_key_value_id_arr as $evaluate_key_value_id=>$evaluate_key_value_remote_schema_arr ) {
foreach($evaluate_key_value_remote_schema_arr as $evaluate_key_value_remote_schema=>$evaluate_key_value_remote_arr) {
foreach($evaluate_key_value_remote_arr as $evaluate_key_value_remote=>$evaluate_key_value_remote_id) {
DEBUG_S(-3,'#695 doszedlem do Key Remote parametry',array($evaluate_key_value_root_instance_schema, $evaluate_key_value_root_instance, $root_instance_id, $evaluate_key_value_schema, $evaluate_key_value, $evaluate_key_value_id, $evaluate_key_value_remote_schema, $evaluate_key_value_remote, $evaluate_key_value_remote_id),__FILE__,__FUNCTION__,__LINE__);
$unique_searched_on_schema_split_queue[$evaluate_key_value_root_instance_schema][$evaluate_key_value_root_instance][$root_instance_id][$evaluate_key_value_remote_schema][$evaluate_key_value_remote][]=$evaluate_key_value_remote_id;
}
}
}
}
}
} //eof if(not_to_drop)
}
} //eof foreach($evaluate_key_value_root_instance_schema_arr
//zabijamy klucze naprzemian jadac od pierwszego
foreach($unique_searched_on_schema_split_queue[$evaluate_key_value_root_instance_schema] as $evaluate_key_value_root_instance=>$root_instance_id_arr) {
$instances[]=$evaluate_key_value_root_instance; //mamy znane klucze instancji do przetwarzania
}
rsort($instances);
DEBUG_S(-3,'#700 after all evaluate_key_value_root_instance $unique_searched_on_schema_split_queue - TODO dropowanie jest nieprawidlowe - musi sie odbywac z uwagi na klucze back-refferenced, aby rekord byl w odpowiedniej oczekiwanej sekwencji? jaka logika? ',array($instances,$flipped,$unique_searched_on_schema_split_queue),__FILE__,__FUNCTION__,__LINE__);
$dropped_key=array(); $passed_to_next_drop=array(); $preserve=array(); $queue_cur=0; $queue_not_drop=count($unique_searched_on_schema_split_queue[$evaluate_key_value_root_instance_schema]);
foreach($instances as $key_instance=>$evaluate_key_value_root_instance1624) { //lecimy po kluczach z instancji
foreach($unique_searched_on_schema_split_queue[$evaluate_key_value_root_instance_schema][$evaluate_key_value_root_instance1624] as $root_instance_id=>$evaluate_key_value_schema_arr) { //jade po kluczach z danego typu search
$drop_debug[]="<br>#1625 dOs ".$evaluate_key_value_root_instance1624."[".$key_instance."] *** RI: ".$root_instance_id."*** " ;
foreach($instances as $ki714=>$ekvri714) {
if($ekvri714==$evaluate_key_value_root_instance1624) continue;
$drop_debug[]="<br> ki714::".$ki714." //// "." :::";
if(isset($unique_searched_on_schema_split_queue[$evaluate_key_value_root_instance_schema][$evaluate_key_value_root_instance1624][$root_instance_id])) { //znalazlem, ze taki klucz wystepuje dalej - to go dropujemy
if(isset($preserve[$evaluate_key_value_root_instance_schema][$evaluate_key_value_root_instance1624][$root_instance_id])) {
$drop_debug[]=" #2171 preserve ";
} else if(!isset($dropped_key[$root_instance_id]) and !isset($passed_to_next_drop[$root_instance_id]) and !isset($preserve[$evaluate_key_value_root_instance_schema][$evaluate_key_value_root_instance1624][$root_instance_id])) {
$dropped_key[$root_instance_id]=true;
$drop_debug[]="#2173 passed and tell to be next dropped qc(".$queue_cur.") ".$queue_not_drop;
$preserve[$evaluate_key_value_root_instance_schema][$evaluate_key_value_root_instance1624][$root_instance_id]=true;
$queue_cur++;
} else if(!isset($dropped_key[$root_instance_id]) and !isset($passed_to_next_drop[$root_instance_id]) and !isset($preserve[$evaluate_key_value_root_instance_schema][$evaluate_key_value_root_instance1624][$root_instance_id])) {
$queue_cur++;
$dropped_key[$root_instance_id]=true;
$passed_to_next_drop[$root_instance_id]=true;
tag_to_drop_instance_by_missed_search($key3_values_search_RID_ID_to_REMOTE_ID,$evaluate_key_value_root_instance_schema,$evaluate_key_value_root_instance1624,$root_instance_id,'#720 by unique_searched_on_schema_split_queue');
$drop_debug[]="#2179 dropped and tell to next pass qc(".$queue_cur.") ".$queue_not_drop;
} else if(isset($dropped_key[$root_instance_id]) and !isset($passed_to_next_drop[$root_instance_id]) and !isset($preserve[$evaluate_key_value_root_instance_schema][$evaluate_key_value_root_instance1624][$root_instance_id])) {
tag_to_drop_instance_by_missed_search($key3_values_search_RID_ID_to_REMOTE_ID,$evaluate_key_value_root_instance_schema,$evaluate_key_value_root_instance1624,$root_instance_id,'#720 by unique_searched_on_schema_split_queue');
$drop_debug[]="#2176 dropped again dropped and tell to next drop qc(".$queue_cur.") ".$queue_not_drop;
} else if(isset($dropped_key[$root_instance_id]) and isset($passed_to_next_drop[$root_instance_id])) {
$drop_debug[]="#2178 unpassed passed . qc(".$queue_cur.")";
//$dropped_key[$root_instance_id]=true;
$preserve[$evaluate_key_value_root_instance_schema][$evaluate_key_value_root_instance1624][$root_instance_id]=true;
unset($passed_to_next_drop[$root_instance_id]);
}
} else echo " ERROR?- not drop. ".$ki714."==".$key_instance;
if($queue_cur>=$queue_not_drop) $queue_cur=0;
}
}
}
} //eof if(count($evaluate_key_value_root
$last_evaluate_key_value_root_instance_count=count($evaluate_key_value_root_instance_schema_arr);
} //eof foreach $key3_values_search_RID_ID_to_REMOTE_ID
DEBUG_S(-3,' drop debug - ',$drop_debug,__FILE__,__FUNCTION__,__LINE__);
} //eof func
unique_searched_on_schema_split_queue($key3_values_search_RID_ID_to_REMOTE_ID);
DEBUG_S(-3,'key3_values_search_RID_ID_to_REMOTE_ID (TODO testowe dodanie kluczy do dropowania dla instancji )',$key3_values_search_RID_ID_to_REMOTE_ID,__FILE__,__FUNCTION__,__LINE__);
foreach($key3_values_search_RID_ID_to_REMOTE_ID as $evaluate_key_value_root_instance_schema=>$evaluate_key_value_root_instance_schema_arr) {
foreach($evaluate_key_value_root_instance_schema_arr as $evaluate_key_value_root_instance=>$evaluate_key_value_root_instance_arr) {
DEBUG_S(-3,'key3_values_search_RID_ID_to_REMOTE_ID '.$evaluate_key_value_root_instance,$evaluate_key_value_root_instance_arr,__FILE__,__FUNCTION__,__LINE__);
}
}
function evaluate_key2_value_root_instance_searched_merged_cleaned($key3_values_search_RID_ID_to_REMOTE_ID) {
foreach($key3_values_search_RID_ID_to_REMOTE_ID as $evaluate_key_value_root_instance_schema=>$evaluate_key_value_root_instance_schema_arr) {
foreach($evaluate_key_value_root_instance_schema_arr as $evaluate_key_value_root_instance=>$evaluate_key_value_root_instance_arr) {
foreach($evaluate_key_value_root_instance_arr as $root_instance_id=>$evaluate_key_value_schema_arr) {
// DEBUG_S(-3,'jade ',$evaluate_key_value_schema_arr,__FILE__,__FUNCTION__,__LINE__);
foreach($evaluate_key_value_schema_arr as $evaluate_key_value_schema=>$evaluate_key_value_arr)
if($root_instance_id!='searched' and $root_instance_id!='back-referenced' and !isset( $evaluate_key_value_schema_arr['to_drop']))
$evaluate_key2_value_root_instance_searched_merged_cleaned[$evaluate_key_value_root_instance_schema][]=$root_instance_id;
//if(isset( $evaluate_key_value_schema_arr['to_drop'])) DEBUG_S(-3,'it is found to be dropped',$evaluate_key_value_schema_arr,__FILE__,__FUNCTION__,__LINE__);
}
} //eof foreach($evaluate_key_value_root_instance_schema_arr as $evaluate_key_value_root_instance=>$evaluate_key_value_root_instance_arr) {
}
return $evaluate_key2_value_root_instance_searched_merged_cleaned;
}
$evaluate_key2_value_root_instance_searched_merged_cleaned=evaluate_key2_value_root_instance_searched_merged_cleaned($key3_values_search_RID_ID_to_REMOTE_ID);
//@2015-12-26 klucze beda teraz zachowywac schemat (1)/(*)
function evaluate_key3_value_root_instance_searched_merged_cleaned($key3_values_search_RID_ID_to_REMOTE_ID) {
foreach($key3_values_search_RID_ID_to_REMOTE_ID as $evaluate_key_value_root_instance_schema=>$evaluate_key_value_root_instance_schema_arr) {
foreach($evaluate_key_value_root_instance_schema_arr as $evaluate_key_value_root_instance=>$evaluate_key_value_root_instance_arr) {
foreach($evaluate_key_value_root_instance_arr as $root_instance_id=>$evaluate_key_value_schema_arr) {
// DEBUG_S(-3,'jade ',$evaluate_key_value_schema_arr,__FILE__,__FUNCTION__,__LINE__);
foreach($evaluate_key_value_schema_arr as $evaluate_key_value_schema=>$evaluate_key_value_arr)
if($root_instance_id!='searched' and $root_instance_id!='back-referenced' and !isset( $evaluate_key_value_schema_arr['to_drop']))
$evaluate_key3_value_root_instance_searched_merged_cleaned[$evaluate_key_value_root_instance_schema][$evaluate_key_value_root_instance][]=$root_instance_id;
//if(isset( $evaluate_key_value_schema_arr['to_drop'])) DEBUG_S(-3,'it is found to be dropped',$evaluate_key_value_schema_arr,__FILE__,__FUNCTION__,__LINE__);
}
} //eof foreach($evaluate_key_value_root_instance_schema_arr as $evaluate_key_value_root_instance=>$evaluate_key_value_root_instance_arr) {
}
return $evaluate_key3_value_root_instance_searched_merged_cleaned;
}
$evaluate_key3_value_root_instance_searched_merged_cleaned=evaluate_key3_value_root_instance_searched_merged_cleaned($key3_values_search_RID_ID_to_REMOTE_ID);
24 : testowe TODO do testowania template sso_procesy5:INSTANCES - @2015-12-13 nie wiem jeszcze po co to jest412 tworze zapytanie sql do stworzenia tabel dla oczekiwanego obiektu#690 sso: przetwarzam dla @name=; $prefix_134=;#706 element should be or ComplexType or element only!#706 element should be or ComplexType or element only!#672 sso: przetwarzam dla elementu:;polaczony xml z funkcjami do przetwarzania do zapisu(formularz+php zapisujacy) a teraz takze i do odczytu(lista UI+php czytajacy)przetworzony p5_obj_vars:create_obj_form_html z kodem w html do stworzenia formularza do zapisu obiektu i przeslania go do funkcji wytworzonej w p5_obj_vars:create_obj_array_phpprzetworzony p5_obj_vars:create_obj_array dla generowania funkcji zapisujacej w php, do dalszego przetworzenia do p5_obj_vars:create_obj_array_php_codeprzetworzony p5_obj_vars:create_obj_array_php z kodem w php do zapisu obiektu przeslanego z p5_obj_vars:list_obj_form_htmlprzetworzony p5_obj_vars:create_obj_array dla wyswietlenia listy obiektowprzetworzony p5_obj_vars:create_obj_array dla celu przetworzenia do funkcji pokazujacych obiekty - WIDOK/VIEW przetworzony p5_obj_vars:create_obj_array dla zapewnienia dzialania p5_obj_vars:list_obj_form_html - przekazujacy dane przetworzony php obslugujacy pierwsze zapytanie do wyszukiwanych kluczy, ktore jest potem drugi raz przejezdzane - p5_obj_vars:list_obj_form_php dla zapewnienia dzialania p5_obj_vars:list_obj_form_html - przekazujacy dane - kod php kod php po przetworzeniu z szukania - sciaga keys/values, ktore sa potem skladane kod php parsujacy p5_obj_vars:merge_keys_list_obj_form_php_code i pokazujacy obiekt dla uzytkownikakod php parsujacy p5_obj_vars:merge_keys_list_obj_form_php_code i pokazujacy obiekt w json - do obslugi syzbkiego podlaczania refow 2016-01-15 triggery do synchronizacji struktur plaskich z obiektami zaglebionymi
require_once '/se-lib/bootstrap.php';
$db = DB::getDB();
if($_POST['create_tables']) {
foreach($sql_struct as $sql) {
echo "i run sql:".$sql;
$db->query($sql);
echo " - CREATE FINISHED OK";
}
die();
}
require_once '/se-lib/bootstrap.php';
require_once '/superedit-DEBUG_S.php';
$db = DB::getDB();
menu-glownecreate_obj_array_php_code:
wyszukiwanie
require_once 'create_sql_tables_final.php';
require_once '/se-lib/bootstrap.php';
require_once '/superedit-DEBUG_S.php';
$db = DB::getDB();
if($_POST['drop_tables']) {
foreach($sql_struct_drop as $sql) {
echo "i run drop sql:".$sql;
$db->query($sql);
}
die();
}
DEBUG_S(-3,'_POST',$_POST,__FILE__,__FUNCTION__,__LINE__);
echo "OK EXECUTED EOF";
require_once 'create_sql_tables_final.php';
require_once '/se-lib/bootstrap.php';
require_once '/superedit-DEBUG_S.php';
$db = DB::getDB();
menu-glownelist_obj_form_php_code:
//require_once 'create_sql_tables_final.php';
require_once '/se-lib/bootstrap.php';
$db = DB::getDB();
echo "<pre>";
DEBUG_S(-3,'_POST',$_POST,__FILE__,__FUNCTION__,__LINE__);
echo "</pre>";
//foreach($sql_struct as $sql) {
// echo "i run sql:".$sql;
// $db->query($sql);
//}
echo "OK EXECUTED EOF";
menu-glowne
//require_once 'create_sql_tables_final.php';
require_once '/se-lib/bootstrap.php';
require_once '/superedit-DEBUG_S.php';
//includujemy schemat obiektu do php
require_once 'get_encapsulated_to_array_form.php';
$db = DB::getDB();
require_once 'list_obj_form_php_code.php';
echo "OK EXECUTED 1/3 EOF";
DEBUG_S(-3,'sql_debug - zapytania do bazy z p5_obj_vars:list_obj_form_php_code ',$sql_debug,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key4_arr_values_search - macierz danych zlozonych ze sciezki xpath',$key4_arr_values_search,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'values znalezione wartosci po pierwszym formularzu list - TODO raczej niepotrzebne [@sso_procesy5:read_key_value][p5_obj_vars:get_encapsulated_last_key_form()][] ',$values,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key_values znalezione wartosci po pierwszym formularzu list - TODO raczej niepotrzebne [@sso_procesy5:read_key_value][p5_obj_vars:get_encapsulated_last_key_form()][] ',$key_values,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key_values_search_instance_ID[@sso_procesy5:read_key_value][p5_obj_vars:get_encapsulated_last_key_form()][] ',$key_values_search_instance_ID,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key2_values_search_instance_ID ',$key2_values_search_instance_ID,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key_values_search_CACHE_INSTANCE_ID[@sso_procesy5:read_key_value] ',$key_values_search_CACHE_INSTANCE_ID,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key2_values_search_CACHE_INSTANCE_ID[@sso_procesy5:read_key_value] ',$key2_values_search_CACHE_INSTANCE_ID,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key_values_search_REMOTE_ID[@p5_obj_vars:evaluate_key_value_root_instance][@p5_obj_vars:http_form_get_variable][p5_obj_vars:get_encapsulated_last_key_form()][] ',$key_values_search_REMOTE_ID,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key2_values_search_REMOTE_ID ( [p5_obj_vars:get_encapsulated_without_last_key_form(@p5_obj_vars:evaluate_key_value_remote)][p5_obj_vars:get_encapsulated_last_key_form(@p5_obj_vars:evaluate_key_value_remote][]) ',$key2_values_search_REMOTE_ID,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key_values_search_ID[@p5_obj_vars:evaluate_key_value_root_instance][@p5_obj_vars:http_form_get_variable][p5_obj_vars:get_encapsulated_last_key_form(http_form_get_variable)][] ',$key_values_search_ID,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key2_values_search_ID (wartosci instancji dla elementow tworozne w stylu #KEY[#seq] zamiast #KEY(x)[#seq] do analizy) ',$key2_values_search_ID,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key2_values_search_OBJ (znalezione wartosci elementow z bazy) ',$key2_values_search_OBJ,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key3_values_search_ID_to_REMOTE_ID (klucze do zmniejszenia ilosci instancji na podstawie brakujacych referencji z wezlow nizszych - powinny zarazac wyzsze) ',$key3_values_search_ID_to_REMOTE_ID,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key3_values_search_RID_ID_to_REMOTE_ID ([ROOT_INSTANCE*][ROOT_INSTANCE][ROOT_INSTANCE_ID][ELEMENT_NAME*][ELEMENT_NAME][ID][@evaluate_key_value_remote][ID]) ',$key3_values_search_RID_ID_to_REMOTE_ID,__FILE__,__FUNCTION__,__LINE__);
$file = '/se-lib/src-xmlschema/public_html/default_db.instance.xml/sso_procesy5//key3_values_search_RID_ID_to_REMOTE_ID.xml';
save_array_to_xml('key3_values_search_RID_ID_to_REMOTE_ID',$key3_values_search_RID_ID_to_REMOTE_ID,$file);
echo '<a href="/default_db.instance.xml/sso_procesy5//key3_values_search_RID_ID_to_REMOTE_ID.xml"> xml z array do yed do analizy<a>';
DEBUG_S(-3,'replaceKeys(key4_arr_values_search)',replaceKeys($key4_arr_values_search),__FILE__,__FUNCTION__,__LINE__);
$file = '/se-lib/src-xmlschema/public_html/default_db.instance.xml/sso_procesy5//key4_arr_values_search.xml';
save_array_to_xml('key4_arr_values_search',$key4_arr_values_search,$file);
echo '<a href="/default_db.instance.xml/sso_procesy5//key4_arr_values_search.xml"> xml z array do yed do analizy<a>';
DEBUG_S(-3,'key3_values_search_ID_to_REMOTE_ID_merged (brakujace klucze na podstawie dzieci - TODO) ',$key3_values_search_ID_to_REMOTE_ID_merged,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'evaluate_key2_value_root_instance_searched_merged_cleaned (przetworzony evaluate_key2_value_root_instance_searched_merged wyczyszczony z intancji brakujacych refernecji rekursywnie- TODO) ',$evaluate_key2_value_root_instance_searched_merged_cleaned,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'evaluate_key3_value_root_instance_searched_merged_cleaned (przetworzony evaluate_key2_value_root_instance_searched_merged wyczyszczony z intancji brakujacych refernecji rekursywnie- TODO) ',$evaluate_key3_value_root_instance_searched_merged_cleaned,__FILE__,__FUNCTION__,__LINE__);
sso_procesy5:methods/p5_obj_vars:view_obj_form_html - tymczasowe przetworzenie do wyswietlenia 1 obiektu
DEBUG_S(-3,'sql_debug_merge - zapytania do bazy z p5_obj_vars:merge_keys_list_obj_form_php_code ',$sql_debug_merge,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key_values_merged (odczytane klucze na podstawie find_in[$evaluate_key_value_root_instance_searched_merged[@p5_obj_vars:http_form_get_variable]] TODO do pozbycia sie na rzecz key3',$key_values_merged,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'values_merged (odczytane klucze na podstawie find_in[\$evaluate_key_value_root_instance_searched_merged[@@p5_obj_vars:http_form_get_variable]] TODO do pozbycia sie na rzecz key3 ',$values_merged,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key3_values_merged (odczytane klucze na podstawie find_in[$evaluate_key_value_root_instance_searched_merged[@p5_obj_vars:http_form_get_variable]] - w stylu (*)/(1)',$key3_values_merged,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'values3_merged (odczytane klucze na podstawie find_in[\$evaluate_key_value_root_instance_searched_merged[@@p5_obj_vars:http_form_get_variable]] - w stylu (*)/(1)',$values3_merged,__FILE__,__FUNCTION__,__LINE__);
echo "OK EXECUTED 2/3 EOF";
sso_procesy5:methods/p5_obj_vars:merge_keys_list_obj_form_html wyswietlenie listy obiektow do przejscia do ich edycji
OK EXECUTED 3/3
echo "<pre>";
DEBUG_S(-3,'form (odczytane wartosci przez formularz mode p5_obj_vars:merge_keys_list_obj_form_html)',$form,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'evaluate_from_ref_key_value (odczytane wartosci przez formularz mode p5_obj_vars:merge_keys_list_obj_form_html dla wyzwalania event 477 instancji na refie)',$evaluate_from_ref_key_value,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'debug_passed_else',$debug_passed_else,__FILE__,__FUNCTION__,__LINE__);
echo "</pre>";
//require_once 'create_sql_tables_final.php';
require_once '/se-lib/bootstrap.php';
require_once '/superedit-DEBUG_S.php';
//includujemy schemat obiektu do php
require_once 'get_encapsulated_to_array_form.php';
$db = DB::getDB();
require_once 'list_obj_form_php_code.php';
echo "OK EXECUTED 1/3 EOF";
DEBUG_S(-3,'sql_debug_merge - zapytania do bazy z p5_obj_vars:merge_keys_list_obj_form_php_code ',$sql_debug_merge,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key_values_merged (odczytane klucze na podstawie find_in[$evaluate_key_value_root_instance_searched_merged[@p5_obj_vars:http_form_get_variable]] TODO do pozbycia sie na rzecz key3',$key_values_merged,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'values_merged (odczytane klucze na podstawie find_in[\$evaluate_key_value_root_instance_searched_merged[@@p5_obj_vars:http_form_get_variable]] TODO do pozbycia sie na rzecz key3 ',$values_merged,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'key3_values_merged (odczytane klucze na podstawie find_in[$evaluate_key_value_root_instance_searched_merged[@p5_obj_vars:http_form_get_variable]] - w stylu (*)/(1)',$key3_values_merged,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'values3_merged (odczytane klucze na podstawie find_in[\$evaluate_key_value_root_instance_searched_merged[@@p5_obj_vars:http_form_get_variable]] - w stylu (*)/(1)',$values3_merged,__FILE__,__FUNCTION__,__LINE__);
echo "OK EXECUTED 2/3 EOF";
sso_procesy5:methods/p5_obj_vars:merge_keys_list_obj_form_html wyswietlenie listy obiektow do przejscia do ich edycji
OK EXECUTED 3/3
DEBUG_S(-3,'form (odczytane wartosci przez formularz mode p5_obj_vars:merge_keys_list_obj_form_html)',$form,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'evaluate_from_ref_key_value (odczytane wartosci przez formularz mode p5_obj_vars:merge_keys_list_obj_form_html dla wyzwalania event 477 instancji na refie)',$evaluate_from_ref_key_value,__FILE__,__FUNCTION__,__LINE__);
DEBUG_S(-3,'debug_passed_else',$debug_passed_else,__FILE__,__FUNCTION__,__LINE__);
sso_procesy5:methods/p5_obj_vars:merge_keys_list_obj_form_php_code funkcje do znalezienia czesci wspolnej z kluczy key*searched* oraz opracowanych key2*searched*
sso_procesy5:methods/p5_obj_vars:merge_keys_list_obj_form_php_code funkcje do znalezienia czesci wspolnej z kluczy key*searched* oraz opracowanych key2*searched*
//require_once 'create_sql_tables_final.php';
require_once '/se-lib/bootstrap.php';
$db = DB::getDB();
echo "OK EXECUTED mode p5_obj_vars:get_encapsulated_to_array_form EOF";
not expected scenario - if no error further - delete section for system_cache__appinfo:id=; p5_tr_map:uuid=; not applicable event - to remove section if error will not occurs#1577: sso will call system_cache__resources_tree_generate_xsl_required_occurs_raport:detect_objects_parent_relations_single_element_from_xml name_with_prefix: name_with_prefix:#1499: sso will call system_cache__resources_tree_generate_xsl_required_occurs_raport:detect_objects_parent_relations_single_element_from_xml name_with_prefix: name_with_prefix:#1512: sso will call system_cache__resources_tree_generate_xsl_required_occurs_raport:detect_objects_parent_relations_single_element_from_xml name_with_prefix: name_with_prefix:#1621 error - sould be or parent_name after 477 or @p5_tr_map:parent_type after 477b !#1617a: sso will call system_cache__resources_tree_generate_xsl_required_occurs_raport:detect_objects_parent_relations_single_element_from_xml name_with_prefix: name_with_prefix:#1617b: sso will call system_cache__resources_tree_generate_xsl_required_occurs_raport:detect_objects_parent_relations_single_element_from_xml name_with_prefix: name_with_prefix:#1621 error - sould be or parent_name after 477 or @p5_tr_map:parent_type after 477b !1615 ERROR it should be parent type. Tested: $system_cache__resources_tree_generate_xsl_required_occurs_raport:detect_resource_type/@p5_tr_map:parent_id:!=;#1987 unknown @event_type:; for @system_cache__appinfo:id:; #2069 error Unknown @event_type:;#2573 - unexpected element to parse - upgrade conditions for element=;#2573 - unexpected element to parse - upgrade conditions for element=;
$sql_struct[]="CREATE TABLE IF NOT EXISTS `` ( `ID` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin2 COMMENT=''";
$sql_struct[]="ALTER IGNORE TABLE `` ADD PRIMARY KEY (`ID`)";
$sql_struct[]="ALTER IGNORE TABLE `` MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT";
$sql_struct[]="ALTER IGNORE TABLE `` ADD NAME varchar(255)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD CACHE_INSTANCE_ID int(11)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD PARENT_ID int(11)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD REMOTE_ID int(11) "; $sql_struct[]="ALTER IGNORE TABLE `` ADD VALUE varchar(255)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD PARENT_ID int(11)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD CACHE_INSTANCE_ID int(11)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD PARENT_ID int(11)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD CACHE_INSTANCE_ID int(11)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD `` enum('true','derived','false','','N/S;') default 'N/S;'";
$sql_struct_drop[]="DROP TABLE ``";
$sql_struct[]="CREATE TABLE IF NOT EXISTS `` ( `ID` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin2 COMMENT=''";
$sql_struct[]="ALTER IGNORE TABLE `` ADD PRIMARY KEY (`ID`)";
$sql_struct[]="ALTER IGNORE TABLE `` MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT";
$sql_struct[]="ALTER IGNORE TABLE `` ADD NAME varchar(255)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD CACHE_INSTANCE_ID int(11)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD PARENT_ID int(11)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD REMOTE_ID int(11) "; $sql_struct[]="ALTER IGNORE TABLE `` ADD VALUE varchar(255)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD PARENT_ID int(11)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD CACHE_INSTANCE_ID int(11)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD PARENT_ID int(11)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD CACHE_INSTANCE_ID int(11)" ; $sql_struct[]="ALTER IGNORE TABLE `` ADD `` enum('true','derived','false','','N/S;') default 'N/S;'";
$sql_struct_drop[]="DROP TABLE ``";