From: <vo...@us...> - 2012-01-09 13:31:30
|
Revision: 8689 http://xoops.svn.sourceforge.net/xoops/?rev=8689&view=rev Author: voltan1 Date: 2012-01-09 13:31:19 +0000 (Mon, 09 Jan 2012) Log Message: ----------- Add news pream in tools Modified Paths: -------------- XoopsModules/fmcontent/branches/news/admin/tools.php XoopsModules/fmcontent/branches/news/class/story.php XoopsModules/fmcontent/branches/news/language/arabic/admin.php XoopsModules/fmcontent/branches/news/language/english/admin.php XoopsModules/fmcontent/branches/news/language/persian/admin.php XoopsModules/fmcontent/branches/news/templates/admin/news_tools.html Modified: XoopsModules/fmcontent/branches/news/admin/tools.php =================================================================== --- XoopsModules/fmcontent/branches/news/admin/tools.php 2012-01-09 10:53:40 UTC (rev 8688) +++ XoopsModules/fmcontent/branches/news/admin/tools.php 2012-01-09 13:31:19 UTC (rev 8689) @@ -97,7 +97,32 @@ $form->addElement(new XoopsFormHidden('op', 'keyword')); $form->addElement(new XoopsFormButton('', 'post', _SUBMIT, 'submit')); $xoopsTpl->assign('keyword', $form->render()); - + + // prune manager + $form = new XoopsThemeForm(_NEWS_AM_TOOLS_PRUNE, 'tools', 'tools.php', 'post'); + $form->addElement(new XoopsFormTextDateSelect(_NEWS_AM_TOOLS_PRUNE_BEFORE, 'prune_date', 15, time())); + $onlyexpired=new xoopsFormCheckBox('', 'onlyexpired'); + $onlyexpired->addOption(1, _NEWS_AM_TOOLS_PRUNE_EXPIREDONLY); + $form->addElement($onlyexpired, false); + $form->addElement(new XoopsFormHidden('op', 'confirmbeforetoprune'), false); + $form->addElement(new XoopsFormHidden('op', 'confirmbeforetoprune'), false); + $topiclist = new XoopsFormSelect(_NEWS_AM_TOOLS_PRUNE_TOPICS, 'pruned_topics','',5,true); + $criteria = new CriteriaCompo (); + $criteria->add ( new Criteria ( 'topic_modid', $NewsModule->getVar ( 'mid' ) ) ); + $criteria->setSort ( 'topic_id' ); + $criteria->setOrder ( 'DESC' ); + $allTopics = $topic_handler->getObjects ( $criteria ); + $topic_tree = new XoopsObjectTree($allTopics, 'topic_id', 'topic_pid'); + $topics_arr = $topic_tree->getAllChild(0); + foreach ($topics_arr as $onetopic) { + $topiclist->addOption($onetopic->getVar ( 'topic_id' ),$onetopic->getVar ( 'topic_title', 'e' )); + } + $topiclist->setDescription(_NEWS_AM_TOOLS_EXPORT_PRUNE_DSC); + $form->addElement($topiclist,false); + $form->addElement(new XoopsFormHidden('op', 'prune')); + $form->addElement(new XoopsFormButton('', 'post', _SUBMIT, 'submit')); + $xoopsTpl->assign('prune', $form->render()); + // other options $xoopsTpl->assign('header', true ); break; @@ -154,6 +179,19 @@ NewsUtils::News_Rebuild ($story_handler , 'story_id' , 'description' , 'story_desc' , 'story_title' , $start_id , $end_id); NewsUtils::News_Redirect('tools.php', 1, _NEWS_AM_MSG_WAIT); break; + + case 'prune': + $timestamp = NewsUtils::News_CleanVars ( $_REQUEST, 'prune_date', '', 'int' ); + $expired = NewsUtils::News_CleanVars ( $_REQUEST, 'onlyexpired', 0, 'int' ); + $timestamp = strtotime($_REQUEST ['prune_date']); + $topiclist = ''; + if(isset($_REQUEST['pruned_topics'])) { + $topiclist = implode ( ',', $_REQUEST['pruned_topics'] ); + } + $count = $story_handler->News_PruneCount($NewsModule,$timestamp,$expired,$topiclist); + $story_handler->News_DeleteBeforeDate($NewsModule,$timestamp,$expired,$topiclist); + NewsUtils::News_Redirect('tools.php', 100, sprintf(_NEWS_AM_MSG_PRUNE_DELETED,$count)); + break; } $xoopsTpl->assign('navigation', 'tools'); Modified: XoopsModules/fmcontent/branches/news/class/story.php =================================================================== --- XoopsModules/fmcontent/branches/news/class/story.php 2012-01-09 10:53:40 UTC (rev 8688) +++ XoopsModules/fmcontent/branches/news/class/story.php 2012-01-09 13:31:19 UTC (rev 8689) @@ -1052,7 +1052,7 @@ return $result; } - /** + /** * Get archive */ function News_GetArchive($NewsModule, $publish_start, $publish_end ,$topics) { @@ -1088,6 +1088,50 @@ } return $ret; } + + /** + * News Prune Count + */ + function News_PruneCount($NewsModule,$timestamp,$expired,$topiclist) { + $criteria = new CriteriaCompo (); + $criteria->add ( new Criteria ( 'story_modid', $NewsModule->getVar ( 'mid' ) ) ); + $criteria->add ( new Criteria ( 'story_publish', $timestamp , '<=' )); + if($expired) { + $criteria->add ( new Criteria ( 'story_expire', 0 )); + $criteria->add ( new Criteria ( 'story_expire', time() , '>' ) ,'OR'); + } + if($topiclist) { + $criteria->add ( new Criteria ( 'story_topic', '(' . $topiclist . ')', 'IN' ) ); + } + return $this->getCount ( $criteria ); + } + + /** + * News Delete Before Date + */ + function News_DeleteBeforeDate($NewsModule,$timestamp,$expired,$topiclist) { + $criteria = new CriteriaCompo (); + $criteria->add ( new Criteria ( 'story_modid', $NewsModule->getVar ( 'mid' ) ) ); + $criteria->add ( new Criteria ( 'story_publish', $timestamp , '<=' )); + if($expired) { + $criteria->add ( new Criteria ( 'story_expire', 0 )); + $criteria->add ( new Criteria ( 'story_expire', time() , '>' ) ,'OR'); + } + if($topiclist) { + $criteria->add ( new Criteria ( 'story_topic', '(' . $topiclist . ')', 'IN' ) ); + } + /* + $obj = $this->getObjects ( $criteria, false ); + if ($obj) { + foreach ( $obj as $root ) { + xoops_comment_delete( $NewsModule->getVar ( 'mid' ) , $root->getVar ( 'story_id' )); + //xoops_notification_deletebyitem( $NewsModule->getVar ( 'mid' ) , 'story', $root->getVar ( 'story_id' )); + } + } + */ + $this->deleteAll($criteria); + return true; + } } ?> \ No newline at end of file Modified: XoopsModules/fmcontent/branches/news/language/arabic/admin.php =================================================================== --- XoopsModules/fmcontent/branches/news/language/arabic/admin.php 2012-01-09 10:53:40 UTC (rev 8688) +++ XoopsModules/fmcontent/branches/news/language/arabic/admin.php 2012-01-09 13:31:19 UTC (rev 8689) @@ -168,6 +168,7 @@ define('_NEWS_AM_MSG_CLONE_ERROR', 'هذا الدليل هو متاح الآن !'); define("_NEWS_AM_MSG_NOPERMSSET", "لایمکن تعدیل الإتاحات: لم یتم تحدیث أي فئة ! الرجاء تحدیث فئة أولا."); define('_NEWS_AM_MSG_ALIASERROR', 'لقد تم اختیار هذا الإسم. الرجاء اختیار اسم آخر.'); + define('_NEWS_AM_MSG_PRUNE_DELETED', '%s Articles deleted'); // about define('_NEWS_AM_ABOUT_ADMIN', 'درباره'); define('_NEWS_AM_ABOUT_DESCRIPTION', 'وصف:'); Modified: XoopsModules/fmcontent/branches/news/language/english/admin.php =================================================================== --- XoopsModules/fmcontent/branches/news/language/english/admin.php 2012-01-09 10:53:40 UTC (rev 8688) +++ XoopsModules/fmcontent/branches/news/language/english/admin.php 2012-01-09 13:31:19 UTC (rev 8689) @@ -167,7 +167,8 @@ define('_NEWS_AM_MSG_CLONE_ERROR', 'This folder already exists !'); define('_NEWS_AM_MSG_NOPERMSSET', 'Permission cannot be set: No Topics created yet! Please create a Topic first.'); define('_NEWS_AM_MSG_ALIASERROR', 'Your selected Alias is already taken. Please change it and try again'); - define('_NEWS_AM_MSG_INPROC', 'Rebuilding ... '); + define('_NEWS_AM_MSG_INPROC', 'Rebuilding ... '); + define('_NEWS_AM_MSG_PRUNE_DELETED', '%s Articles deleted'); // about define('_NEWS_AM_ABOUT_ADMIN', 'About'); define('_NEWS_AM_ABOUT_DESCRIPTION', 'Description:'); Modified: XoopsModules/fmcontent/branches/news/language/persian/admin.php =================================================================== --- XoopsModules/fmcontent/branches/news/language/persian/admin.php 2012-01-09 10:53:40 UTC (rev 8688) +++ XoopsModules/fmcontent/branches/news/language/persian/admin.php 2012-01-09 13:31:19 UTC (rev 8689) @@ -167,7 +167,8 @@ define('_NEWS_AM_MSG_INSERT_ERROR', 'ناتوان در به روز رسانی پایگاه داده ها! خطا در مورد اخبار'); define('_NEWS_AM_MSG_CLONE_ERROR', 'این شاخه هماکنون موجود است!'); define("_NEWS_AM_MSG_NOPERMSSET", "هیچ دسترسی قابل تنظیم نیست : هنوز هیچ شاخه ای ساخته نشده است! لطفا ابتدا یک شاخه بسازید."); - define('_NEWS_AM_MSG_ALIASERROR', 'نام مستعار مورد انتخاب شما گرفته شده است. لطفا یک نام دیگر انتخاب کنید.'); + define('_NEWS_AM_MSG_ALIASERROR', 'نام مستعار مورد انتخاب شما گرفته شده است. لطفا یک نام دیگر انتخاب کنید.'); + define('_NEWS_AM_MSG_PRUNE_DELETED', '%s Articles deleted'); // about define('_NEWS_AM_ABOUT_ADMIN', 'درباره'); define('_NEWS_AM_ABOUT_DESCRIPTION', 'توضیحات:'); Modified: XoopsModules/fmcontent/branches/news/templates/admin/news_tools.html =================================================================== --- XoopsModules/fmcontent/branches/news/templates/admin/news_tools.html 2012-01-09 10:53:40 UTC (rev 8688) +++ XoopsModules/fmcontent/branches/news/templates/admin/news_tools.html 2012-01-09 13:31:19 UTC (rev 8689) @@ -8,7 +8,7 @@ <{if $topicalias}><{$topicalias}><{/if}> <{if $description}><{$description}><{/if}> <{if $keyword}><{$keyword}><{/if}> - + <{if $prune}><{$prune}><{/if}> <{if $messages}> <div id="xo-module-log"> <h4><{$smarty.const._NEWS_AM_TOOLS_LOG_TITLE}></h4> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |