public function get_datas() { //on commence par récupérer l'identifiant retourné par le sélecteur... $selector = $this->get_selected_selector(); if ($selector) { $article_id = $selector->get_value(); $article_ids = $this->filter_datas("articles", array($selector->get_value())); if ($article_ids[0]) { $group_metadatas = parent::get_group_metadatas(); $datas = array(); $article = new cms_article($article_ids[0]); $datas = $article->format_datas(); $datas["details"] = $datas; $datas = array_merge($datas, parent::get_datas()); $datas['link'] = $this->get_constructed_link("article", $article_ids[0]); $datas['logo_url'] = $datas["logo"]["big"]; foreach ($group_metadatas as $i => $metadatas) { if (is_array($metadatas["metadatas"])) { foreach ($metadatas["metadatas"] as $key => $value) { try { $group_metadatas[$i]["metadatas"][$key] = H2o::parseString($value)->render($datas); } catch (Exception $e) { } } } } return $group_metadatas; } } return false; }
/** * Génération de la structure de données representant les items de type article * */ protected function get_items_datas($selector_values) { global $dbh; $articles_retour = array(); if (count($selector_values)) { foreach ($selector_values as $id) { $article_instance = new cms_article($id); $article_data = $article_instance->format_datas(); $article = array(); $article['num_article'] = $article_data['id']; $article['title'] = $article_data['title']; $article['summary'] = $article_data['resume']; $article['content'] = $article_data['content']; if ($article_data['start_date'] == "") { $article['publication_date'] = $article_data['create_date']; } else { $article['publication_date'] = $article_data['start_date']; } $article['logo_url'] = $article_data['logo']['large']; $article['url'] = $this->get_constructed_link("article", $article_data['id']); $articles_retour[] = $article; } } return $articles_retour; }
public function render($ids) { $datas = array(); $datas['records'] = array(); for ($i = 0; $i < count($ids); $i++) { $article = new cms_article($ids[$i]); $infos = $article->format_datas(); $infos['link'] = $this->get_constructed_link("article", $infos['id']); $datas['records'][] = $infos; } return parent::render($datas); }
public function get_datas() { //on commence par récupérer l'identifiant retourné par le sélecteur... $selector = $this->get_selected_selector(); if ($selector) { $article_id = $selector->get_value(); $article_ids = $this->filter_datas("articles", array($selector->get_value())); if ($article_ids[0]) { $article = new cms_article($article_ids[0]); return $article->format_datas(); } } return false; }
public function render($datas) { //on rajoute nos éléments... //le titre $render_datas = array(); $render_datas['title'] = "Liste d'articles"; $render_datas['articles'] = array(); if (is_array($datas)) { foreach ($datas as $article) { $cms_article = new cms_article($article); $infos = $cms_article->format_datas(); $infos['link'] = $this->get_constructed_link("article", $article); $render_datas['articles'][] = $infos; } } //on rappelle le tout... return parent::render($render_datas); }
public function get_articles($filter) { global $dbh; $articles = array(); if ($this->id) { $query = "select id_article from cms_articles JOIN cms_editorial_publications_states ON article_publication_state=id_publication_state where num_section = " . $this->id; if ($filter) { $query .= " and ((article_start_date != 0 and to_days(article_start_date)<=to_days(now()) and to_days(article_end_date)>=to_days(now()))||(article_start_date != 0 and article_end_date =0 and to_days(article_start_date)<=to_days(now()))||(article_start_date=0 and article_end_date=0)||(article_start_date = 0 and to_days(article_end_date)>=to_days(now()))) and (editorial_publication_state_opac_show=1" . (!$_SESSION['id_empr_session'] ? " and editorial_publication_state_auth_opac_show = 0" : "") . ") "; } $query .= " order by article_order"; $result = pmb_mysql_query($query, $dbh); if (pmb_mysql_num_rows($result)) { while ($row = pmb_mysql_fetch_object($result)) { $article = new cms_article($row->id_article); $articles[] = $article->format_datas(); } } } return $articles; }
public function get_datas() { $datas = array(); $selector = $this->get_selected_selector(); switch ($this->parameters['selector']) { //devrait être le seul survivant... case "cms_module_agenda_selector_calendars": if ($selector) { $calendars = array(); $query = "select managed_module_box from cms_managed_modules join cms_cadres on id_cadre = " . $this->cadre_parent . " and cadre_object = managed_module_name"; $result = pmb_mysql_query($query); $events = array(); if (pmb_mysql_num_rows($result)) { $box = pmb_mysql_result($result, 0, 0); $infos = unserialize($box); $calendars = $selector->get_value(); foreach ($calendars as $calendar) { $elem = $infos['module']['calendars'][$calendar]; $query = "select id_article from cms_articles where article_num_type = " . $elem['type']; $result = pmb_mysql_query($query); if ($result && pmb_mysql_num_rows($result)) { $articles = array(); while ($row = pmb_mysql_fetch_object($result)) { $articles[] = $row->id_article; } $articles = $this->filter_datas("articles", $articles); foreach ($articles as $article) { $art = new cms_article($article); $event = $art->format_datas(); foreach ($event['fields_type'] as $field) { if ($field['id'] == $elem['start_date']) { $event['event_start'] = $field['values'][0]; $event['event_start']['time'] = mktime(0, 0, 0, substr($field['values'][0]['value'], 5, 2), substr($field['values'][0]['value'], 8, 2), substr($field['values'][0]['value'], 0, 4)); } if ($field['id'] == $elem['end_date']) { $event['event_end'] = $field['values'][0]; $event['event_end']['time'] = mktime(0, 0, 0, substr($field['values'][0]['value'], 5, 2), substr($field['values'][0]['value'], 8, 2), substr($field['values'][0]['value'], 0, 4)); } } $event['id_type'] = $elem['type']; $event['color'] = $elem['color']; $event['calendar'] = $elem['name']; $events[] = $event; } } } } usort($events, array($this, "sort_event")); return array('events' => $events); } break; case "cms_module_common_selector_env_var": if ($selector) { $art = new cms_article($selector->get_value()); $event = $art->format_datas(); //allons chercher les infos du calendrier associé à cet évènement $query = "select managed_module_box from cms_managed_modules join cms_cadres on id_cadre = " . $this->cadre_parent . " and cadre_object = managed_module_name"; $result = pmb_mysql_query($query); if (pmb_mysql_num_rows($result)) { $box = pmb_mysql_result($result, 0, 0); $infos = unserialize($box); foreach ($infos['module']['calendars'] as $calendar) { if ($calendar['type'] == $art->num_type) { foreach ($event['fields_type'] as $field) { if ($field['id'] == $calendar['start_date']) { $event['event_start'] = $field['values'][0]; $event['event_start']['time'] = mktime(0, 0, 0, substr($field['values'][0]['value'], 5, 2), substr($field['values'][0]['value'], 8, 2), substr($field['values'][0]['value'], 0, 4)); } if ($field['id'] == $calendar['end_date']) { $event['event_end'] = $field['values'][0]; $event['event_end']['time'] = mktime(0, 0, 0, substr($field['values'][0]['value'], 5, 2), substr($field['values'][0]['value'], 8, 2), substr($field['values'][0]['value'], 0, 4)); } } $event['id_type'] = $calendar['type']; $event['color'] = $calendar['color']; $event['calendar'] = $calendar['name']; break; } } } return $event; } break; case "cms_module_agenda_selector_calendars_date": if ($selector) { $query = "select managed_module_box from cms_managed_modules join cms_cadres on id_cadre = " . $this->cadre_parent . " and cadre_object = managed_module_name"; $result = pmb_mysql_query($query); if (pmb_mysql_num_rows($result)) { $box = pmb_mysql_result($result, 0, 0); $infos = unserialize($box); $datas = $selector->get_value(); $time = mktime(0, 0, 0, substr($datas['date'], 5, 2), substr($datas['date'], 8, 2), substr($datas['date'], 0, 4)); foreach ($datas['calendars'] as $calendar) { $elem = $infos['module']['calendars'][$calendar]; $query = "select id_article from cms_articles where article_num_type = " . $elem['type']; $result = pmb_mysql_query($query); if (pmb_mysql_num_rows($result)) { $articles = array(); while ($row = pmb_mysql_fetch_object($result)) { $articles[] = $row->id_article; } $articles = $this->filter_datas("articles", $articles); if (is_array($articles)) { foreach ($articles as $article) { $art = new cms_article($article); $event = $art->format_datas(); foreach ($event['fields_type'] as $field) { if ($field['id'] == $elem['start_date']) { $event['event_start'] = $field['values'][0]; $event['event_start']['time'] = mktime(0, 0, 0, substr($field['values'][0]['value'], 5, 2), substr($field['values'][0]['value'], 8, 2), substr($field['values'][0]['value'], 0, 4)); } if ($field['id'] == $elem['end_date']) { $event['event_end'] = $field['values'][0]; $event['event_end']['time'] = mktime(0, 0, 0, substr($field['values'][0]['value'], 5, 2), substr($field['values'][0]['value'], 8, 2), substr($field['values'][0]['value'], 0, 4)); } } $event['id_type'] = $elem['type']; $event['color'] = $elem['color']; $event['calendar'] = $elem['name']; if ($event['event_start']['time'] >= $time || $event['event_start'] && $event['event_end'] && $event['event_end']['time'] >= $time) { $events[] = $event; } } } } } } usort($events, array($this, "sort_event")); return array('events' => $events); } break; } }