File manager - Edit - /home/eliteafr/pmb/classes/docwatch/docwatch_root.class.php
Back
<?php // +-------------------------------------------------+ // © 2002-2014 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net) // +-------------------------------------------------+ // $Id: docwatch_root.class.php,v 1.7 2015-05-29 12:21:09 dgoron Exp $ if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access"); require_once($class_path."/cms/cms_pages.class.php"); /** * class docwatch_root * */ class docwatch_root{ /** Aggregations: */ /** Compositions: */ /** Fonctions: */ public function serialize(){ return serialize($this->parameters); } // end of member function serialize public function unserialize($parameters){ $this->parameters = unserialize($parameters); } // end of member function unserialize protected function get_form_value_name($name){ //calcule le hash si pas encore fait... return $name; // return $this->get_hash()."_".$name; } protected function get_value_from_form($name){ $var_name = $this->get_form_value_name($name); global $$var_name; return $$var_name; } protected static function charset_normalize($elem,$input_charset){ global $charset; if(is_array($elem)){ foreach ($elem as $key =>$value){ $elem[$key] = self::charset_normalize($value,$input_charset); } }else{ //PMB dans un autre charset, on converti la chaine... $elem = self::clean_cp1252($elem, $input_charset); if($charset != $input_charset){ $elem = iconv($input_charset,$charset,$elem); } } return $elem; } protected static function clean_cp1252($str,$charset){ switch($charset){ case "utf-8" : $cp1252_map = array( "\xe2\x82\xac" => "EUR", /* EURO SIGN */ "\xe2\x80\x9a" => "\xc2\xab", /* SINGLE LOW-9 QUOTATION MARK */ "\xc6\x92" => "\x66", /* LATIN SMALL LETTER F WITH HOOK */ "\xe2\x80\9e" => "\xc2\xab", /* DOUBLE LOW-9 QUOTATION MARK */ "\xe2\x80\xa6" => "...", /* HORIZONTAL ELLIPSIS */ "\xe2\x80\xa0" => "?", /* DAGGER */ "\xe2\x80\xa1" => "?", /* DOUBLE DAGGER */ "\xcb\x86" => "?", /* MODIFIER LETTER CIRCUMFLEX ACCENT */ "\xe2\x80\xb0" => "?", /* PER MILLE SIGN */ "\xc5\xa0" => "S", /* LATIN CAPITAL LETTER S WITH CARON */ "\xe2\x80\xb9" => "\x3c", /* SINGLE LEFT-POINTING ANGLE QUOTATION */ "\xc5\x92" => "OE", /* LATIN CAPITAL LIGATURE OE */ "\xc5\xbd" => "Z", /* LATIN CAPITAL LETTER Z WITH CARON */ "\xe2\x80\x98" => "\x27", /* LEFT SINGLE QUOTATION MARK */ "\xe2\x80\x99" => "\x27", /* RIGHT SINGLE QUOTATION MARK */ "\xe2\x80\x9c" => "\x22", /* LEFT DOUBLE QUOTATION MARK */ "\xe2\x80\x9d" => "\x22", /* RIGHT DOUBLE QUOTATION MARK */ "\xe2\x80\xa2" => "\b7", /* BULLET */ "\xe2\x80\x93" => "\x20", /* EN DASH */ "\xe2\x80\x94" => "\x20\x20", /* EM DASH */ "\xcb\x9c" => "\x7e", /* SMALL TILDE */ "\xe2\x84\xa2" => "?", /* TRADE MARK SIGN */ "\xc5\xa1" => "s", /* LATIN SMALL LETTER S WITH CARON */ "\xe2\x80\xba" => "\x3e;", /* SINGLE RIGHT-POINTING ANGLE QUOTATION*/ "\xc5\x93" => "oe", /* LATIN SMALL LIGATURE OE */ "\xc5\xbe" => "z", /* LATIN SMALL LETTER Z WITH CARON */ "\xc5\xb8" => "Y" /* LATIN CAPITAL LETTER Y WITH DIAERESIS*/ ); break; case "iso8859-1" : $cp1252_map = array( "\x80" => "EUR", /* EURO SIGN */ "\x82" => "\xab", /* SINGLE LOW-9 QUOTATION MARK */ "\x83" => "\x66", /* LATIN SMALL LETTER F WITH HOOK */ "\x84" => "\xab", /* DOUBLE LOW-9 QUOTATION MARK */ "\x85" => "...", /* HORIZONTAL ELLIPSIS */ "\x86" => "?", /* DAGGER */ "\x87" => "?", /* DOUBLE DAGGER */ "\x88" => "?", /* MODIFIER LETTER CIRCUMFLEX ACCENT */ "\x89" => "?", /* PER MILLE SIGN */ "\x8a" => "S", /* LATIN CAPITAL LETTER S WITH CARON */ "\x8b" => "\x3c", /* SINGLE LEFT-POINTING ANGLE QUOTATION */ "\x8c" => "OE", /* LATIN CAPITAL LIGATURE OE */ "\x8e" => "Z", /* LATIN CAPITAL LETTER Z WITH CARON */ "\x91" => "\x27", /* LEFT SINGLE QUOTATION MARK */ "\x92" => "\x27", /* RIGHT SINGLE QUOTATION MARK */ "\x93" => "\x22", /* LEFT DOUBLE QUOTATION MARK */ "\x94" => "\x22", /* RIGHT DOUBLE QUOTATION MARK */ "\x95" => "\b7", /* BULLET */ "\x96" => "\x20", /* EN DASH */ "\x97" => "\x20\x20", /* EM DASH */ "\x98" => "\x7e", /* SMALL TILDE */ "\x99" => "?", /* TRADE MARK SIGN */ "\x9a" => "S", /* LATIN SMALL LETTER S WITH CARON */ "\x9b" => "\x3e;", /* SINGLE RIGHT-POINTING ANGLE QUOTATION*/ "\x9c" => "oe", /* LATIN SMALL LIGATURE OE */ "\x9e" => "Z", /* LATIN SMALL LETTER Z WITH CARON */ "\x9f" => "Y" /* LATIN CAPITAL LETTER Y WITH DIAERESIS*/ ); break; } return strtr($str, $cp1252_map); } public static function prefix_var_tree($tree,$prefix){ for($i=0 ; $i<count($tree) ; $i++){ $tree[$i]['var'] = $prefix.".".$tree[$i]['var']; if($tree[$i]['children']){ $tree[$i]['children'] = self::prefix_var_tree($tree[$i]['children'],$prefix); } } return $tree; } protected function save_constructor_link_form($type,$class_name){ $method = $class_name."_link_".$type."_method"; $page = $class_name."_link_".$type; $var = $class_name."_page_".$type."_var"; $url = $class_name."_link_".$type."_url"; global $$method; global $$page; global $$var; global $$url; $this->parameters['links'][$type] = array(); switch($$method) { case $page."_select_cms_page": $this->parameters['links'][$type] = array( 'method' => $$method, 'page' => $$page+0, 'var' => $$var ); break; case $page."_input_url": $this->parameters['links'][$type] = array( 'method' => $$method, 'url' => $$url ); break; } } public function get_constructor_link_form($type,$class_name=""){ global $dbh,$msg,$charset; $name = $class_name."_link_".$type; $form = " <select id='".$name."_method' name='".$name."_method' onChange='".$class_name."_load_".$type."_method_env(this);'> <option value=''>".htmlentities($msg['dsi_docwatch_datasource_link_constructor_method'], ENT_QUOTES, $charset)."</option> <option value='".$name."_select_cms_page' ".($name."_select_cms_page" == $this->parameters['links'][$type]['method'] ? "selected='selected'" : "").">".htmlentities($msg['dsi_docwatch_datasource_link_select_cms_page'], ENT_QUOTES, $charset)."</option> <option value='".$name."_input_url' ".($name."_input_url" == $this->parameters['links'][$type]['method'] ? "selected='selected'" : "").">".htmlentities($msg['dsi_docwatch_datasource_link_input_url'], ENT_QUOTES, $charset)."</option> </select> <script type='text/javascript'> function ".$class_name."_load_".$type."_method_env(obj){ switch(obj.options[obj.options.selectedIndex].value) { case '".$name."_select_cms_page': document.getElementById('".$name."_input_url').setAttribute('style','display:none;'); document.getElementById('".$name."_select_cms_page').setAttribute('style',''); if(document.getElementById('".$name."_env')) { document.getElementById('".$name."_env').setAttribute('style',''); } break; case '".$name."_input_url': document.getElementById('".$name."_select_cms_page').setAttribute('style','display:none;'); if(document.getElementById('".$name."_env')) { document.getElementById('".$name."_env').setAttribute('style','display:none;'); } document.getElementById('".$name."_input_url').setAttribute('style',''); break; default: document.getElementById('".$name."_select_cms_page').setAttribute('style','display:none;'); if(document.getElementById('".$name."_env')) { document.getElementById('".$name."_env').setAttribute('style','display:none;'); } document.getElementById('".$name."_input_url').setAttribute('style','display:none;'); break; } } </script> "; $form .= " <br /> <div id='".$name."_select_cms_page' name='".$name."_select_cms_page' ".(!$this->parameters['links'][$type]['page'] ? "style='display:none;'" : "")."> <div class='row'> <label>".htmlentities($msg['dsi_docwatch_datasource_link_constructor_page'],ENT_QUOTES,$charset)."</label> </div> <div class='row'> <select id='".$name."' name='".$name."' onChange='".$class_name."_load_".$type."_page_env();'> <option value='0'>".htmlentities($msg['dsi_docwatch_datasource_link_constructor_page'], ENT_QUOTES, $charset)."</option>"; $query = "select id_page,page_name from cms_pages order by 2"; $result = pmb_mysql_query($query,$dbh); if(pmb_mysql_num_rows($result)){ while( $row = pmb_mysql_fetch_object($result)){ $form.= " <option value='".$row->id_page."' ".($row->id_page == $this->parameters['links'][$type]['page'] ? "selected='selected'" : "").">".htmlentities($row->page_name,ENT_QUOTES,$charset)."</option>"; } } $form.=" </select> </div> <script type='text/javascript'> function ".$class_name."_load_".$type."_page_env(){ dijit.byId('".$name."_env').href = './ajax.php?module=dsi&categ=docwatch&sub=sources&elem=".$class_name."&action=get_env&name=".$class_name."_page_".$type."_var"."&pageid='+dojo.byId('".$name."').value; dijit.byId('".$name."_env').refresh(); } </script> </div>"; $form.=" <div id='".$name."_input_url' name='".$name."_input_url' ".(!$this->parameters['links'][$type]['url'] ? "style='display:none;'" : "")."> <div class='row'> <label>".htmlentities($msg['dsi_docwatch_datasource_link_constructor_url'],ENT_QUOTES,$charset)."</label> </div> <div class='row'> <input type='text' class='saisie-80em' name='".$name."_url' id='".$name."_url' value='".($this->parameters['links'][$type]['url'] ? $this->parameters['links'][$type]['url'] : "")."' /> </div> </div>"; $href = ""; if($this->parameters['links'][$type]['page']){ $href = "./ajax.php?module=dsi&categ=docwatch&sub=sources&elem=".$class_name."&action=get_env&name=".$class_name."_page_".$type."_var"."&pageid=".$this->parameters['links'][$type]['page']."&var=".$this->parameters['links'][$type]['var']; } $form.=" <div id='".$name."_env' dojoType='dojox.layout.ContentPane'".($href!= ""? " preload='true' href='".$href."'":"")."></div>"; return $form; } public function get_page_env_select($pageid,$name,$var=""){ global $msg,$charset; $pageid+=0; $page = new cms_page($pageid); $form=" <div class='row'> <label for='".$name."'>".htmlentities($msg['dsi_docwatch_datasource_link_constructor_page_var'], ENT_QUOTES, $charset)."</label> </div> <div class='row'> <select name='".$name."' id='".$name."'>"; foreach($page->vars as $page_var){ $form.=" <option value='".$page_var['name']."' ".($page_var['name'] == $var ? "selected='selected'" : "").">".($page_var['comment']!=""? htmlentities($page_var['comment'], ENT_QUOTES, $charset) : htmlentities($page_var['name'], ENT_QUOTES, $charset))."</option>"; } $form.=" </select> </div>"; return $form; } protected function get_constructed_link($type,$value,$is_bulletin = false){ global $pmb_opac_url; $link = ""; switch($type){ case "notice" : if ($this->parameters['links'][$type]['page']) { $link = $pmb_opac_url."index.php?lvl=cmspage&pageid=".$this->parameters['links'][$type]['page']."&".$this->parameters['links'][$type]['var']."=".$value; } else { if (!$is_bulletin) { $link = $pmb_opac_url."index.php?lvl=notice_display&id=".$value; } else { $link = $pmb_opac_url."index.php?lvl=bulletin_display&id=".$value; } } break; case "shelve": if ($this->parameters['links'][$type]['page']) { $link = $pmb_opac_url."index.php?lvl=cmspage&pageid=".$this->parameters['links'][$type]['page']."&".$this->parameters['links'][$type]['var']."=".$value; } else { $link = $pmb_opac_url."index.php?lvl=etagere_see&id=".$value; } break; case "article": case "section" : default : if ($this->parameters['links'][$type]['page']) { $link = $pmb_opac_url."index.php?lvl=cmspage&pageid=".$this->parameters['links'][$type]['page']."&".$this->parameters['links'][$type]['var']."=".$value; } else { $link = str_replace("!!id!!", $value, $this->parameters['links'][$type]['url']); } break; } return $link; } } // end of docwatch_root
| ver. 1.4 |
Github
|
.
| PHP 5.4.45 | Generation time: 0 |
proxy
|
phpinfo
|
Settings