source: pmb4.2/trunk/fuentes/pmb/cms/modules/breadcrumb/datasources/cms_module_breadcrumb_datasource_sections.class.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 1.7 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2012 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: cms_module_breadcrumb_datasource_sections.class.php,v 1.3 2015-04-03 11:16:27 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");
8
9class cms_module_breadcrumb_datasource_sections extends cms_module_common_datasource_list{
10       
11        public function __construct($id=0){
12                parent::__construct($id);
13        }
14       
15        public function get_available_selectors(){
16                return array(
17                        'cms_module_common_selector_section',
18                        'cms_module_common_selector_env_var',
19                        'cms_module_common_selector_generic_parent_section'
20                );
21        }
22       
23        /*
24         * Récupération des données de la source...
25         */
26        public function get_datas(){
27                //on commence par récupérer l'identifiant retourné par le sélecteur...
28                $selector = $this->get_selected_selector();
29                if($selector){
30                        $section_id = $selector->get_value();
31                        $section_ids = $this->filter_datas("sections",array($section_id));
32                        if($section_ids[0]){
33                                $sections = array();
34                                $section_id = $section_ids[0];
35                                $datas = array();
36                                $i=0;
37                                do {
38                                        $i++;
39                                        $query = "select id_section,section_num_parent from cms_sections where id_section = ".$section_id;
40                                        $result = pmb_mysql_query($query);
41                                        if(pmb_mysql_num_rows($result)){
42                                                $row = pmb_mysql_fetch_object($result);
43                                                $section_id = $row->section_num_parent;
44                                                $datas[] = $row->id_section;
45                                               
46                                        }else{
47                                                break;
48                                        }
49                                //en théorie on sort toujours, mais comme c'est un pays formidable, on lock à 100 itérations...
50                                }while ($row->section_num_parent != 0 || $i>100);
51                                return array_reverse($datas);
52                        }
53                }
54                return false;
55        }
56}
Note: See TracBrowser for help on using the repository browser.