From: <vo...@us...> - 2011-12-22 12:06:14
|
Revision: 8535 http://xoops.svn.sourceforge.net/xoops/?rev=8535&view=rev Author: voltan1 Date: 2011-12-22 12:06:03 +0000 (Thu, 22 Dec 2011) Log Message: ----------- Add rebuild function Modified Paths: -------------- XoopsModules/fmcontent/branches/news/admin/tools.php XoopsModules/fmcontent/branches/news/class/utils.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 2011-12-21 14:07:58 UTC (rev 8534) +++ XoopsModules/fmcontent/branches/news/admin/tools.php 2011-12-22 12:06:03 UTC (rev 8535) @@ -38,22 +38,6 @@ case 'display': default: - // rebuild alias - $form = new XoopsThemeForm(_NEWS_AM_TOOLS_ALIAS_TITLE, 'tools', 'tools.php', 'post'); - $form->addElement(new XoopsFormRadioYN ( _NEWS_AM_TOOLS_ALIAS_CONTENT, 'topic', "1" )); - $form->addElement(new XoopsFormRadioYN ( _NEWS_AM_TOOLS_ALIAS_TOPIC, 'content', "1" )); - $form->addElement(new XoopsFormHidden('op', 'alias')); - $form->addElement(new XoopsFormButton('', 'post', _SUBMIT, 'submit')); - $xoopsTpl->assign('alias', $form->render()); - - // meta alias - $form = new XoopsThemeForm(_NEWS_AM_TOOLS_META_TITLE, 'tools', 'tools.php', 'post'); - $form->addElement(new XoopsFormRadioYN ( _NEWS_AM_TOOLS_META_KEYWORD, 'keyword', "1" )); - $form->addElement(new XoopsFormRadioYN ( _NEWS_AM_TOOLS_META_DESCRIPTION, 'description', "1" )); - $form->addElement(new XoopsFormHidden('op', 'meta')); - $form->addElement(new XoopsFormButton('', 'post', _SUBMIT, 'submit')); - $xoopsTpl->assign('meta', $form->render()); - // Add clone $form = new XoopsThemeForm(_NEWS_AM_TOOLS_FORMFOLDER_TITLE, 'tools', 'tools.php', 'post'); $form->addElement(new XoopsFormText(_NEWS_AM_TOOLS_FORMFOLDER_NAME, 'folder_name', 50, 255, ''), true); @@ -86,6 +70,34 @@ $xoopsTpl->assign('purge', $form->render()); } + // rebuild alias + $form = new XoopsThemeForm(_NEWS_AM_TOOLS_ALIAS_CONTENT, 'tools', 'tools.php', 'post'); + $form->addElement(new XoopsFormRadioYN ( _NEWS_AM_TOOLS_ALIAS_CONTENT, 'content', "1" )); + $form->addElement(new XoopsFormHidden('op', 'alias')); + $form->addElement(new XoopsFormButton('', 'post', _SUBMIT, 'submit')); + $xoopsTpl->assign('alias', $form->render()); + + // rebuild topic alias + $form = new XoopsThemeForm(_NEWS_AM_TOOLS_ALIAS_TOPIC, 'tools', 'tools.php', 'post'); + $form->addElement(new XoopsFormRadioYN ( _NEWS_AM_TOOLS_ALIAS_TOPIC, 'topic', "1" )); + $form->addElement(new XoopsFormHidden('op', 'topicalias')); + $form->addElement(new XoopsFormButton('', 'post', _SUBMIT, 'submit')); + $xoopsTpl->assign('topicalias', $form->render()); + + // rebuild description + $form = new XoopsThemeForm(_NEWS_AM_TOOLS_META_DESCRIPTION, 'tools', 'tools.php', 'post'); + $form->addElement(new XoopsFormRadioYN ( _NEWS_AM_TOOLS_META_DESCRIPTION, 'description', "1" )); + $form->addElement(new XoopsFormHidden('op', 'description')); + $form->addElement(new XoopsFormButton('', 'post', _SUBMIT, 'submit')); + $xoopsTpl->assign('description', $form->render()); + + // rebuild keyword + $form = new XoopsThemeForm(_NEWS_AM_TOOLS_META_KEYWORD, 'tools', 'tools.php', 'post'); + $form->addElement(new XoopsFormRadioYN ( _NEWS_AM_TOOLS_META_KEYWORD, 'keyword', "1" )); + $form->addElement(new XoopsFormHidden('op', 'keyword')); + $form->addElement(new XoopsFormButton('', 'post', _SUBMIT, 'submit')); + $xoopsTpl->assign('keyword', $form->render()); + // other options $xoopsTpl->assign('header', true ); break; @@ -112,88 +124,36 @@ $story_handler->deleteAll(new Criteria('story_modid', $id)); $topic_handler->deleteAll(new Criteria('topic_modid', $id)); } - News_Redirect('tools.php', 1, _NEWS_AM_MSG_WAIT); + News_Redirect('tools.php', 20, _NEWS_AM_MSG_WAIT); break; - - case 'alias': - - - if($_POST['topic']) { - $criteria = new CriteriaCompo (); - $criteria->setSort ( 'topic_id' ); - $criteria->setOrder ( 'DESC' ); - $criteria->setLimit ( 1 ); - $last = $topic_handler->getObjects ( $criteria ); - foreach ( $last as $item ) { - $last_id = $item->getVar ( 'topic_id' ); - } - $topic_id = '1'; - while ($topic_id <= $last_id) { - $obj = $topic_handler->get ( $topic_id ); - if($obj) { - $obj->setVar ( 'topic_alias', News_Filter($obj->getVar ( 'topic_title', 'e' ))); - $topic_handler->insert ( $obj ); - } - $topic_id = $topic_id + 1; - } - } - - if($_POST['content']) { - $criteria = new CriteriaCompo (); - $criteria->setSort ( 'story_id' ); - $criteria->setOrder ( 'DESC' ); - $criteria->setLimit ( 1 ); - $last = $story_handler->getObjects ( $criteria ); - foreach ( $last as $item ) { - $last_id = $item->getVar ( 'story_id' ); - } - $story_id = '1'; - while ($story_id <= $last_id) { - $obj = $story_handler->get ( $story_id ); - if($obj) { - $obj->setVar ( 'story_alias', News_Filter($obj->getVar ( 'story_title', 'e' ))); - $story_handler->insert ( $obj ); - } - $story_id = $story_id + 1; - } - } - News_Redirect('tools.php', 1, _NEWS_AM_MSG_WAIT); - break; + + case 'alias': + $start_id = news_CleanVars($_REQUEST, 'start_id', '1', 'int'); + $end_id = news_CleanVars($_REQUEST, 'end_id', '1', 'int'); + NewsUtils::news_rebuild ($story_handler , 'story_id' , 'alias' , 'story_alias' , 'story_title' , $start_id , $end_id); + News_Redirect('tools.php', 20, _NEWS_AM_MSG_WAIT); + break; + + case 'topicalias': + $start_id = news_CleanVars($_REQUEST, 'start_id', '1', 'int'); + $end_id = news_CleanVars($_REQUEST, 'end_id', '1', 'int'); + NewsUtils::news_rebuild ($topic_handler , 'topic_id' , 'topicalias' , 'topic_alias' , 'topic_title' , $start_id , $end_id); + News_Redirect('tools.php', 20, _NEWS_AM_MSG_WAIT); + break; - case 'meta': - $criteria = new CriteriaCompo (); - $criteria->setSort ( 'story_id' ); - $criteria->setOrder ( 'DESC' ); - $criteria->setLimit ( 1 ); - $last = $story_handler->getObjects ( $criteria ); - foreach ( $last as $item ) { - $last_id = $item->getVar ( 'story_id' ); - } - $story_id = '1'; - - if($_POST['keyword']) { - while ($story_id <= $last_id) { - $obj = $story_handler->get ( $story_id ); - if($obj) { - $obj->setVar ( 'story_words', News_MetaFilter($obj->getVar ( 'story_title', 'e' ))); - $story_handler->insert ( $obj ); - } - $story_id = $story_id + 1; - } - } - - if($_POST['description']) { - while ($story_id <= $last_id) { - $obj = $story_handler->get ( $story_id ); - if($obj) { - $obj->setVar ( 'story_desc', News_AjaxFilter($obj->getVar ( 'story_title', 'e' ))); - $story_handler->insert ( $obj ); - } - $story_id = $story_id + 1; - } - } - News_Redirect('tools.php', 1, _NEWS_AM_MSG_WAIT); - break; + case 'keyword': + $start_id = news_CleanVars($_REQUEST, 'start_id', '1', 'int'); + $end_id = news_CleanVars($_REQUEST, 'end_id', '1', 'int'); + NewsUtils::news_rebuild ($story_handler , 'story_id' , 'keyword' , 'story_words' , 'story_title' , $start_id , $end_id); + News_Redirect('tools.php', 20, _NEWS_AM_MSG_WAIT); + break; + + case 'description': + $start_id = news_CleanVars($_REQUEST, 'start_id', '1', 'int'); + $end_id = news_CleanVars($_REQUEST, 'end_id', '1', 'int'); + NewsUtils::news_rebuild ($story_handler , 'story_id' , 'description' , 'story_desc' , 'story_title' , $start_id , $end_id); + News_Redirect('tools.php', 20, _NEWS_AM_MSG_WAIT); + break; } $xoopsTpl->assign('navigation', 'tools'); Modified: XoopsModules/fmcontent/branches/news/class/utils.php =================================================================== --- XoopsModules/fmcontent/branches/news/class/utils.php 2011-12-21 14:07:58 UTC (rev 8534) +++ XoopsModules/fmcontent/branches/news/class/utils.php 2011-12-22 12:06:03 UTC (rev 8535) @@ -379,6 +379,67 @@ } return true; } + + /** + * Rebuild + */ + function news_rebuild ($handler , $item_id , $op , $set , $get , $start_id, $end_id) { + // check last_id + $criteria = new CriteriaCompo (); + $criteria->setSort ( $item_id ); + $criteria->setOrder ( 'DESC' ); + $criteria->setLimit ( 1 ); + $last = $handler->getObjects ( $criteria ); + foreach ( $last as $item ) { + $last_id = $item->getVar ( $item_id ); + } + // set end_id + $end_id = $end_id + 100; + + // do rebuild + while ($start_id <= $end_id) { + $obj = $handler->get ( $start_id ); + if($obj) { + $new = self::news_dorebuild ($op , $obj->getVar ( $get, 'e' )); + $obj->setVar ( $set , $new); + $handler->insert ( $obj ); + } + $start_id = $start_id + 1; + } + + + // Redirect + if($start_id <= $last_id) { + News_Redirect('tools.php?op='.$op.'&start_id='.$start_id.'&end_id='.$end_id, 20, _NEWS_AM_MSG_INPROC); + xoops_cp_footer (); + exit (); + } + + } + + /** + * Make text for Rebuild + */ + function news_dorebuild ($op , $get) { + switch($op) { + case 'alias': + $item = News_Filter($get); + break; + + case 'topicalias': + $item = News_Filter($get); + break; + + case 'keyword': + $item = News_MetaFilter($get); + break; + + case 'description': + $item = News_AjaxFilter($get); + break; + } + return $item; + } } ?> \ No newline at end of file Modified: XoopsModules/fmcontent/branches/news/language/arabic/admin.php =================================================================== --- XoopsModules/fmcontent/branches/news/language/arabic/admin.php 2011-12-21 14:07:58 UTC (rev 8534) +++ XoopsModules/fmcontent/branches/news/language/arabic/admin.php 2011-12-22 12:06:03 UTC (rev 8535) @@ -138,6 +138,7 @@ define('_NEWS_AM_TOOLS_META_TITLE', 'Rebuild Metas'); define('_NEWS_AM_TOOLS_META_KEYWORD', 'Rebuild Meta keywords'); define('_NEWS_AM_TOOLS_META_DESCRIPTION', 'Rebuild Meta Description'); + define('_NEWS_AM_MSG_INPROC', 'Rebuilding ... '); // Permissions define('_NEWS_AM_PERMISSIONS_ACCESS', 'إتاحة العرض'); define('_NEWS_AM_PERMISSIONS_SUBMIT', 'إتاحة الإرسال'); Modified: XoopsModules/fmcontent/branches/news/language/english/admin.php =================================================================== --- XoopsModules/fmcontent/branches/news/language/english/admin.php 2011-12-21 14:07:58 UTC (rev 8534) +++ XoopsModules/fmcontent/branches/news/language/english/admin.php 2011-12-22 12:06:03 UTC (rev 8535) @@ -166,7 +166,8 @@ define('_NEWS_AM_MSG_INSERT_ERROR', 'Could not update database! Insert content error '); 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_ALIASERROR', 'Your selected Alias is already taken. Please change it and try again'); + define('_NEWS_AM_MSG_INPROC', 'Rebuilding ... '); // 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 2011-12-21 14:07:58 UTC (rev 8534) +++ XoopsModules/fmcontent/branches/news/language/persian/admin.php 2011-12-22 12:06:03 UTC (rev 8535) @@ -137,7 +137,8 @@ define('_NEWS_AM_TOOLS_ALIAS_TOPIC', 'دوباره سازی نام مستعار شاخه'); define('_NEWS_AM_TOOLS_META_TITLE', 'Rebuild Metas'); define('_NEWS_AM_TOOLS_META_KEYWORD', 'Rebuild Meta keywords'); - define('_NEWS_AM_TOOLS_META_DESCRIPTION', 'Rebuild Meta Description'); + define('_NEWS_AM_TOOLS_META_DESCRIPTION', 'Rebuild Meta Description'); + define('_NEWS_AM_MSG_INPROC', 'Rebuilding ... '); // Permissions define('_NEWS_AM_PERMISSIONS_ACCESS', 'دسترسی نمایش'); define('_NEWS_AM_PERMISSIONS_SUBMIT', 'دسترسی ارسال'); Modified: XoopsModules/fmcontent/branches/news/templates/admin/news_tools.html =================================================================== --- XoopsModules/fmcontent/branches/news/templates/admin/news_tools.html 2011-12-21 14:07:58 UTC (rev 8534) +++ XoopsModules/fmcontent/branches/news/templates/admin/news_tools.html 2011-12-22 12:06:03 UTC (rev 8535) @@ -5,7 +5,9 @@ <{if $folder}><{$folder}><{/if}> <{if $purge}><{$purge}><{/if}> <{if $alias}><{$alias}><{/if}> - <{if $meta}><{$meta}><{/if}> + <{if $topicalias}><{$topicalias}><{/if}> + <{if $description}><{$description}><{/if}> + <{if $keyword}><{$keyword}><{/if}> <{if $messages}> <div id="xo-module-log"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |