📄 cms_site.class.inc
字号:
$read_more_class = isset ($attributes['read_more_class']) ? $attributes['read_more_class'] : $read_more_class; $read_more_text = isset ($attributes['read_more_text']) ? $attributes['read_more_text'] : $read_more_text; $template = isset ($attributes['template']) ? $attributes['template'] : $template; $item_template = isset ($attributes['item_template']) ? $attributes['item_template'] : $item_template; $hide_hot_items = isset ($attributes['hide_hot_items ']) ? $attributes['hide_hot_items'] : $hide_hot_items; } //$template = $this->get_template($this->site['template_id']); $page = $this->generate_header($this->template['doctype'], $file['title'], $file['keywords'], $file['description'],date_picker::get_header()); if($this->task == 'multipage_display' && $this->file_id==0) { $content = ''; /*if ($this->file_id > 0) { $content .= $file['content']; }*/ $template = $this->get_template_item_by_name($this->site['template_id'], $template); if ($template) { $template_content = $this->parse_template($template['content']); } else { $template_content = false; } $multipage = $this->build_multipage($this->folder_id, $max_length, $template, $class, $print_field, $date_format, $title_class, $read_more_class, $read_more_text, $hide_hot_items); if ($template_content) { $multipage = str_replace($this->get_tag('content', $template_content), $multipage, $template_content); } $content .= $multipage; $content = str_replace($this->cms_module['full_url'].'view.php', $_SERVER['PHP_SELF'], $content); if (isset ($content_tag)) { $page .= str_replace($content_tag, $content, $main_template_content); } else { $page .= $content; } }else { require($GO_LANGUAGE->get_language_file('cms')); if ($this->file_id > 0) { $content = ''; $content .= $file['content']; $content = $this->print_plugins($content); $content = str_replace($this->cms_module['full_url'].'view.php', $_SERVER['PHP_SELF'], $content); if (isset ($main_template_content)) { $page .= str_replace($this->get_tag('content', $main_template_content), $content, $main_template_content); } else { $page .= $content; } } else { //get the language file if (isset ($main_template_content)) { $page .= str_replace($this->get_tag('content', $main_template_content), $cms_empty, $main_template_content); } else { $page .= $cms_empty; } } } $page .= $this->generate_footer(); break; } return $page; } function build_multipage($folder_id, $max_length, $template_name, $class, $print_field, $date_format='d-m-Y', $title_class, $read_more_class, $read_more_text, $hide_hot_items, $hot_items = false) { global $GO_SECURITY; $template = $this->get_template_item_by_name($this->site['template_id'], $template_name); if ($template) { $template_content = $this->parse_template($template['content']); } else { $template_content = false; } $show = $this->file_id > 0 ? false : true; $multipage = ''; if ($folder = $this->get_folder($folder_id)) { $files = $this->get_authorized_files($folder_id, $GO_SECURITY->user_id, $hot_items); foreach($files as $file) { if ((($show && ($hide_hot_items == 'false' || $file['hot_item'] != '1')) || $hot_items) && eregi('htm', $file['extension'])) { $multipage_item = '<div class="'.$class.'">'; if(empty($file['hot_item_text'])) { if (!empty($print_field)) { switch($print_field) { case 'mtime': $multipage_item .= '<h1 class="'.$title_class.'">'.date($date_format, $file['mtime']).'</h1>'; break; case 'ctime': $multipage_item .= '<h1 class="'.$title_class.'">'.date($date_format, $file['ctime']).'</h1>'; break; case 'name': $multipage_item .= '<h1 class="'.$title_class.'">'.strip_extension($file['name']).'</h1>'; break; } } if ($max_length > 0) { $stripped_content = $this->strip_for_multipage($file['content']); $content = cut_string($stripped_content, $max_length); $multipage_item .= $content; if (!empty($read_more_text) && strlen($file['content']) != strlen($content)) { $multipage_item .= '<br /><div style="text-align:right;"><a class="'.$read_more_class.'" href="'.$this->create_url($file['folder_id'], $file['id']).'">'.$read_more_text.'</a></div>'; } } }else { $multipage_item .= $file['hot_item_text']; $multipage_item .= '<br /><div style="text-align:right;"><a class="'.$read_more_class.'" href="'.$this->create_url($file['folder_id'], $file['id']).'">'.$read_more_text.'</a></div>'; } $multipage_item .= '</div>'; if (empty($read_more_text)) { $multipage_item = '<a class="'.$read_more_class.'" href="'.$this->create_url($file['folder_id'], $file['id']).'">'.$multipage_item.'</a>'; } if ($template_content) { $multipage .= str_replace($this->get_tag('content', $template_content), $multipage_item, $template_content); } else { $multipage .= $multipage_item; } } if ($this->file_id == $file['id']) { $show = true; } } return $this->build_multipage_recursive($folder_id, $max_length, $template_content, $class, $print_field, $date_format, $title_class, $read_more_class, $read_more_text, $hide_hot_items, $hot_items, $multipage); } else { return false; } } function build_multipage_recursive($folder_id, $max_length, $template_content, $class, $print_field, $date_format, $title_class, $read_more_class, $read_more_text, $hide_hot_items, $hot_items = false, $multipage = '') { global $GO_SECURITY; $folders = $this->get_authorized_folders($folder_id, $GO_SECURITY->user_id); if (count($folders)) { foreach($folders as $folder) { if ($folder['disabled'] != '1') { $files = $this->get_authorized_files($folder['id'], $GO_SECURITY->user_id, $hot_items); foreach($files as $file) { if ((($this->file_id != $file['id'] && ($hide_hot_items == 'false' || $file['hot_item'] != '1')) || $hot_items) && eregi('htm', $file['extension'])) { $multipage_item = '<div class="'.$class.'">'; if(empty($file['hot_item_text'])) { if (!empty($print_field)) { switch($print_field) { case 'mtime': $multipage_item .= '<h1 class="'.$title_class.'">'.date($date_format, $file['mtime']).'</h1>'; break; case 'ctime': $multipage_item .= '<h1 class="'.$title_class.'">'.date($date_format, $file['ctime']).'</h1>'; break; case 'name': $multipage_item .= '<h1 class="'.$title_class.'">'.strip_extension($file['name']).'</h1>'; break; } } if ($max_length > 0) { $stripped_content = $this->strip_for_multipage($file['content']); $content = cut_string($stripped_content, $max_length); $multipage_item .= $content; if (!empty($read_more_text) && strlen($file['content']) != strlen($content)) { $multipage_item .= '<br /><div style="text-align:right;"><a class="'.$read_more_class.'" href="'.$this->create_url($file['folder_id'], $file['id']).'">'.$read_more_text.'</a></div>'; } } }else { $multipage_item .= $file['hot_item_text']; $multipage_item .= '<br /><div style="text-align:right;"><a class="'.$read_more_class.'" href="'.$this->create_url($file['folder_id'], $file['id']).'">'.$read_more_text.'</a></div>'; } $multipage_item .= '</div>'; if (empty($read_more_text)) { $multipage_item = '<a class="'.$read_more_class.'" href="'.$this->create_url($file['folder_id'], $file['id']).'">'.$multipage_item.'</a>'; } if ($template_content) { $multipage .= str_replace($this->get_tag('content', $template_content), $multipage_item, $template_content); } else { $multipage .= $multipage_item; } } if (!$hot_items) { break; } } $multipage .= $this->build_multipage_recursive($folder['id'], $max_length, $template_content, $class, $print_field, $date_format, $title_class, $read_more_class, $read_more_text, $hide_hot_items, $hot_items); } } } return $multipage; } function print_hot_items($attributes) { $class = isset ($attributes['class']) ? $attributes['class'] : ''; $max_length = isset ($attributes['max_length']) ? $attributes['max_length'] : '0'; $print_title = isset ($attributes['print_title']) ? $attributes['print_title'] : 'false'; $print_field = isset($attributes['print_field']) ? $attributes['print_field'] : ''; if($print_title=='true') { $print_field='name'; } $date_format = isset($attributes['date_format']) ? $attributes['date_format'] : 'd-m-Y'; $title_class = isset ($attributes['title_class']) ? $attributes['title_class'] : ''; $read_more_class = isset ($attributes['read_more_class']) ? $attributes['read_more_class'] : ''; $read_more_text = isset ($attributes['read_more_text']) ? $attributes['read_more_text'] : ''; $template_name = isset ($attributes['template']) ? $attributes['template'] : ''; $item_template = isset ($attributes['item_template']) ? $attributes['item_template'] : ''; $print_root_only = isset ($attributes['print_root_only']) ? $attributes['print_root_only'] : 'false'; $template = $this->get_template_item_by_name($this->site['template_id'], $template_name); if ($template) { $template_content = $this->parse_template($template['content']); } else { $template_content = false; } if ($print_root_only == 'true' && $this->folder_id != $this->site['root_folder_id']) { return ''; } else { $multipage = $this->build_multipage($this->site['root_folder_id'], $max_length, $item_template, $class, $print_field, $date_format, $title_class, $read_more_class, $read_more_text, false, true); if ($template_content) { $multipage = str_replace($this->get_tag('content', $template_content), $multipage, $template_content); } return $multipage; } } function print_template($attributes) { if(!empty($attributes['name'])) { if($template = $this->get_template_item_by_name($this->site['template_id'], $attributes['name'])) { return $this->parse_template($template['content']); } } return ''; } function create_url($folder_id, $file_id = 0, $full=false) { $url = ''; if($full) { if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']!='off') { $url .= 'https://'; }else { $url .= 'http://'; } $url .= $_SERVER['HTTP_HOST']; } $url .= $_SERVER['PHP_SELF'].'?folder_id='.$folder_id.'&file_id='.$file_id; return $url; } function print_icon() { global $extension, $GO_CONFIG; return '<img border="0" align="absmiddle" src="'.get_filetype_image($extension).'" />'; } function print_home($attributes) { $text = isset ($attributes['text']) ? $attributes['text'] : ''; $template_name = isset ($attributes['template']) ? $attributes['template'] : ''; $active_template_name = isset ($attributes['active_template']) ? $attributes['active_template'] : $template_name; $class = isset ($attributes['class']) ? $attributes['class'] : ''; $active_class = isset ($attributes['active_class']) ? $attributes['active_class'] : $class; $print_at_home = isset ($attributes['print_at_home']) ? $attributes['print_at_home'] : 'true'; if ($this->folder_id == $this->site['root_folder_id'] ) { if($print_at_home != 'true') { return ''; } $template = $this->get_template_item_by_name($this->site['template_id'], $active_template_name); $class = $active_class ; } else { $template = $this->get_template_item_by_name($this->site['template_id'], $template_name); } $home = '<a class="'.$class.'" href="'.$_SERVER['PHP_SELF'].'?folder_id='.$this->site['root_folder_id'].'">'.$text.'</a>'; if ($template) { $template_content = $this->parse_template($template['content']); $home = str_replace($this->get_tag('content', $template_content), $home, $template_content); } return $home; } function print_path($attributes) { $template_name = isset ($attributes['template']) ? $attributes['template'] : ''; $item_template_name = isset ($attributes['item_template']) ? $attributes['item_template'] : ''; $active_item_template_name = isset ($attributes['active_item_template']) ? $attributes['active_item_template'] : $item_template_name; $class = isset ($attributes['class']) ? $attributes['class'] : ''; $active_class = isset ($attributes['active_class']) ? $attributes['active_class'] : $class; $path = ''; $id = $this->folder_id; $template = $this->get_template_item_by_name($this->site['template_id'], $template_name); $item_template_passive = $this->get_template_item_by_name($this->site['template_id'], $item_template_name); $item_template_active = $this->get_template_item_by_name($this->site['template_id'], $active_item_template_name); $folder = $this->get_folder($id); while ($folder['parent_id'] != 0) { $item_template = ($this->folder_id == $id) ? $item_template_active : $item_template_passive; $_class = ($this->folder_id == $id) ? $active_class : $class; if ($item_template) { $item_template_content = $this->parse_template($item_template['content']); $path = str_replace($this->get_tag('content', $item_template_content), '<a class="'.$class.'" href="'.$this->create_url($folder['id']).'">'.$folder['name'].'</a>', $item_template_content).$path; } else { $path = '<a class="'.$_class.'" href="'.$this->create_url($folder['id']).'">'.$folder['name'].'</a>'.$path; } $id = $folder['parent_id']; $folder = $this->get_folder($id); } if ($template) { $template_content = $this->parse_template($template['content']); $path = str_replace($this->get_tag('content', $template_content), $path, $template_content); } return $path; } function print_active_doc($attributes) { global $extension; $template_name = isset ($attributes['template']) ? $attributes['template'] : ''; $class = isset ($attributes['class']) ? $attributes['class'] : ''; $current_file = ''; if (isset ($this->file_id) && $file = $this->get_file($this->file_id)) { $extension = get_extension($file['name']); $title = ($file['title'] == '') ? strip_extension($file['name']) : $file['title']; if ($template = $this->get_template_item_by_name($this->site['template_id'], $template_name)) { $current_file = $this->parse_template($template['content'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -