Current Path : /var/www/html/clients/rebirth.e-nk.ru/sources/action_public/ |
Current File : /var/www/html/clients/rebirth.e-nk.ru/sources/action_public/help.php |
<?php /* +-------------------------------------------------------------------------- | Invision Power Board | ============================================= | by Matthew Mecham | (c) 2001 - 2006 Invision Power Services, Inc. | Nullified by Terabyte | ============================================= | | +--------------------------------------------------------------------------- | > $Date: 2006-11-06 11:23:24 -0500 (Mon, 06 Nov 2006) $ | > $Revision: 714 $ | > $Author: matt $ +--------------------------------------------------------------------------- | | > Access the help files | > Module written by Matt Mecham | > Date started: 24th February 2002 | | > Module Version Number: 1.0.0 | > DBA Checked: Wed 19 May 2004 | > Quality Checked: Wed 15 Sept. 2004 +-------------------------------------------------------------------------- */ if ( ! defined( 'IN_IPB' ) ) { print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files."; exit(); } class help { # Classes var $ipsclass; # Others var $output = ""; var $page_title = ""; var $nav = array(); var $html = ""; /*-------------------------------------------------------------------------*/ // Auto run /*-------------------------------------------------------------------------*/ function auto_run() { //----------------------------------------- // Require the HTML and language modules //----------------------------------------- $this->ipsclass->load_language('lang_help'); $this->ipsclass->load_template('skin_help'); $this->base_url = $this->ipsclass->base_url; //----------------------------------------- // What to do? //----------------------------------------- switch($this->ipsclass->input['CODE']) { case '01': $this->show_section(); break; case '02': $this->do_search(); break; default: $this->show_titles(); break; } //----------------------------------------- // If we have any HTML to print, do so... //----------------------------------------- $this->ipsclass->print->add_output("$this->output"); $this->ipsclass->print->do_output( array( 'TITLE' => $this->page_title, 'JS' => 0, 'NAV' => $this->nav ) ); } /*-------------------------------------------------------------------------*/ // Show Titles /*-------------------------------------------------------------------------*/ function show_titles() { $seen = array(); $this->output = $this->ipsclass->compiled_templates['skin_help']->start( $this->ipsclass->lang['page_title'], $this->ipsclass->lang['help_txt'], $this->ipsclass->lang['choose_file'] ); $this->ipsclass->DB->simple_construct( array( 'select' => 'id, title, description', 'from' => 'faq', 'order' => 'position ASC' ) ); $this->ipsclass->DB->simple_exec(); $cnt = 0; while ($row = $this->ipsclass->DB->fetch_row() ) { if (isset($seen[ $row['title'] ]) ) { continue; } else { $seen[ $row['title'] ] = 1; } $row['CELL_COLOUR'] = $cnt % 2 ? 'row1' : 'row2'; $cnt++; $this->output .= $this->ipsclass->compiled_templates['skin_help']->row($row); } $this->output .= $this->ipsclass->compiled_templates['skin_help']->help_end(); $this->page_title = $this->ipsclass->lang['page_title']; $this->nav = array( $this->ipsclass->lang['page_title'] ); } /*-------------------------------------------------------------------------*/ // Show section /*-------------------------------------------------------------------------*/ function show_section() { $id = isset($this->ipsclass->input['HID']) ? intval($this->ipsclass->input['HID']) : 0; if ( ! preg_match( "/^(\d+)$/" , $id ) ) { $this->show_titles(); return; } $this->ipsclass->DB->simple_construct( array( 'select' => 'id, title, text', 'from' => 'faq', 'where' => 'ID='.$id ) ); $this->ipsclass->DB->simple_exec(); $topic = $this->ipsclass->DB->fetch_row(); if ( ! $topic['id'] ) { $this->ipsclass->Error( array( 'MSG' => 'help_no_id' ) ); } $this->output = $this->ipsclass->compiled_templates['skin_help']->start( $this->ipsclass->lang['help_topic'], $this->ipsclass->lang['topic_text'], $topic['title'] ); $this->output .= $this->ipsclass->compiled_templates['skin_help']->display( $this->ipsclass->text_tidy( $topic['text'] ) ); $this->output .= $this->ipsclass->compiled_templates['skin_help']->help_end(); $this->page_title = $this->ipsclass->lang['help_topic']; $this->nav = array( "<a href='{$this->base_url}&act=Help'>{$this->ipsclass->lang['help_topics']}</a>", $this->ipsclass->lang['help_topic'] ); } /*-------------------------------------------------------------------------*/ // Do search /*-------------------------------------------------------------------------*/ function do_search() { if (empty( $this->ipsclass->input['search_q'] ) ) { $this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'no_help_file') ); } $search_string = strtolower( str_replace( "*" , "%", $this->ipsclass->input['search_q'] ) ); $search_string = preg_replace( "/[<>\!\@£\$\^&\+\=\=\[\]\{\}\(\)\"':;\.,\/]/", "", $search_string ); $seen = array(); $this->output = $this->ipsclass->compiled_templates['skin_help']->start( $this->ipsclass->lang['page_title'], $this->ipsclass->lang['results_txt'], $this->ipsclass->lang['search_results'] ); $this->ipsclass->DB->cache_add_query( 'help_search', array( 'search_string' => $search_string ) ); $this->ipsclass->DB->cache_exec_query(); $cnt = 0; while ($row = $this->ipsclass->DB->fetch_row() ) { if (isset($seen[ $row['title'] ]) ) { continue; } else { $seen[ $row['title'] ] = 1; } $row['CELL_COLOUR'] = $cnt % 2 ? 'row1' : 'row2'; $cnt++; $this->output .= $this->ipsclass->compiled_templates['skin_help']->row($row); } if ($cnt == 0) { $this->output .= $this->ipsclass->compiled_templates['skin_help']->no_results(); } $this->output .= $this->ipsclass->compiled_templates['skin_help']->help_end(); $this->page_title = $this->ipsclass->lang['page_title']; $this->nav = array( "<a href='{$this->base_url}&act=Help'>{$this->ipsclass->lang['help_topics']}</a>", $this->ipsclass->lang['results_title'] ); } } ?>