mirror of
				https://github.com/avecms/AVE.cms.git
				synced 2025-10-30 13:26:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			158 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			158 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| 	/**
 | |
| 	 * AVE.cms
 | |
| 	 *
 | |
| 	 * @package AVE.cms
 | |
| 	 * @version 3.x
 | |
| 	 * @filesource
 | |
| 	 * @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
 | |
| 	 *
 | |
| 	 * @license GPL v.2
 | |
| 	 */
 | |
| 
 | |
| 
 | |
| 	/**
 | |
| 	 * Постраничная навигация документа
 | |
| 	 *
 | |
| 	 * @param string $text	текст многострочной части документа
 | |
| 	 * @return string
 | |
| 	 */
 | |
| 	function document_pagination($text)
 | |
| 	{
 | |
| 		global $AVE_Core;
 | |
| 
 | |
| 		// IE8                    <div style="page-break-after: always"><span style="display: none"> </span></div>
 | |
| 		// Chrome                 <div style="page-break-after: always; "><span style="DISPLAY:none"> </span></div>
 | |
| 		// FF                     <div style="page-break-after: always;"><span style="display: none;"> </span></div>
 | |
| 		$pages = preg_split('#<div style="page-break-after:[; ]*always[; ]*"><span style="display:[ ]*none[;]*"> </span></div>#i', $text);
 | |
| 		$total_page = @sizeof($pages);
 | |
| 
 | |
| 		if ($total_page > 1)
 | |
| 		{
 | |
| 			$text = @$pages[get_current_page('artpage')-1];
 | |
| 
 | |
| 			$page_nav = ' <a class="pnav" href="index.php?id=' . $AVE_Core->curentdoc->Id
 | |
| 				. '&doc=' . (empty($AVE_Core->curentdoc->document_alias) ? prepare_url($AVE_Core->curentdoc->document_title) : $AVE_Core->curentdoc->document_alias)
 | |
| 				. '&artpage={s}'
 | |
| 				. ((isset($_REQUEST['apage']) && is_numeric($_REQUEST['apage'])) ? '&apage=' . $_REQUEST['apage'] : '')
 | |
| 				. ((isset($_REQUEST['page']) && is_numeric($_REQUEST['page'])) ? '&page=' . $_REQUEST['page'] : '')
 | |
| 				. '">{t}</a> ';
 | |
| 			$page_nav = get_pagination($total_page, 'artpage', $page_nav, get_settings('navi_box'));
 | |
| 
 | |
| 			$text .= rewrite_link($page_nav);
 | |
| 		}
 | |
| 
 | |
| 		$pages = '<?php $GLOBALS[\'page_id\'][' . $_REQUEST['id'] . '][\'artpage\']=' . $total_page . '; ?>';
 | |
| 
 | |
| 		return $pages . $text;
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Получить идентификатор текущего документа
 | |
| 	 *
 | |
| 	 * @return int идентификатор текущего документа
 | |
| 	 */
 | |
| 	function get_current_document_id()
 | |
| 	{
 | |
| 		$_REQUEST['id'] = (isset($_REQUEST['id']) && is_numeric($_REQUEST['id']))
 | |
| 			? $_REQUEST['id']
 | |
| 			: 1;
 | |
| 
 | |
| 		return $_REQUEST['id'];
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Получить идентификатор родительского документа
 | |
| 	 *
 | |
| 	 * @return int идентификатор родительского документа
 | |
| 	 */
 | |
| 	function get_parent_document_id()
 | |
| 	{
 | |
| 		global $AVE_DB;
 | |
| 		return $AVE_DB->Query("SELECT document_parent FROM " . PREFIX . "_documents WHERE Id = '".get_current_document_id()."' ")->GetCell();
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Функция отдаёт основные параметры дока
 | |
| 	 *
 | |
| 	 * @param int    $doc_id - номер id документа
 | |
| 	 * @param string $key - параметр документа
 | |
| 	 *
 | |
| 	 * @return string | bool | array
 | |
| 	 */
 | |
| 	function get_document ($doc_id , $key ='')
 | |
| 	{
 | |
| 		global $AVE_DB;
 | |
| 
 | |
| 		$doc_id = (int)$doc_id;
 | |
| 
 | |
| 		if ($doc_id < 1)
 | |
| 			return array();
 | |
| 
 | |
| 		static $get_documents_data = array();
 | |
| 
 | |
| 		if (! isset ($get_documents_data[$doc_id]))
 | |
| 		{
 | |
| 			$get_documents_data[$doc_id] = getDocument($doc_id);
 | |
| 
 | |
| 			$get_documents_data[$doc_id] = object2array($get_documents_data[$doc_id]);
 | |
| 
 | |
| 			$get_documents_data[$doc_id]['doc_title'] = $get_documents_data[$doc_id]['document_title'];
 | |
| 			$get_documents_data[$doc_id]['feld'] = array();
 | |
| 		}
 | |
| 
 | |
| 		if (isset($key) && $key != '')
 | |
| 			return $get_documents_data[$doc_id][$key];
 | |
| 		else
 | |
| 			return $get_documents_data[$doc_id];
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 	/**
 | |
| 	 * Функция отдаёт основные параметры дока
 | |
| 	 *
 | |
| 	 * @param int    $doc_id - номер id документа
 | |
| 	 *
 | |
| 	 * @return object | bool
 | |
| 	 */
 | |
| 	function getDocument ($doc_id)
 | |
| 	{
 | |
| 		global $AVE_DB;
 | |
| 
 | |
| 		$doc_id = (int)$doc_id;
 | |
| 
 | |
| 		if ($doc_id < 1)
 | |
| 			return false;
 | |
| 
 | |
| 		$sql = "
 | |
| 			SELECT
 | |
| 				# DOCUMENT = $doc_id
 | |
| 				*
 | |
| 			FROM
 | |
| 				" . PREFIX . "_documents
 | |
| 			WHERE
 | |
| 				Id = '" . $doc_id . "'
 | |
| 		";
 | |
| 
 | |
| 		$cache_time = (defined('CACHE_DOC_FILE') && CACHE_DOC_FILE)
 | |
| 			? -1
 | |
| 			: 0;
 | |
| 
 | |
| 		$data = $AVE_DB->Query($sql, $cache_time, 'dat_' . $doc_id, true, '.data')->FetchRow();
 | |
| 
 | |
| 		return $data;
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 	function DocumentBeforeSave ($data)
 | |
| 	{
 | |
| 		return $data;
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 	function DocumentAfterSave ($data)
 | |
| 	{
 | |
| 		return $data;
 | |
| 	}
 | |
| ?>
 |