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 jest 412 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_php przetworzony p5_obj_vars:create_obj_array dla generowania funkcji zapisujacej w php, do dalszego przetworzenia do p5_obj_vars:create_obj_array_php_code przetworzony p5_obj_vars:create_obj_array_php z kodem w php do zapisu obiektu przeslanego z p5_obj_vars:list_obj_form_html przetworzony p5_obj_vars:create_obj_array dla wyswietlenia listy obiektow przetworzony 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 uzytkownika kod 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-glowne
create_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-glowne
list_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*

//require_once 'create_sql_tables_final.php'; require_once '/se-lib/bootstrap.php'; $db = DB::getDB(); echo "OK EXECUTED EOF"; echo "OK EXECUTED EOF";

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 ``";
Typy powiazane
(add)(lista)
Obiekty dowiazujace niniejszy obiekt (add)(lista)
Obiekty dowiazujace niniejszy obiekt - bez mozliwej instanacji w schemacie
Typy blizniacze
(add)(lista)