Version 3.4.5
This commit is contained in:
1 parent
fb6b5baabc
commit
e4478369d8
1360 files changed
+228921
-179445
No files matched your search
@@ -0,0 +1,148 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Content custom bbcode
|
||||
* Last Updated: $Date: 2012-06-01 13:11:08 -0400 (Fri, 01 Jun 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $author$
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Content
|
||||
* @link http://www.invisionpower.com
|
||||
* @version $Rev: 10855 $
|
||||
*/
|
||||
|
||||
if( !class_exists('bbcode_parent_main_class') )
|
||||
{
|
||||
require_once( IPS_ROOT_PATH . 'sources/classes/text/parser/bbcode/defaults.php' );/*noLibHook*/
|
||||
}
|
||||
|
||||
class bbcode_plugin_page extends bbcode_parent_main_class
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @access public
|
||||
* @param object Registry object
|
||||
* @param object Parent
|
||||
* @return @e void
|
||||
*/
|
||||
public function __construct( ipsRegistry $registry, $_parent=null )
|
||||
{
|
||||
$this->currentBbcode = 'page';
|
||||
|
||||
parent::__construct( $registry, $_parent );
|
||||
}
|
||||
|
||||
/**
|
||||
* Do the actual replacement
|
||||
*
|
||||
* @access protected
|
||||
* @param string $txt Parsed text from database to be edited
|
||||
* @return string BBCode content, ready for editing
|
||||
*/
|
||||
protected function _replaceText( $txt )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// INIT
|
||||
//-----------------------------------------
|
||||
|
||||
$tag = '[' . $this->currentBbcode . ']';
|
||||
$_curPage = $this->request['pg'] ? $this->request['pg'] : 1;
|
||||
$_ttlPages = 1;
|
||||
$_ttlPages += substr_count( $txt, $tag );
|
||||
|
||||
if( $this->caches['pagination_url'] )
|
||||
{
|
||||
$_reconstructed = rtrim( $this->caches['pagination_url'], '/' );
|
||||
}
|
||||
else
|
||||
{
|
||||
$_requestUri = rtrim( $_SERVER['REQUEST_URI'] ? $_SERVER['REQUEST_URI'] : @getenv('REQUEST_URI'), '/' );
|
||||
$_reconstructed = ( ( $_SERVER['HTTPS'] and $_SERVER['HTTPS'] != 'off' ) ? "https://" : "http://" ) . $_SERVER['HTTP_HOST'] . ( substr( $_requestUri, 0, 1 ) == '/' ? $_requestUri : '/' . $_requestUri );
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Get rid of existing pg= params
|
||||
//-----------------------------------------
|
||||
|
||||
$_reconstructed = preg_replace( "/pg=(\d+)/", '', $_reconstructed );
|
||||
|
||||
$_reconstructed = rtrim($_reconstructed, '?&' );
|
||||
|
||||
$_reconstructed = str_replace( '&', '&', $_reconstructed );
|
||||
|
||||
//-----------------------------------------
|
||||
// Add on the parameter separator
|
||||
//-----------------------------------------
|
||||
|
||||
if( $this->settings['url_type'] == 'query_string' )
|
||||
{
|
||||
if( substr_count( $_reconstructed, '?' ) > 1 )
|
||||
{
|
||||
$_reconstructed .= '&';
|
||||
}
|
||||
else
|
||||
{
|
||||
$_reconstructed .= '?';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if( strpos( $_reconstructed, '?' ) !== false )
|
||||
{
|
||||
$_reconstructed .= '&';
|
||||
}
|
||||
else
|
||||
{
|
||||
$_reconstructed .= '?';
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// If no pages, no need to have links
|
||||
//-----------------------------------------
|
||||
|
||||
if( $_ttlPages < 2 )
|
||||
{
|
||||
return $txt;
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Do replacements
|
||||
//-----------------------------------------
|
||||
|
||||
if( !$_curPage )
|
||||
{
|
||||
$txt = substr( $txt, 0, strpos( $txt, $tag ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
$bits = explode( $tag, $txt );
|
||||
|
||||
$txt = $bits[ $_curPage - 1 ];
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Clean up leading <br /> tags
|
||||
//-----------------------------------------
|
||||
|
||||
$txt = trim($txt);
|
||||
|
||||
if( substr( $txt, 0, 15 ) == '~~~~~_____~~~~~' )
|
||||
{
|
||||
$txt = substr( $txt, 15 );
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// And start generating output
|
||||
//-----------------------------------------
|
||||
|
||||
$txt .= $this->registry->output->getTemplate('ccs_global')->articlePages( $_ttlPages, $_curPage, $_reconstructed );
|
||||
|
||||
return $txt;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user