public function get_value() { if (!$this->value) { $parent = new cms_module_common_selector_sections($this->get_sub_selector_id("cms_module_common_selector_sections")); $cp = new cms_module_common_selector_type_section_filter($this->get_sub_selector_id("cms_module_common_selector_type_section_filter")); $parents = $parent->get_value(); $field = $cp->get_value(); $var = new cms_module_common_selector_env_var($this->get_sub_selector_id("cms_module_common_selector_env_var")); $this->value = array(); if (is_array($parents) && count($parents)) { $query = "select id_section from cms_sections where section_num_parent in (" . implode(",", $parents) . ")"; $result = pmb_mysql_query($query); $fields = new cms_editorial_parametres_perso($field['type']); if (pmb_mysql_num_rows($result)) { while ($row = pmb_mysql_fetch_object($result)) { $fields->get_values($row->id_section); if (in_array($var->get_value(), $fields->values[$field['field']])) { $this->value[] = $row->id_section; } } } } } return $this->value; }
public function get_value() { if (!$this->value) { $query = "select id_editorial_type from cms_editorial_types where editorial_type_element = 'section_generic'"; $result = pmb_mysql_query($query); if (pmb_mysql_num_rows($result)) { $fields = new cms_editorial_parametres_perso(pmb_mysql_result($result, 0, 0)); if ($this->parameters['sub_selector']) { $sub = new $this->parameters['sub_selector']($this->get_sub_selector_id($this->parameters['sub_selector'])); $fields->get_values($sub->get_value()); $this->value = $fields->values[$this->parameters['type_editorial_field']]; } } } return $this->value; }
public function get_value() { if (!$this->value) { $fields = new cms_editorial_parametres_perso($this->parameters["type_editorial"]); if ($this->parameters['sub_selector']) { $sub = new $this->parameters['sub_selector']($this->get_sub_selector_id($this->parameters['sub_selector'])); $fields->get_values($sub->get_value()); if (isset($fields->values[$this->parameters['type_editorial_field']])) { $this->value = $fields->values[$this->parameters['type_editorial_field']]; } else { $query = "select id_editorial_type from cms_editorial_types where editorial_type_element = '" . $this->cms_module_common_selector_type_editorial_type . "_generic'"; $result = mysql_query($query); if (mysql_num_rows($result)) { $fields_type = new cms_editorial_parametres_perso(mysql_result($result, 0, 0)); $fields_type->get_values($sub->get_value()); $this->value = $fields_type->values[$this->parameters['type_editorial_field']]; } } } else { $this->value = array('type' => $this->parameters['type_editorial'], 'field' => $this->parameters['type_editorial_field']); } } return $this->value; }
public function filter($datas) { $filtered_datas = array(); //on récupère le champ à tester... $selector_from = $this->get_selected_selector("from"); $field_from = $selector_from->get_value(); //a quoi... $selector_by = $this->get_selected_selector("by"); $field_by = $selector_by->get_value(); if ($field_by) { $fields = new cms_editorial_parametres_perso($field_from['type']); foreach ($datas as $article_id) { $fields->get_values($article_id); if (in_array($field_by, $fields->values[$field_from['field']])) { $filtered_datas[] = $article_id; } } } else { //pas de valeur pour le filtre, on filtre pas... $filtered_datas = $datas; } return $filtered_datas; }