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($_REQUEST['title']) ) return;
debug_to_log('ajax_geturl');
debug_to_log($_REQUEST);
$query = 'SELECT cgblod_id FROM '.cms_db_prefix().'module_cgblog
WHERE url = ?';
$postdate = time();
if( isset($_REQUEST['postdate']) )
{
$postdate = strtotime($_POST['postdate']);
}
$article_id = '';
if( isset($_REQUEST['articleid']) )
{
$article_id = (int)$_REQUEST['articleid'];
}
$template = '{$postdate|cms_date_format:\'%Y\'}/{$postdate|cms_date_format:\'%m\'}/{$title}';
$template = $this->GetPreference('urltemplate',$template);
$smarty->assign('orig_title',trim($_REQUEST['title']));
$smarty->assign('title',munge_string_to_url(trim($_REQUEST['title'])));
$smarty->assign('postdate',$postdate);
$smarty->assign('articleid',$article_id);
$fmt = "%04d/%02d/%02d/%s";
$test = 0;
$url = '';
cms_route_manager::load_routes();
while( $test < 100 )
{
// generate a unique random url.
$url = $this->ProcessTemplateFromData('{strip}'.$template.'{/strip}');
if( $test > 1 )
{
$url .= '-'.$test;
}
$url = trim($url," /\t\r\n\0\x08");
$route = cms_route_manager::find_match($url);
if( $route )
{
$dflts = $route->get_defaults();
if( $route->is_content() ||
$route->get_dest() != $this->GetName() ||
!isset($dflts['articleid']) ||
$dflts['articleid'] != $article_id )
{
// route is used.
$test++;
continue;
}
}
break;
}
echo $url;
?>
File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com