X-Git-Url: http://git.dj3c1t.com/?a=blobdiff_plain;f=app%2Fdata%2Fmodules%2Fxml%2Fsml_data_sources.php;h=68e3a522931d244fe91d61fe62c25601b05c4fe1;hb=0b1ecd8b7536944d54d74ffc836982de3654d98b;hp=fb8dc2bb46cae13fad336c33f8e5a41f502b5e6b;hpb=3647c6bed06b3a1e3e014ef5a21074e7a6192899;p=mw_sourceml diff --git a/app/data/modules/xml/sml_data_sources.php b/app/data/modules/xml/sml_data_sources.php index fb8dc2b..68e3a52 100644 --- a/app/data/modules/xml/sml_data_sources.php +++ b/app/data/modules/xml/sml_data_sources.php @@ -2,28 +2,28 @@ class sml_data_sources extends mw_data{ - var $status; + public $status; # ---------------------------------------------------------------------------------------- # status de source # - function source_status() - { if(!isset($this->status)) $this->status = $this->init_sources_status(); + public function source_status(){ + if(!isset($this->status)) $this->status = $this->init_sources_status(); return $this->status; } - function init_sources_status() - { $sgbd = $this->sgbd(); + public function init_sources_status(){ + $sgbd = $this->sgbd(); $env = $this->env(); $status = array(); - if($rst = $sgbd->open_data("sml_classes")) - { while($v_rst = $sgbd->fetch_data($rst)) - { if(isset($v_rst)) - { $status[$v_rst["id"]] = $v_rst; + if($rst = $sgbd->open_data("sml_classes")){ + while($v_rst = $sgbd->fetch_data($rst)){ + if(isset($v_rst)){ + $status[$v_rst["id"]] = $v_rst; } - else - { $status = false; + else{ + $status = false; break; } } @@ -37,12 +37,12 @@ # sources # - function init_sources_table(){ + public function init_sources_table(){ return true; } - function sources($params) - { $sgbd = $this->sgbd(); + public function sources($params){ + $sgbd = $this->sgbd(); $env = $this->env(); // ------------------------------------------------------------------------------- @@ -63,21 +63,21 @@ // ------------------------------------------------------------------------------- // infos pour verifier les filtres - if(isset($id_user) || isset($id_groupe)) - { $in_source_ids = array(); + if(isset($id_user) || isset($id_groupe)){ + $in_source_ids = array(); $in_groupe_ids = array(); if(isset($id_groupe)) $in_groupe_ids[$id_groupe] = true; - else - { if(($groupes = $this->groupes($id_user)) !== false) - { foreach($groupes["list"] as $id_groupe => $groupe) $in_groupe_ids[$id_groupe] = true; + else{ + if(($groupes = $this->groupes($id_user)) !== false){ + foreach($groupes["list"] as $id_groupe => $groupe) $in_groupe_ids[$id_groupe] = true; } else return false; } $OK = true; - if($rst = $sgbd->open_data("sml_sources_authors")) - { while($OK && $v_rst = $sgbd->fetch_data($rst)) - { if(isset($v_rst) && isset($v_rst["id_source"]) && isset($v_rst["id_author"])) - { if(isset($in_groupe_ids[$v_rst["id_author"]])) $in_source_ids[$v_rst["id_source"]] = true; + if($rst = $sgbd->open_data("sml_sources_authors")){ + while($OK && $v_rst = $sgbd->fetch_data($rst)){ + if(isset($v_rst) && isset($v_rst["id_source"]) && isset($v_rst["id_author"])){ + if(isset($in_groupe_ids[$v_rst["id_author"]])) $in_source_ids[$v_rst["id_source"]] = true; } else $OK = false; } @@ -88,21 +88,21 @@ } $compositions = array(); - if(isset($id_source)) - { if(($compositions = $this->source_compositions(array("id_source" => $id_source))) === false) - { return false; + if(isset($id_source)){ + if(($compositions = $this->source_compositions(array("id_source" => $id_source))) === false){ + return false; } } - elseif(isset($id_composition)) - { if(($compositions = $this->source_compositions(array("id_composition" => $id_composition))) === false) - { return false; + elseif(isset($id_composition)){ + if(($compositions = $this->source_compositions(array("id_composition" => $id_composition))) === false){ + return false; } } $derivations = array(); - if(isset($id_source_derivation)) - { if(($derivations = $this->source_derivations($id_source_derivation)) === false) - { return false; + if(isset($id_source_derivation)){ + if(($derivations = $this->source_derivations($id_source_derivation)) === false){ + return false; } } @@ -111,44 +111,44 @@ $sources = array("list" => array(), "total" => 0); $res = array(); - if($rst = $sgbd->open_data("sml_sources")) - { while($v_rst = $sgbd->fetch_data($rst)) - { if(isset($v_rst)){ + if($rst = $sgbd->open_data("sml_sources")){ + while($v_rst = $sgbd->fetch_data($rst)){ + if(isset($v_rst)){ $res[$v_rst["id"]] = $v_rst; if(!isset($res[$v_rst["id"]]["ordre"])) $res[$v_rst["id"]]["ordre"] = 0; } - else - { $res = false; + else{ + $res = false; break; } } $sgbd->close_data($rst); - if($res !== false) - { $res = $this->ordonne($res, $order_by, $order); + if($res !== false){ + $res = $this->ordonne($res, $order_by, $order); - foreach($res as $id_res => $v_rst) - { // ------------------------------- par defaut + foreach($res as $id_res => $v_rst){ + // ------------------------------- par defaut $MATCH = true; // ------------------------------- filtre sur id_user et id_groupe - if(isset($in_source_ids)) - { $MATCH = isset($in_source_ids[$v_rst["id"]]) && $in_source_ids[$v_rst["id"]]; + if(isset($in_source_ids)){ + $MATCH = isset($in_source_ids[$v_rst["id"]]) && $in_source_ids[$v_rst["id"]]; } // ------------------------------- filtre sur status - if($MATCH) - { $MATCH = !isset($status) || (isset($v_rst["id_class"]) && $v_rst["id_class"] == $status); + if($MATCH){ + $MATCH = !isset($status) || (isset($v_rst["id_class"]) && $v_rst["id_class"] == $status); } // -------------------------------- filtre sur id_source - if($MATCH) - { if(isset($id_source)) - { $MATCH = false; - if($compositions && is_array($compositions[$id_source])) - { foreach($compositions[$id_source] as $id_composition) - { if(isset($v_rst["id"]) && $v_rst["id"] == $id_composition) - { $MATCH = true; + if($MATCH){ + if(isset($id_source)){ + $MATCH = false; + if($compositions && is_array($compositions[$id_source])){ + foreach($compositions[$id_source] as $id_composition){ + if(isset($v_rst["id"]) && $v_rst["id"] == $id_composition){ + $MATCH = true; break; } } @@ -157,35 +157,35 @@ } // -------------------------------- filtre sur id_composition - if($MATCH) - { if(isset($id_composition)) - { if($id_composition) - { $MATCH = false; - if($compositions && is_array($compositions[$id_composition])) - { foreach($compositions[$id_composition] as $_id_source) - { if(isset($v_rst["id"]) && $v_rst["id"] == $_id_source) - { $MATCH = true; + if($MATCH){ + if(isset($id_composition)){ + if($id_composition){ + $MATCH = false; + if($compositions && is_array($compositions[$id_composition])){ + foreach($compositions[$id_composition] as $_id_source){ + if(isset($v_rst["id"]) && $v_rst["id"] == $_id_source){ + $MATCH = true; break; } } } } - else - { if($compositions) - { if(isset($compositions[$v_rst["id"]])) $MATCH = false; + else{ + if($compositions){ + if(isset($compositions[$v_rst["id"]])) $MATCH = false; } } } } // -------------------------------- filtre sur id_source_derivation - if($MATCH) - { if(isset($id_source_derivation)) - { $MATCH = false; - if($derivations && is_array($derivations[$id_source_derivation])) - { foreach($derivations[$id_source_derivation] as $_id_derivation) - { if(isset($v_rst["id"]) && $v_rst["id"] == $_id_derivation) - { $MATCH = true; + if($MATCH){ + if(isset($id_source_derivation)){ + $MATCH = false; + if($derivations && is_array($derivations[$id_source_derivation])){ + foreach($derivations[$id_source_derivation] as $_id_derivation){ + if(isset($v_rst["id"]) && $v_rst["id"] == $_id_derivation){ + $MATCH = true; break; } } @@ -194,9 +194,9 @@ } // -------------------------------- filtre sur la licence - if($MATCH) - { if(isset($id_licence)) - { $MATCH = false; + if($MATCH){ + if(isset($id_licence)){ + $MATCH = false; if(isset($v_rst["licence"]) && $v_rst["licence"] == $id_licence) $MATCH = true; } } @@ -214,8 +214,8 @@ } // -------------------------------- filtre sur quantite de resultats - if($MATCH) - { $sources["total"]++; + if($MATCH){ + $sources["total"]++; $MATCH = !isset($start) || !$env->config("max_list") || ($sources["total"] > $start && $sources["total"] <= ($start + $env->config("max_list"))); } @@ -232,8 +232,8 @@ return $sources; } - function source($id, $load = false) - { $sgbd = $this->sgbd(); + public function source($id, $load = false){ + $sgbd = $this->sgbd(); if(($source = $sgbd->get_data("sml_sources", $id)) !== false){ $source["status"] = $source["id_class"]; $source = $load ? $this->load_source($source) : $this->get_source_from_v_rst($source); @@ -242,40 +242,40 @@ return false; } - function get_source_from_v_rst($v_rst) - { $sgbd = $this->sgbd(); + public function get_source_from_v_rst($v_rst){ + $sgbd = $this->sgbd(); $source = $this->empty_source(); foreach($v_rst as $rst_key => $rst_value) $source[$rst_key] = $rst_value; $source["status"] = $source["id_class"]; - if($source["reference"]) - { if(!is_array($source["reference"])) - { $reference_url = $source["reference"]; + if($source["reference"]){ + if(!is_array($source["reference"])){ + $reference_url = $source["reference"]; $source["reference"] = $this->empty_source(); $source["reference"]["xml"]["url"] = $reference_url; } } - else - { if(!is_array($source["licence"])) - { $source["licence"] = array - ( "id" => $source["licence"] + else{ + if(!is_array($source["licence"])){ + $source["licence"] = array( + "id" => $source["licence"] ); } } return $source; } - function load_source($source){ + public function load_source($source){ $env = $this->env(); if(!isset($source["id"])) return false; $source = $this->get_source_from_v_rst($source); - $source["xml"] = array - ( "url" => $this->source_xml_url($source["id"]), + $source["xml"] = array( + "url" => $this->source_xml_url($source["id"]), "content" => $this->get_source_xml($source["id"]) ); $source["documents"] = array(); if(($source["groupes"] = $this->source_groupes($source["id"])) === false) return false; - $source["image_uri"] = - ( isset($source["image"]) && $source["image"] ? + $source["image_uri"] = ( + isset($source["image"]) && $source["image"] ? $env->path("content")."uploads/".$source["image"] : "" ); @@ -286,14 +286,14 @@ if($user = $env->user()){ if(($source["permissions"] = $this->source_permissions($source, $user["id"])) === false) return false; } - if(!$source["reference"]) - { if(($source["documents"] = $this->source_documents($source["id"])) === false) return false; + if(!$source["reference"]){ + if(($source["documents"] = $this->source_documents($source["id"])) === false) return false; } return $source; } - function add_source - ( $groupes, + public function add_source( + $groupes, $titre, $status, $licence, @@ -301,10 +301,10 @@ $reference = array(), $derivations = array(), $infos = array() - ) - { $sgbd = $this->sgbd(); - $source = array - ( "id_class" => $status, + ){ + $sgbd = $this->sgbd(); + $source = array( + "id_class" => $status, "reference" => $reference ? $reference["xml"]["url"] : null, "titre" => $reference ? null : $titre, "licence" => $reference ? null : $licence, @@ -314,42 +314,43 @@ foreach($infos as $key => $value) if(!isset($source[$key])) $source[$key] = $value; $id = $sgbd->add_data("sml_sources", $source); if(!isset($id)) return false; - foreach($groupes as $id_groupe => $groupe) - { if($groupe["id"] && $groupe["id_groupe_status"]) - { if(!$this->add_source_groupe($id, $groupe["id"], $groupe["id_groupe_status"])) return false; + foreach($groupes as $id_groupe => $groupe){ + if($groupe["id"] && $groupe["id_groupe_status"]){ + if(!$this->add_source_groupe($id, $groupe["id"], $groupe["id_groupe_status"])) return false; } else return false; } - foreach($derivations as $source_derivation) - { if - ( ( $id_source_derivation = $this->add_source_derivation - ( $id, + foreach($derivations as $source_derivation){ + if( + ( + $id_source_derivation = $this->add_source_derivation( + $id, $source_derivation["xml"]["url"], $source_derivation["xml"]["use_edit_content"] ? $source_derivation["xml"]["content"] : "" ) ) === false - ) - { return false; + ){ + return false; } } - if($reference) - { if($reference["xml"]["use_edit_content"]) - { if(!$this->set_edit_reference_content($id, $reference["xml"]["content"])) - { return false; + if($reference){ + if($reference["xml"]["use_edit_content"]){ + if(!$this->set_edit_reference_content($id, $reference["xml"]["content"])){ + return false; } } } - else - { foreach($documents as $document) - { if(!$this->add_source_document($id, $document)) return false; + else{ + foreach($documents as $document){ + if(!$this->add_source_document($id, $document)) return false; } } if(!$this->set_source_xml($id)) return false; return $id; } - function set_source - ( $id, + public function set_source( + $id, $groupes, $titre, $status, @@ -358,9 +359,9 @@ $reference = array(), $derivations = array(), $infos = array() - ) - { if($source = $this->source($id)) - { $sgbd = $this->sgbd(); + ){ + if($source = $this->source($id)){ + $sgbd = $this->sgbd(); $source["reference"] = $reference ? $reference["xml"]["url"] : null; $source["titre"] = $reference ? null : $titre; $source["licence"] = $reference ? null : $licence; @@ -368,37 +369,38 @@ foreach($infos as $key => $value) $source[$key] = $value; if(!$sgbd->set_data("sml_sources", $id, $source)) return false; if(!$this->del_source_groupes($id)) return false; - foreach($groupes as $id_groupe => $groupe) - { if($groupe["id"] && $groupe["id_groupe_status"]) - { if(!$this->add_source_groupe($id, $groupe["id"], $groupe["id_groupe_status"])) return false; + foreach($groupes as $id_groupe => $groupe){ + if($groupe["id"] && $groupe["id_groupe_status"]){ + if(!$this->add_source_groupe($id, $groupe["id"], $groupe["id_groupe_status"])) return false; } else return false; } if(!$this->del_source_derivations($id)) return false; if(!$this->del_edit_reference_content($id)) return false; if(!$this->del_source_documents($id)) return false; - foreach($derivations as $source_derivation) - { if - ( ( $id_source_derivation = $this->add_source_derivation - ( $id, + foreach($derivations as $source_derivation){ + if( + ( + $id_source_derivation = $this->add_source_derivation( + $id, $source_derivation["xml"]["url"], $source_derivation["xml"]["use_edit_content"] ? $source_derivation["xml"]["content"] : "" ) ) === false - ) - { return false; + ){ + return false; } } - if($reference) - { if($reference["xml"]["use_edit_content"]) - { if(!$this->set_edit_reference_content($id, $reference["xml"]["content"])) - { return false; + if($reference){ + if($reference["xml"]["use_edit_content"]){ + if(!$this->set_edit_reference_content($id, $reference["xml"]["content"])){ + return false; } } } - else - { foreach($documents as $document) - { if(!$this->add_source_document($id, $document)) return false; + else{ + foreach($documents as $document){ + if(!$this->add_source_document($id, $document)) return false; } } if(!$this->set_source_xml($id)) return false; @@ -407,17 +409,17 @@ return false; } - function set_source_info($id_source, $key, $value) - { $sgbd = $this->sgbd(); - if($source = $sgbd->get_data("sml_sources", $id_source)) - { $source[$key] = $value; + public function set_source_info($id_source, $key, $value){ + $sgbd = $this->sgbd(); + if($source = $sgbd->get_data("sml_sources", $id_source)){ + $source[$key] = $value; if($sgbd->set_data("sml_sources", $id_source, $source)) return true; } return false; } - function del_source($id) - { $sgbd = $this->sgbd(); + public function del_source($id){ + $sgbd = $this->sgbd(); if(!$this->del_source_compositions(array("id_source" => $id, "id_composition" => $id))) return false; if(!$this->del_edit_reference_content($id)) return false; if(!$this->del_source_derivations($id)) return false; @@ -432,52 +434,52 @@ # derivations de sources # - function init_source_derivations(){ + public function init_source_derivations(){ return true; } - function source_derivations($params) - { $sgbd = $this->sgbd(); + public function source_derivations($params){ + $sgbd = $this->sgbd(); $env = $this->env(); $derivations = array(); // sources dont "id_source" est une derivation - if(isset($params["id_source"])) - { if($rst = $sgbd->open_data("sml_source_derivations")) - { while($v_rst = $sgbd->fetch_data($rst)) - { if(isset($v_rst)) - { if(isset($v_rst["id"]) && isset($v_rst["id_source"]) && $v_rst["id_source"] == $params["id_source"]) - { $derivations[$v_rst["id"]] = array(); + if(isset($params["id_source"])){ + if($rst = $sgbd->open_data("sml_source_derivations")){ + while($v_rst = $sgbd->fetch_data($rst)){ + if(isset($v_rst)){ + if(isset($v_rst["id"]) && isset($v_rst["id_source"]) && $v_rst["id_source"] == $params["id_source"]){ + $derivations[$v_rst["id"]] = array(); $derivation_edit_file = $this->derivation_edit_xml_path($v_rst["id_source"], $v_rst["id"]); - if(file_exists($derivation_edit_file)) - { if(($derivation_edit_content = $this->get_edit_derivation_content($v_rst["id_source"], $v_rst["id"])) !== false) - { if(($derivations[$v_rst["id"]] = $this->source_xml_read($v_rst["derivation"], $derivation_edit_content)) !==false) - { $derivations[$v_rst["id"]]["xml"] = array - ( "url" => $v_rst["derivation"], + if(file_exists($derivation_edit_file)){ + if(($derivation_edit_content = $this->get_edit_derivation_content($v_rst["id_source"], $v_rst["id"])) !== false){ + if(($derivations[$v_rst["id"]] = $this->source_xml_read($v_rst["derivation"], $derivation_edit_content)) !==false){ + $derivations[$v_rst["id"]]["xml"] = array( + "url" => $v_rst["derivation"], "content" => $derivation_edit_content, "use_edit_content" => true ); } - else - { $derivations = null; + else{ + $derivations = null; break; } } - else - { $derivations = null; + else{ + $derivations = null; break; } } - else - { if(($derivations[$v_rst["id"]] = $this->source_xml_read($v_rst["derivation"])) !==false) - { $derivations[$v_rst["id"]]["id_source"] = $v_rst["id_source"]; + else{ + if(($derivations[$v_rst["id"]] = $this->source_xml_read($v_rst["derivation"])) !==false){ + $derivations[$v_rst["id"]]["id_source"] = $v_rst["id_source"]; } else $derivations[$v_rst["id"]] = $this->empty_source(); } $derivations[$v_rst["id"]]["id_source"] = $v_rst["id_source"]; } } - else - { $derivations = null; + else{ + $derivations = null; break; } } @@ -487,32 +489,38 @@ return $derivations; } // sources qui derivent de "derivation" - elseif(isset($params["derivation"])) - { $source_xml_url = $params["derivation"]; + elseif(isset($params["derivation"])){ + $source_xml_url = $params["derivation"]; if(preg_match("/^[0-9]+$/", $source_xml_url)) $source_xml_url = $this->source_xml_url($source_xml_url); $id_sources = array(); - if($rst = $sgbd->open_data("sml_source_derivations")) - { while($v_rst = $sgbd->fetch_data($rst)) - { if(isset($v_rst)) - { if(isset($v_rst["id_source"]) && isset($v_rst["derivation"]) && $v_rst["derivation"] == $source_xml_url) - { $id_sources[$v_rst["id_source"]] = true; + if($rst = $sgbd->open_data("sml_source_derivations")){ + while($v_rst = $sgbd->fetch_data($rst)){ + if(isset($v_rst)){ + if(isset($v_rst["id_source"]) && isset($v_rst["derivation"]) && $v_rst["derivation"] == $source_xml_url){ + $id_sources[$v_rst["id_source"]] = true; } } - else { $id_sources = false; break; } + else{ + $id_sources = false; + break; + } } $sgbd->close_data($rst); } else $id_sources = false; if($id_sources === false) return false; - if($id_sources) - { if($rst = $sgbd->open_data("sml_sources")) - { while($v_rst = $sgbd->fetch_data($rst)) - { if(isset($v_rst)) - { if(isset($v_rst["id"]) && isset($id_sources[$v_rst["id"]])) - { $derivations[$v_rst["id"]] = $v_rst; + if($id_sources){ + if($rst = $sgbd->open_data("sml_sources")){ + while($v_rst = $sgbd->fetch_data($rst)){ + if(isset($v_rst)){ + if(isset($v_rst["id"]) && isset($id_sources[$v_rst["id"]])){ + $derivations[$v_rst["id"]] = $v_rst; } } - else { $derivations = false; break; } + else{ + $derivations = false; + break; + } } $sgbd->close_data($rst); } @@ -523,24 +531,24 @@ return false; } - function source_derivation($id) - { $sgbd = $this->sgbd(); + public function source_derivation($id){ + $sgbd = $this->sgbd(); return $sgbd->get_data("sml_source_derivations", $id); } - function add_source_derivation($id_source, $derivation, $edit_content = "") - { $sgbd = $this->sgbd(); - $id_source_derivation = $sgbd->add_data - ( "sml_source_derivations", - array - ( "id_source" => $id_source, + public function add_source_derivation($id_source, $derivation, $edit_content = ""){ + $sgbd = $this->sgbd(); + $id_source_derivation = $sgbd->add_data( + "sml_source_derivations", + array( + "id_source" => $id_source, "derivation" => $derivation ) ); - if(isset($id_source_derivation)) - { if($edit_content) - { if(!$this->set_edit_derivation_content($id_source, $id_source_derivation, $edit_content)) - { $id_source_derivation = false; + if(isset($id_source_derivation)){ + if($edit_content){ + if(!$this->set_edit_derivation_content($id_source, $id_source_derivation, $edit_content)){ + $id_source_derivation = false; } } } @@ -548,22 +556,23 @@ return $id_source_derivation; } - function set_source_derivation($id_source_derivation, $id_source, $derivation, $edit_content = "") - { $sgbd = $this->sgbd(); - if - ( ( $sgbd->set_data - ( "sml_source_derivations", + public function set_source_derivation($id_source_derivation, $id_source, $derivation, $edit_content = ""){ + $sgbd = $this->sgbd(); + if( + ( + $sgbd->set_data( + "sml_source_derivations", $id_source_derivation, - array - ( "id_source" => $id_source, + array( + "id_source" => $id_source, "derivation" => $derivation ) ) ) - ) - { if($edit_content) - { if(!$this->set_edit_derivation_content($id_source, $id_source_derivation, $edit_content)) - { return false; + ){ + if($edit_content){ + if(!$this->set_edit_derivation_content($id_source, $id_source_derivation, $edit_content)){ + return false; } } return true; @@ -571,13 +580,13 @@ return false; } - function del_source_derivation($id_source_derivation) - { if(($derivation = $this->source_derivation($id_source_derivation)) !== false) - { if(($derivations = $this->source_derivations(array("id_source" => $derivation["id_source"]))) !== false) - { $sgbd = $this->sgbd(); + public function del_source_derivation($id_source_derivation){ + if(($derivation = $this->source_derivation($id_source_derivation)) !== false){ + if(($derivations = $this->source_derivations(array("id_source" => $derivation["id_source"]))) !== false){ + $sgbd = $this->sgbd(); if(!$sgbd->del_data("sml_source_derivations", $id_source_derivation)) return false; - if(count($derivations) > 1) - { return $this->del_edit_derivation_content($derivation["id_source"], $id_source_derivation); + if(count($derivations) > 1){ + return $this->del_edit_derivation_content($derivation["id_source"], $id_source_derivation); } else return $this->del_edit_derivations($derivation["id_source"]); } @@ -585,25 +594,28 @@ return false; } - function del_source_derivations($id_source) - { $sgbd = $this->sgbd(); + public function del_source_derivations($id_source){ + $sgbd = $this->sgbd(); $id_source_derivations = array(); - if($rst = $sgbd->open_data("sml_source_derivations")) - { while($v_rst = $sgbd->fetch_data($rst)) - { if(isset($v_rst)) - { if(isset($v_rst["id"]) && isset($v_rst["id_source"]) && $v_rst["id_source"] == $id_source) - { $id_source_derivations[] = $v_rst["id"]; + if($rst = $sgbd->open_data("sml_source_derivations")){ + while($v_rst = $sgbd->fetch_data($rst)){ + if(isset($v_rst)){ + if(isset($v_rst["id"]) && isset($v_rst["id_source"]) && $v_rst["id_source"] == $id_source){ + $id_source_derivations[] = $v_rst["id"]; } } - else { $id_source_derivations = false; break; } + else{ + $id_source_derivations = false; + break; + } } $sgbd->close_data($rst); } else $id_source_derivations = false; if($id_source_derivations === false) return false; - if($id_source_derivations) - { foreach($id_source_derivations as $id_source_derivation) - { if(!$sgbd->del_data("sml_source_derivations", $id_source_derivation)) return false; + if($id_source_derivations){ + foreach($id_source_derivations as $id_source_derivation){ + if(!$sgbd->del_data("sml_source_derivations", $id_source_derivation)) return false; } } return $this->del_edit_derivations($id_source); @@ -613,22 +625,22 @@ # references # - function source_reference($source) - { $reference = array(); - if($source["reference"]) - { if(!is_array($source["reference"])) - { $source["reference"] = array - ( "url" => $source["reference"], + public function source_reference($source){ + $reference = array(); + if($source["reference"]){ + if(!is_array($source["reference"])){ + $source["reference"] = array( + "url" => $source["reference"], "content" => "", "use_edit_content" => false ); } $reference_edit_file = $this->reference_edit_xml_path($source["id"]); - if(file_exists($reference_edit_file)) - { if(($reference_edit_content = $this->get_edit_reference_content($source["id"])) !== false) - { if(($reference = $this->source_xml_read($source["reference"], $reference_edit_content)) !==false) - { $reference["xml"] = array - ( "url" => $source["reference"]["xml"]["url"], + if(file_exists($reference_edit_file)){ + if(($reference_edit_content = $this->get_edit_reference_content($source["id"])) !== false){ + if(($reference = $this->source_xml_read($source["reference"], $reference_edit_content)) !==false){ + $reference["xml"] = array( + "url" => $source["reference"]["xml"]["url"], "content" => $reference_edit_content, "use_edit_content" => true ); @@ -637,9 +649,9 @@ } else return false; } - else - { if(($reference = $this->source_xml_read($source["reference"]["xml"]["url"])) ===false) - { $reference = $this->empty_source(); + else{ + if(($reference = $this->source_xml_read($source["reference"]["xml"]["url"])) ===false){ + $reference = $this->empty_source(); } } } @@ -650,14 +662,14 @@ # documents # - function source_documents($id_source) - { $sgbd = $this->sgbd(); + public function source_documents($id_source){ + $sgbd = $this->sgbd(); $documents = array(); - if($sgbd->data_exists("sml_sources/".$id_source)) - { if($rst = $sgbd->open_data("sml_sources/".$id_source)) - { $OK = true; - while($OK && ($document = $sgbd->fetch_data($rst))) - { if(isset($document)) $documents[$document["id"]] = $document; + if($sgbd->data_exists("sml_sources/".$id_source)){ + if($rst = $sgbd->open_data("sml_sources/".$id_source)){ + $OK = true; + while($OK && ($document = $sgbd->fetch_data($rst))){ + if(isset($document)) $documents[$document["id"]] = $document; else $OK = false; } $sgbd->close_data($rst); @@ -668,28 +680,31 @@ return $documents; } - function add_source_document($id_source, $document) - { $sgbd = $this->sgbd(); - if(!$sgbd->data_exists("sml_sources/".$id_source)) - { if(!$sgbd->create_data("sml_sources/".$id_source)) return false; - } - if - ( !( $id_document = $sgbd->add_data - ( "sml_sources/".$id_source, - array - ( "nom" => $document["nom"], + public function add_source_document($id_source, $document){ + $sgbd = $this->sgbd(); + if(!$sgbd->data_exists("sml_sources/".$id_source)){ + if(!$sgbd->create_data("sml_sources/".$id_source)) return false; + } + if( + !( + $id_document = $sgbd->add_data( + "sml_sources/".$id_source, + array( + "nom" => $document["nom"], "url" => $document["url"] ) ) ) - ) return false; + ){ + return false; + } return $id_document; } - function del_source_documents($id_source) - { $sgbd = $this->sgbd(); - if($sgbd->data_exists("sml_sources/".$id_source)) - { if(!$sgbd->remove_data("sml_sources/".$id_source)) return false; + public function del_source_documents($id_source){ + $sgbd = $this->sgbd(); + if($sgbd->data_exists("sml_sources/".$id_source)){ + if(!$sgbd->remove_data("sml_sources/".$id_source)) return false; } return true; } @@ -698,50 +713,59 @@ # compositions de sources # - function source_compositions($params) - { $id_source = isset($params["id_source"]) ? $params["id_source"] : null; + public function source_compositions($params){ + $id_source = isset($params["id_source"]) ? $params["id_source"] : null; $id_composition = isset($params["id_composition"]) ? $params["id_composition"] : null; $sgbd = $this->sgbd(); $env = $this->env(); $compositions = array(); - if(isset($id_source)) - { if($rst = $sgbd->open_data("sml_source_compositions")) - { while($v_rst = $sgbd->fetch_data($rst)) - { if(isset($v_rst)) - { if(isset($v_rst["id_source"]) && isset($v_rst["id_composition"]) && $v_rst["id_source"] == $id_source) - { if(!isset($compositions[$v_rst["id_source"]])) $compositions[$v_rst["id_source"]] = array(); + if(isset($id_source)){ + if($rst = $sgbd->open_data("sml_source_compositions")){ + while($v_rst = $sgbd->fetch_data($rst)){ + if(isset($v_rst)){ + if(isset($v_rst["id_source"]) && isset($v_rst["id_composition"]) && $v_rst["id_source"] == $id_source){ + if(!isset($compositions[$v_rst["id_source"]])) $compositions[$v_rst["id_source"]] = array(); $compositions[$v_rst["id_source"]][] = $v_rst["id_composition"]; } } - else { $compositions = false; break; } + else{ + $compositions = false; + break; + } } $sgbd->close_data($rst); } else $compositions = false; } - elseif(isset($id_composition)) - { if($id_composition) - { if($rst = $sgbd->open_data("sml_source_compositions")) - { while($v_rst = $sgbd->fetch_data($rst)) - { if(isset($v_rst)) - { if(isset($v_rst["id_source"]) && isset($v_rst["id_composition"]) && $v_rst["id_composition"] == $id_composition) - { if(!isset($compositions[$v_rst["id_composition"]])) $compositions[$v_rst["id_composition"]] = array(); + elseif(isset($id_composition)){ + if($id_composition){ + if($rst = $sgbd->open_data("sml_source_compositions")){ + while($v_rst = $sgbd->fetch_data($rst)){ + if(isset($v_rst)){ + if(isset($v_rst["id_source"]) && isset($v_rst["id_composition"]) && $v_rst["id_composition"] == $id_composition){ + if(!isset($compositions[$v_rst["id_composition"]])) $compositions[$v_rst["id_composition"]] = array(); $compositions[$v_rst["id_composition"]][] = $v_rst["id_source"]; } } - else { $compositions = false; break; } + else{ + $compositions = false; + break; + } } $sgbd->close_data($rst); } else $compositions = false; } - else - { if($rst = $sgbd->open_data("sml_source_compositions")) - { while($v_rst = $sgbd->fetch_data($rst)) - { if(isset($v_rst)) - { if(isset($v_rst["id_source"])) $compositions[$v_rst["id_source"]] = true; + else{ + if($rst = $sgbd->open_data("sml_source_compositions")){ + while($v_rst = $sgbd->fetch_data($rst)){ + if(isset($v_rst)){ + if(isset($v_rst["id_source"])) $compositions[$v_rst["id_source"]] = true; + } + else{ + $compositions = false; + break; } - else { $compositions = false; break; } } $sgbd->close_data($rst); } @@ -751,70 +775,77 @@ return $compositions; } - function set_source_composition($id_source, $id_composition) - { $sgbd = $this->sgbd(); - if - ( $sgbd->add_data - ( "sml_source_compositions", - array - ( "id_source" => $id_source, + public function set_source_composition($id_source, $id_composition){ + $sgbd = $this->sgbd(); + if( + $sgbd->add_data( + "sml_source_compositions", + array( + "id_source" => $id_source, "id_composition" => $id_composition ) ) - ) return $this->set_source_xml($id_composition); + ){ + return $this->set_source_xml($id_composition); + } return false; } - function del_source_compositions($params) - { $OK = true; + public function del_source_compositions($params){ + $OK = true; $id_source = isset($params["id_source"]) ? $params["id_source"] : null; $id_composition = isset($params["id_composition"]) ? $params["id_composition"] : null; $to_delete = array(); $to_update = array(); if(isset($id_composition)) $to_update[$id_composition] = true; $sgbd = $this->sgbd(); - if($rst = $sgbd->open_data("sml_source_compositions")) - { while($v_rst = $sgbd->fetch_data($rst)) - { if(isset($v_rst)) - { if(isset($v_rst["id"]) && isset($v_rst["id_source"]) && isset($v_rst["id_composition"])) - { if - ( (isset($id_source) && $v_rst["id_source"] == $id_source) + if($rst = $sgbd->open_data("sml_source_compositions")){ + while($v_rst = $sgbd->fetch_data($rst)){ + if(isset($v_rst)){ + if(isset($v_rst["id"]) && isset($v_rst["id_source"]) && isset($v_rst["id_composition"])){ + if( + (isset($id_source) && $v_rst["id_source"] == $id_source) || (isset($id_composition) && $v_rst["id_composition"] == $id_composition) - ) $to_delete[] = $v_rst["id"]; + ){ + $to_delete[] = $v_rst["id"]; + } if(isset($id_source) && $v_rst["id_source"] == $id_source) $to_update[$v_rst["id_composition"]] = true; } } - else { $OK = false; break; } + else{ + $OK = false; + break; + } } $sgbd->close_data($rst); } else $OK = false; if(!$OK) return false; - foreach($to_delete as $id_source_composition) - { if(!$sgbd->del_data("sml_source_compositions", $id_source_composition)) return false; + foreach($to_delete as $id_source_composition){ + if(!$sgbd->del_data("sml_source_compositions", $id_source_composition)) return false; } - foreach($to_update as $id_source_xml => $delete) - { if(!$this->set_source_xml($id_source_xml)) return false; + foreach($to_update as $id_source_xml => $delete){ + if(!$this->set_source_xml($id_source_xml)) return false; } return true; } - function has_sources($id_composition) - { $sgbd = $this->sgbd(); + public function has_sources($id_composition){ + $sgbd = $this->sgbd(); $env = $this->env(); $has_sources = 0; - if($rst = $sgbd->open_data("sml_source_compositions")) - { while($v_rst = $sgbd->fetch_data($rst)) - { if(isset($v_rst)) - { if(isset($v_rst["id_source"]) && isset($v_rst["id_composition"])) - { if($v_rst["id_composition"] == $id_composition) - { $has_sources = 1; + if($rst = $sgbd->open_data("sml_source_compositions")){ + while($v_rst = $sgbd->fetch_data($rst)){ + if(isset($v_rst)){ + if(isset($v_rst["id_source"]) && isset($v_rst["id_composition"])){ + if($v_rst["id_composition"] == $id_composition){ + $has_sources = 1; break; } } } - else - { $has_sources = false; + else{ + $has_sources = false; break; } } @@ -824,13 +855,12 @@ return $has_sources; } - function source_ariane($id_source, $ariane = array()) - { if(($compositions = $this->source_compositions(array("id_source" => $id_source))) !== false) - { if(isset($compositions[$id_source]) && $compositions[$id_source]) - { foreach($compositions[$id_source] as $id_composition) - { if(($ariane = $this->source_ariane($id_composition, $ariane)) !== false) - { if(($ariane[$id_composition] = $this->source($id_composition)) !== false) - { + public function source_ariane($id_source, $ariane = array()){ + if(($compositions = $this->source_compositions(array("id_source" => $id_source))) !== false){ + if(isset($compositions[$id_source]) && $compositions[$id_source]){ + foreach($compositions[$id_source] as $id_composition){ + if(($ariane = $this->source_ariane($id_composition, $ariane)) !== false){ + if(($ariane[$id_composition] = $this->source($id_composition)) !== false){ } else $ariane = false; } @@ -844,5 +874,3 @@ } } - -?> \ No newline at end of file