managed_datas['templates'])){
//sélection d'un template définie en adminsitration
$form="
";
}else if($this->parameters['active_template'] == ""){
$this->parameters['active_template'] = $this->default_template;
}
$form.="
".$this->get_format_data_structure_tree("cms_module_common_view_django_template_content")."
";
return $form;
}
/*
* Sauvegarde du formulaire, revient à remplir la propriété parameters et appeler la méthode parente...
*/
public function save_form(){
global $cms_module_common_view_template_choice;
global $cms_module_common_view_templates;
global $cms_module_common_view_django_template_content;
$this->parameters['active_template'] = $this->stripslashes($cms_module_common_view_django_template_content);
return parent::save_form();
}
public function render($datas){
global $opac_url_base;
if(!$datas['id']){
$datas['id'] = $this->get_module_dom_id();
}
if(!$datas['get_vars']){
$datas['get_vars'] = $_GET;
}
if(!$datas['post_vars']){
$datas['post_vars'] = $_POST;
}
if(!$datas['session_vars']){
$datas['session_vars']['view'] = $_SESSION['opac_view'];
$datas['session_vars']['id_empr'] = $_SESSION['id_empr_session'];
}
if(!$datas['env_vars']){
$datas['env_vars']['script'] = basename($_SERVER['SCRIPT_NAME']);
$datas['env_vars']['request'] = basename($_SERVER['REQUEST_URI']);
$datas['env_vars']['opac_url'] = $opac_url_base;
}
try{
$html = H2o::parseString($this->parameters['active_template'])->render($datas);
}catch(Exception $e){
$html = $this->msg["cms_module_common_view_error_template"];
}
return $html;
}
public function get_manage_form(){
global $base_path;
//variables persos...
global $cms_template;
global $cms_template_delete;
if(!$this->managed_datas) $this->managed_datas = array();
if($this->managed_datas['templates'][$cms_template_delete]) unset($this->managed_datas['templates'][$cms_template_delete]);
$form="
";
if($this->managed_datas['templates']){
foreach($this->managed_datas['templates'] as $key => $infos){
$form.="
".$this->format_text($infos['name'])."
";
}
}
$form.="
".$this->format_text($this->msg['cms_module_common_view_django_add_template'])."
";
$form.="
";
if($cms_template){
$form.=$this->get_managed_form_start(array('cms_template'=>$cms_template));
$form.=$this->get_managed_template_form($cms_template);
$form.=$this->get_managed_form_end();
}
$form.="
";
return $form;
}
protected function get_managed_template_form($cms_template){
global $opac_url_base;
if($cms_template != "new"){
$infos = $this->managed_datas['templates'][$cms_template];
}else{
$infos = array(
'name' => "Nouveau Template",
'content' => $this->default_template
);
}
//nom
$form.="
";
//contenu
$form.="
".$this->get_format_data_structure_tree("cms_module_common_view_django_template_content")."
";
return $form;
}
public function save_manage_form($managed_datas){
global $cms_template;
global $cms_template_delete;
global $cms_module_common_view_django_template_name,$cms_module_common_view_django_template_content;
if($cms_template_delete){
unset($managed_datas['templates'][$cms_template_delete]);
}else{
if($cms_template == "new"){
$cms_template = "template".(cms_module_common_view_django::get_max_template_id($managed_datas['templates'])+1);
}
$managed_datas['templates'][$cms_template] = array(
'name' => stripslashes($cms_module_common_view_django_template_name),
'content' => stripslashes($cms_module_common_view_django_template_content)
);
}
return $managed_datas;
}
protected function get_max_template_id($datas){
$max = 0;
if(count($datas)){
foreach ($datas as $key => $val){
$key = str_replace("template","",$key)*1;
if($key>$max) $max = $key;
}
}
return $max;
}
public function get_format_data_structure(){
$format_datas = array();
$format_datas[]= array(
'var' => "id",
'desc'=> $this->msg['cms_module_common_view_django_id_desc']
);
$format_datas[] = array(
'var' => "get_vars.",
'desc' => $this->msg['cms_module_common_view_django_get_vars_desc']
);
$format_datas[] = array(
'var' => "post_vars.",
'desc' => $this->msg['cms_module_common_view_django_post_vars_desc']
);
$format_datas[] = array(
'var' => "session_vars",
'desc' => $this->msg['cms_module_common_view_django_session_vars_desc'],
'children' =>array(
array(
'var' => "session_vars.view",
'desc' => $this->msg['cms_module_common_view_django_session_vars_view_desc'],
),
array(
'var' => "session_vars.id_empr",
'desc' => $this->msg['cms_module_common_view_django_session_vars_id_empr_desc'],
)
)
);
$format_datas[] = array(
'var' => "env_vars",
'desc' => $this->msg['cms_module_common_view_django_env_vars_desc'],
'children' =>array(
array(
'var' => "env_vars.script",
'desc' => $this->msg['cms_module_common_view_django_session_vars_script_desc'],
),
array(
'var' => "env_vars.request",
'desc' => $this->msg['cms_module_common_view_django_session_vars_request_desc'],
),
array(
'var' => "env_vars.opac_url",
'desc' => $this->msg['cms_module_common_view_django_session_vars_opac_url_desc'],
)
)
);
return $format_datas;
}
public function get_format_data_structure_tree($textarea){
$html = "
";
return $html;
}
}