File Manager
<?php
#BEGIN_LICENSE
#-------------------------------------------------------------------------
# Module: CGBlog (c) 2010 by Robert Campbell
# (calguy1000@cmsmadesimple.org)
# An addon module for CMS Made Simple to allow creation, management of
# and display of blog articles.
#
#-------------------------------------------------------------------------
# CMS - CMS Made Simple is (c) 2005 by Ted Kulp (wishy@cmsmadesimple.org)
# This project's homepage is: http://www.cmsmadesimple.org
#
#-------------------------------------------------------------------------
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# However, as a special exception to the GPL, this software is distributed
# as an addon module to CMS Made Simple. You may not use this software
# in any Non GPL version of CMS Made simple, or in any version of CMS
# Made simple that does not indicate clearly and obviously in its admin
# section that the site was built with CMS Made simple.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# Or read it online: http://www.gnu.org/licenses/licenses.html#GPL
#
#-------------------------------------------------------------------------
#END_LICENSE
if (!isset($gCms)) exit;
#
# Initialization
#
$thetemplate = $this->GetPreference('current_archive_template');
$tmp = $this->GetPreference('default_summarypage',-1);
$summarypage = $returnid;
if( $tmp != -1 ) {
$summarypage = $tmp;
}
$category = '';
#
# Setup
#
if( isset($params['archivetemplate']) ) {
$thetemplate = trim($params['archivetemplate']);
unset($params['archivetemplate']);
}
$thetemplate = 'archive'.$thetemplate;
if( isset($params['summarypage']) ) {
$tmp = $this->resolve_alias_or_id($params['summarypage']);
if( $tmp ) $summarypage = $tmp;
unset($params['summarypage']);
}
if( isset($params['category']) ) {
$category = explode(',',trim($params['category']));
}
#
# Get the data
#
$query = 'SELECT DISTINCT MONTH(A.start_time) AS month, YEAR(A.start_time) AS year, count(A.cgblog_id) AS count
FROM '.cms_db_prefix().'module_cgblog A ';
$joins = array();
$where = array();
$qparms = array();
$where[] = 'A.status = ?';
$qparms[] = 'published';
if( is_array($category) && count($category) > 0 ) {
$joins[] = cms_db_prefix().'module_cgblog_blog_categories B on A.cgblog_id = B.blog_id';
$joins[] = cms_db_prefix().'module_cgblog_categories C ON B.category_id = C.id';
$tmp = array();
foreach( $category as $one ) {
$tmp[] = $db->qstr(trim($one));
}
$where[] = 'C.name IN ('.implode($tmp).')';
}
if( isset($params['year']) ) {
$where[] = 'YEAR(A.start_time) = ?';
$qparms[] = (int)$params['year'];
}
# final query assembly
if( count($joins) ) {
foreach( $joins as $one ) {
$query .= ' LEFT JOIN '.$one;
}
}
if( count($where) ) {
$query .= ' WHERE '.implode(' AND ',$where);
}
$query .= ' GROUP BY YEAR(A.start_time), MONTH(A.start_time)';
$query .= ' ORDER BY A.start_time DESC';
$dbr = $db->Execute($query,$qparms);
if( !$dbr ) {
echo 'FATAL QUERY:'.$db->sql.'<br/>'.$db->ErrorMsg().'<br/>';
die();
}
$data = array();
$fmt = '%s/archive/%4d/%02d';
while( $dbr && ($row = $dbr->FetchRow()) ) {
$parms = $params;
$parms['year'] = $row['year'];
$parms['month'] = $row['month'];
$prettyurl = sprintf($fmt,$this->GetPreference('urlprefix','cgblog'),$row['year'],$row['month']);
if( $this->GetPreference('default_summarypage','-1') != -1 ) {
$prettyurl .= "/$summarypage";
}
$row['summary_url'] = $this->CreateURL($id,'default',$summarypage,$parms,false,$prettyurl);
$row['datestamp'] = mktime(0,0,0,$row['month'],1,$row['year']);
$data[] = $row;
}
$dbr->Close();
#
# Give Everything to Smarty
#
if( count($data) ) {
$smarty->assign('archivelist',$data);
}
#
# Process The template
#
echo $this->ProcessTemplateFromDataBase($thetemplate);
?>
File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com