57 lines
1.5 KiB
PHP
57 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* @file mysql_topics_queries.php Topics queries
|
|
*~TERABYTE_DOC_READY~
|
|
* $Copyright: (c) 2001 - 2011 Invision Power Services, Inc.$
|
|
* $License: http://www.invisionpower.com/company/standards.php#license$
|
|
* $Author: ips_terabyte $
|
|
* @since 13 Gen 2012
|
|
* $LastChangedDate: 2012-01-23 05:10:45 -0500 (Mon, 23 Jan 2012) $
|
|
* @version v3.4.8
|
|
* $Revision: 10165 $
|
|
*/
|
|
|
|
/**
|
|
* @class topics_sql_queries
|
|
* @brief Topics queries
|
|
*/
|
|
class topics_sql_queries extends db_driver_mysql
|
|
{
|
|
/**
|
|
* Database object handle
|
|
*
|
|
* @var $db
|
|
*/
|
|
private $db;
|
|
|
|
/**
|
|
* Constructor
|
|
*
|
|
* @param object $obj Database reference
|
|
* @return @e void
|
|
*/
|
|
public function __construct( &$obj )
|
|
{
|
|
$reg = ipsRegistry::instance();
|
|
$this->DB = $reg->DB();
|
|
$this->tbl = ips_DBRegistry::getPrefix();
|
|
}
|
|
|
|
/**
|
|
* Restores a recent post from the posts table
|
|
*
|
|
* @param array $data Query arguments
|
|
* @return @e string
|
|
*/
|
|
public function restoreRecentPost( $data )
|
|
{
|
|
$this->DB->allow_sub_select = true;
|
|
|
|
$query ="REPLACE INTO {$this->tbl}forums_recent_posts (post_id, post_topic_id, post_forum_id, post_author_id, post_date)
|
|
( SELECT p.pid, p.topic_id, ( SELECT t.forum_id FROM {$this->tbl}topics t where t.tid=p.topic_id), p.author_id, p.post_date
|
|
FROM {$this->tbl}posts p
|
|
WHERE p." . implode ( 'AND p.', $data['query'] ) . " AND p.author_id > 0 AND p.post_date > " . $data['date'] .")";
|
|
|
|
return $query;
|
|
}
|
|
} |