Version 2.2.0 RC-1
This commit is contained in:
1 parent
f73f8bff6d
commit
22f1b963ee
1034 files changed
+178610
-70897
No files matched your search
@@ -0,0 +1,206 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| Invision Power Board
|
||||
| =============================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2006 Invision Power Services, Inc.
|
||||
| http://www.invisionpower.com
|
||||
| =============================================
|
||||
| Web: http://www.invisionboard.com
|
||||
| Licence Info: http://www.invisionboard.com/?license
|
||||
+---------------------------------------------------------------------------
|
||||
| > $Date: 2006-08-01 17:02:55 +0100 (Tue, 01 Aug 2006) $
|
||||
| > $Revision: 425 $
|
||||
| > $Author: matt $
|
||||
+---------------------------------------------------------------------------
|
||||
|
|
||||
| > Personal Profile Portal Class: Posts
|
||||
| > Module written by Matt Mecham
|
||||
| > Date started: 2nd August 2006
|
||||
|
|
||||
+--------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/**
|
||||
* Main content
|
||||
*
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_IPB' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded 'admin.php'.";
|
||||
exit();
|
||||
}
|
||||
|
||||
class profile_posts
|
||||
{
|
||||
/**
|
||||
* Global IPSCLASS
|
||||
* @var object
|
||||
*/
|
||||
var $ipsclass;
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Return data
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Returns a block of HTML back to the ajax handler
|
||||
* which then replaces the inline content with the HTML
|
||||
* returned.
|
||||
*
|
||||
*/
|
||||
function return_html_block( $member=array() )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// INIT
|
||||
//-----------------------------------------
|
||||
|
||||
$content = '';
|
||||
$last_x = 5;
|
||||
$forum_ids = array();
|
||||
|
||||
//-----------------------------------------
|
||||
// Skin set loaded?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( ! is_object( $this->ipsclass->compiled_templates['skin_profile'] ) )
|
||||
{
|
||||
$this->ipsclass->load_template( 'skin_profile' );
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Got a member?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( ! is_array( $member ) OR ! count( $member ) )
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Allowed forums...
|
||||
//-----------------------------------------
|
||||
|
||||
$forum_ids = $this->ipsclass->forums->forums_get_all_allowed_forum_ids( 'read_perms' );
|
||||
|
||||
//-----------------------------------------
|
||||
// Check.. Again...
|
||||
//-----------------------------------------
|
||||
|
||||
if ( ! is_array( $forum_ids ) OR ! count( $forum_ids ) )
|
||||
{
|
||||
return $this->ipsclass->lang['err_no_posts_to_show'];
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Load parser
|
||||
//-----------------------------------------
|
||||
|
||||
require_once( ROOT_PATH."sources/handlers/han_parse_bbcode.php" );
|
||||
$parser = new parse_bbcode();
|
||||
$parser->ipsclass = $this->ipsclass;
|
||||
$parser->allow_update_caches = 0;
|
||||
|
||||
$parser->bypass_badwords = intval( $this->ipsclass->member['g_bypass_badwords'] );
|
||||
|
||||
//-----------------------------------------
|
||||
// Get last X posts
|
||||
//-----------------------------------------
|
||||
|
||||
$this->ipsclass->DB->build_query( array( 'select' => 'p.*',
|
||||
'from' => array( 'posts' => 'p' ),
|
||||
'where' => 't.tid=p.topic_id AND p.queued=0 AND p.author_id='.$member['id'] . " AND p.new_topic=0",
|
||||
'order' => 'p.post_date DESC',
|
||||
'limit' => array( 0, $last_x ),
|
||||
'add_join' => array( 0 => array(
|
||||
'select' => 't.*',
|
||||
'from' => array( 'topics' => 't' ),
|
||||
'where' => 't.forum_id IN(' . implode( ',', $forum_ids ). ')',
|
||||
'type' => 'inner' ) ) ) );
|
||||
|
||||
$o = $this->ipsclass->DB->exec_query();
|
||||
|
||||
while( $row = $this->ipsclass->DB->fetch_row( $o ) )
|
||||
{
|
||||
$row['_post_date'] = $this->ipsclass->get_date( $row['post_date'], 'SHORT' );
|
||||
$row['_date_array'] = $this->ipsclass->date_getgmdate( $row['post_date'] + $this->ipsclass->get_time_offset() );
|
||||
|
||||
$parser->parse_html = ( $this->ipsclass->cache['forum_cache'][ $row['forum_id'] ]['use_html'] and $this->ipsclass->cache['group_cache'][ $member['mgroup'] ]['g_dohtml'] and $row['post_htmlstate'] ) ? 1 : 0;
|
||||
$parser->parse_nl2br = $row['post_htmlstate'] == 2 ? 1 : 0;
|
||||
|
||||
$row['post'] = $parser->pre_display_parse( $row['post'] );
|
||||
|
||||
$row['post'] .= "\n<!--IBF.ATTACHMENT_". $row['pid']. "-->";
|
||||
|
||||
//-----------------------------------------
|
||||
// ATTACHMENTS
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $row['topic_hasattach'] )
|
||||
{
|
||||
if ( ! is_object( $this->class_attach ) )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Grab render attach class
|
||||
//-----------------------------------------
|
||||
|
||||
require_once( ROOT_PATH . 'sources/classes/attach/class_attach.php' );
|
||||
$this->class_attach = new class_attach();
|
||||
$this->class_attach->ipsclass =& $this->ipsclass;
|
||||
|
||||
$this->ipsclass->load_template( 'skin_topic' );
|
||||
}
|
||||
|
||||
$this->class_attach->type = 'post';
|
||||
$this->class_attach->init();
|
||||
|
||||
$row['post'] = $this->class_attach->render_attachments( $row['post'], array( $row['pid'] => $row['pid'] ) );
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Hex encoding...
|
||||
//-----------------------------------------
|
||||
|
||||
$row['post'] = str_replace( "<#IMG_DIR#>", $this->ipsclass->skin['_imagedir'], $row['post'] );
|
||||
$row['post'] = str_replace( "<#EMO_DIR#>", $this->ipsclass->skin['_emodir'] , $row['post'] );
|
||||
|
||||
$content .= $this->ipsclass->compiled_templates['skin_profile']->personal_portal_single_column( $row, $this->ipsclass->lang['profile_read_topic'], $this->ipsclass->base_url.'act=findpost&pid='.$row['pid'], $this->ipsclass->lang['profile_in_topic'] . $row['title'] );
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Macros...
|
||||
//-----------------------------------------
|
||||
|
||||
if ( ! is_array( $this->ipsclass->skin['_macros'] ) OR ! count( $this->ipsclass->skin['_macros'] ) )
|
||||
{
|
||||
$this->ipsclass->skin['_macros'] = unserialize( stripslashes($this->ipsclass->skin['_macro']) );
|
||||
}
|
||||
|
||||
if ( is_array( $this->ipsclass->skin['_macros'] ) )
|
||||
{
|
||||
foreach( $this->ipsclass->skin['_macros'] as $row )
|
||||
{
|
||||
if ( $row['macro_value'] != "" )
|
||||
{
|
||||
$content = str_replace( "<{".$row['macro_value']."}>", $row['macro_replace'], $content );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$content = str_replace( "<#IMG_DIR#>", $this->ipsclass->skin['_imagedir'], $content );
|
||||
$content = str_replace( "<#EMO_DIR#>", $this->ipsclass->skin['_emodir'] , $content );
|
||||
|
||||
//-----------------------------------------
|
||||
// Return content..
|
||||
//-----------------------------------------
|
||||
|
||||
return $content ? $content : $this->ipsclass->compiled_templates['skin_profile']->personal_portal_no_content( 'err_no_posts_to_show' );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
Reference in new issue
Block a user