1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-04-28 23:19:21 +03:00

fix постраничности

This commit is contained in:
Mzhelskiy Maxim 2012-07-09 09:47:42 +04:00
parent 991d87553b
commit c502444e2a
14 changed files with 53 additions and 50 deletions

View file

@ -116,18 +116,18 @@ class ActionBlog extends Action {
*
*/
protected function RegisterEvent() {
$this->AddEventPreg('/^good$/i','/^(page(\d+))?$/i',array('EventTopics','topics'));
$this->AddEventPreg('/^good$/i','/^(page([1-9]\d{0,5}))?$/i',array('EventTopics','topics'));
$this->AddEvent('good',array('EventTopics','topics'));
$this->AddEventPreg('/^bad$/i','/^(page(\d+))?$/i',array('EventTopics','topics'));
$this->AddEventPreg('/^new$/i','/^(page(\d+))?$/i',array('EventTopics','topics'));
$this->AddEventPreg('/^newall$/i','/^(page(\d+))?$/i',array('EventTopics','topics'));
$this->AddEventPreg('/^discussed$/i','/^(page(\d+))?$/i',array('EventTopics','topics'));
$this->AddEventPreg('/^top$/i','/^(page(\d+))?$/i',array('EventTopics','topics'));
$this->AddEventPreg('/^bad$/i','/^(page([1-9]\d{0,5}))?$/i',array('EventTopics','topics'));
$this->AddEventPreg('/^new$/i','/^(page([1-9]\d{0,5}))?$/i',array('EventTopics','topics'));
$this->AddEventPreg('/^newall$/i','/^(page([1-9]\d{0,5}))?$/i',array('EventTopics','topics'));
$this->AddEventPreg('/^discussed$/i','/^(page([1-9]\d{0,5}))?$/i',array('EventTopics','topics'));
$this->AddEventPreg('/^top$/i','/^(page([1-9]\d{0,5}))?$/i',array('EventTopics','topics'));
$this->AddEvent('add','EventAddBlog');
$this->AddEvent('edit','EventEditBlog');
$this->AddEvent('delete','EventDeleteBlog');
$this->AddEventPreg('/^admin$/i','/^\d+$/i','/^(page(\d+))?$/i','EventAdminBlog');
$this->AddEventPreg('/^admin$/i','/^\d+$/i','/^(page([1-9]\d{0,5}))?$/i','EventAdminBlog');
$this->AddEvent('invite','EventInviteBlog');
$this->AddEvent('ajaxaddcomment','AjaxAddComment');
@ -141,14 +141,14 @@ class ActionBlog extends Action {
$this->AddEventPreg('/^(\d+)\.html$/i','/^$/i',array('EventShowTopic','topic'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(\d+)\.html$/i',array('EventShowTopic','topic'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(page(\d+))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^bad$/i','/^(page(\d+))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^new$/i','/^(page(\d+))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^newall$/i','/^(page(\d+))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^discussed$/i','/^(page(\d+))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^top$/i','/^(page(\d+))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(page([1-9]\d{0,5}))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^bad$/i','/^(page([1-9]\d{0,5}))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^new$/i','/^(page([1-9]\d{0,5}))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^newall$/i','/^(page([1-9]\d{0,5}))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^discussed$/i','/^(page([1-9]\d{0,5}))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^top$/i','/^(page([1-9]\d{0,5}))?$/i',array('EventShowBlog','blog'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^users$/i','/^(page(\d+))?$/i','EventShowUsers');
$this->AddEventPreg('/^[\w\-\_]+$/i','/^users$/i','/^(page([1-9]\d{0,5}))?$/i','EventShowUsers');
}

View file

@ -37,7 +37,7 @@ class ActionBlogs extends Action {
* Регистрируем евенты
*/
protected function RegisterEvent() {
$this->AddEventPreg('/^(page(\d+))?$/i','EventShowBlogs');
$this->AddEventPreg('/^(page([1-9]\d{0,5}))?$/i','EventShowBlogs');
$this->AddEventPreg('/^ajax-search$/i','EventAjaxSearch');
}

View file

@ -45,7 +45,7 @@ class ActionComments extends Action {
* Регистрация евентов
*/
protected function RegisterEvent() {
$this->AddEventPreg('/^(page(\d+))?$/i','EventComments');
$this->AddEventPreg('/^(page([1-9]\d{0,5}))?$/i','EventComments');
$this->AddEventPreg('/^\d+$/i','EventShowComment');
}

View file

@ -76,11 +76,11 @@ class ActionIndex extends Action {
*
*/
protected function RegisterEvent() {
$this->AddEventPreg('/^(page(\d+))?$/i','EventIndex');
$this->AddEventPreg('/^new$/i','/^(page(\d+))?$/i','EventNew');
$this->AddEventPreg('/^newall$/i','/^(page(\d+))?$/i','EventNewAll');
$this->AddEventPreg('/^discussed/i','/^(page(\d+))?$/i','EventDiscussed');
$this->AddEventPreg('/^top/i','/^(page(\d+))?$/i','EventTop');
$this->AddEventPreg('/^(page([1-9]\d{0,5}))?$/i','EventIndex');
$this->AddEventPreg('/^new$/i','/^(page([1-9]\d{0,5}))?$/i','EventNew');
$this->AddEventPreg('/^newall$/i','/^(page([1-9]\d{0,5}))?$/i','EventNewAll');
$this->AddEventPreg('/^discussed/i','/^(page([1-9]\d{0,5}))?$/i','EventDiscussed');
$this->AddEventPreg('/^top/i','/^(page([1-9]\d{0,5}))?$/i','EventTop');
}

View file

@ -39,9 +39,9 @@ class ActionMy extends Action {
* Регистрируем евенты
*/
protected function RegisterEvent() {
$this->AddEventPreg('/^.+$/i','/^(page(\d+))?$/i','EventTopics');
$this->AddEventPreg('/^.+$/i','/^blog$/i','/^(page(\d+))?$/i','EventTopics');
$this->AddEventPreg('/^.+$/i','/^comment$/i','/^(page(\d+))?$/i','EventComments');
$this->AddEventPreg('/^.+$/i','/^(page([1-9]\d{0,5}))?$/i','EventTopics');
$this->AddEventPreg('/^.+$/i','/^blog$/i','/^(page([1-9]\d{0,5}))?$/i','EventTopics');
$this->AddEventPreg('/^.+$/i','/^comment$/i','/^(page([1-9]\d{0,5}))?$/i','EventComments');
}

View file

@ -52,11 +52,11 @@ class ActionPeople extends Action {
protected function RegisterEvent() {
$this->AddEvent('online','EventOnline');
$this->AddEvent('new','EventNew');
$this->AddEventPreg('/^(index)?$/i','/^(page(\d+))?$/i','/^$/i','EventIndex');
$this->AddEventPreg('/^(index)?$/i','/^(page([1-9]\d{0,5}))?$/i','/^$/i','EventIndex');
$this->AddEventPreg('/^ajax-search$/i','EventAjaxSearch');
$this->AddEventPreg('/^country$/i','/^\d+$/i','/^(page(\d+))?$/i','EventCountry');
$this->AddEventPreg('/^city$/i','/^\d+$/i','/^(page(\d+))?$/i','EventCity');
$this->AddEventPreg('/^country$/i','/^\d+$/i','/^(page([1-9]\d{0,5}))?$/i','EventCountry');
$this->AddEventPreg('/^city$/i','/^\d+$/i','/^(page([1-9]\d{0,5}))?$/i','EventCity');
}

View file

@ -53,13 +53,13 @@ class ActionPersonalBlog extends Action {
*
*/
protected function RegisterEvent() {
$this->AddEventPreg('/^good$/i','/^(page(\d+))?$/i','EventTopics');
$this->AddEventPreg('/^good$/i','/^(page([1-9]\d{0,5}))?$/i','EventTopics');
$this->AddEvent('good','EventTopics');
$this->AddEventPreg('/^bad$/i','/^(page(\d+))?$/i','EventTopics');
$this->AddEventPreg('/^new$/i','/^(page(\d+))?$/i','EventTopics');
$this->AddEventPreg('/^newall$/i','/^(page(\d+))?$/i','EventTopics');
$this->AddEventPreg('/^discussed/i','/^(page(\d+))?$/i','EventTopics');
$this->AddEventPreg('/^top/i','/^(page(\d+))?$/i','EventTopics');
$this->AddEventPreg('/^bad$/i','/^(page([1-9]\d{0,5}))?$/i','EventTopics');
$this->AddEventPreg('/^new$/i','/^(page([1-9]\d{0,5}))?$/i','EventTopics');
$this->AddEventPreg('/^newall$/i','/^(page([1-9]\d{0,5}))?$/i','EventTopics');
$this->AddEventPreg('/^discussed/i','/^(page([1-9]\d{0,5}))?$/i','EventTopics');
$this->AddEventPreg('/^top/i','/^(page([1-9]\d{0,5}))?$/i','EventTopics');
}

View file

@ -72,17 +72,17 @@ class ActionProfile extends Action {
$this->AddEventPreg('/^.+$/i','/^wall$/i','/^load-reply$/i','EventWallLoadReply');
$this->AddEventPreg('/^.+$/i','/^wall$/i','/^remove$/i','EventWallRemove');
$this->AddEventPreg('/^.+$/i','/^favourites$/i','/^comments$/i','/^(page(\d+))?$/i','EventFavouriteComments');
$this->AddEventPreg('/^.+$/i','/^favourites$/i','/^(page(\d+))?$/i','EventFavourite');
$this->AddEventPreg('/^.+$/i','/^favourites$/i','/^topics/i','/^(page(\d+))?$/i','EventFavourite');
$this->AddEventPreg('/^.+$/i','/^favourites$/i','/^topics/i','/^tag/i','/^.+/i','/^(page(\d+))?$/i','EventFavouriteTopicsTag');
$this->AddEventPreg('/^.+$/i','/^favourites$/i','/^comments$/i','/^(page([1-9]\d{0,5}))?$/i','EventFavouriteComments');
$this->AddEventPreg('/^.+$/i','/^favourites$/i','/^(page([1-9]\d{0,5}))?$/i','EventFavourite');
$this->AddEventPreg('/^.+$/i','/^favourites$/i','/^topics/i','/^(page([1-9]\d{0,5}))?$/i','EventFavourite');
$this->AddEventPreg('/^.+$/i','/^favourites$/i','/^topics/i','/^tag/i','/^.+/i','/^(page([1-9]\d{0,5}))?$/i','EventFavouriteTopicsTag');
$this->AddEventPreg('/^.+$/i','/^created/i','/^notes/i','/^(page(\d+))?$/i','EventCreatedNotes');
$this->AddEventPreg('/^.+$/i','/^created/i','/^(page(\d+))?$/i','EventCreatedTopics');
$this->AddEventPreg('/^.+$/i','/^created/i','/^topics/i','/^(page(\d+))?$/i','EventCreatedTopics');
$this->AddEventPreg('/^.+$/i','/^created/i','/^comments$/i','/^(page(\d+))?$/i','EventCreatedComments');
$this->AddEventPreg('/^.+$/i','/^created/i','/^notes/i','/^(page([1-9]\d{0,5}))?$/i','EventCreatedNotes');
$this->AddEventPreg('/^.+$/i','/^created/i','/^(page([1-9]\d{0,5}))?$/i','EventCreatedTopics');
$this->AddEventPreg('/^.+$/i','/^created/i','/^topics/i','/^(page([1-9]\d{0,5}))?$/i','EventCreatedTopics');
$this->AddEventPreg('/^.+$/i','/^created/i','/^comments$/i','/^(page([1-9]\d{0,5}))?$/i','EventCreatedComments');
$this->AddEventPreg('/^.+$/i','/^friends/i','/^(page(\d+))?$/i','EventFriends');
$this->AddEventPreg('/^.+$/i','/^friends/i','/^(page([1-9]\d{0,5}))?$/i','EventFriends');
$this->AddEventPreg('/^.+$/i','/^stream/i','/^$/i','EventStream');
}

View file

@ -181,7 +181,7 @@ class ActionSearch extends Action {
/**
* Определяем текущую страницу вывода результата
*/
$aReq['iPage'] = intval(preg_replace('#^page(\d+)$#', '\1', $this->getParam(0)));
$aReq['iPage'] = intval(preg_replace('#^page([1-9]\d{0,5})$#', '\1', $this->getParam(0)));
if(!$aReq['iPage']) { $aReq['iPage'] = 1; }
/**
* Передача данных в шаблонизатор

View file

@ -39,7 +39,7 @@ class ActionTag extends Action {
* Регистрация евентов
*/
protected function RegisterEvent() {
$this->AddEventPreg('/^.+$/i','/^(page(\d+))?$/i','EventTags');
$this->AddEventPreg('/^.+$/i','/^(page([1-9]\d{0,5}))?$/i','EventTags');
}

View file

@ -162,7 +162,7 @@ class ActionTalk extends Action {
/**
* Передан ли номер страницы
*/
$iPage=preg_match("/^page(\d+)$/i",$this->getParam(0),$aMatch) ? $aMatch[1] : 1;
$iPage=preg_match("/^page([1-9]\d{0,5})$/i",$this->getParam(0),$aMatch) ? $aMatch[1] : 1;
/**
* Получаем список писем
*/
@ -319,7 +319,7 @@ class ActionTalk extends Action {
/**
* Передан ли номер страницы
*/
$iPage=preg_match("/^page(\d+)$/i",$this->getParam(0),$aMatch) ? $aMatch[1] : 1;
$iPage=preg_match("/^page([1-9]\d{0,5})$/i",$this->getParam(0),$aMatch) ? $aMatch[1] : 1;
/**
* Получаем список писем
*/

View file

@ -74,8 +74,8 @@ class ActionTopic extends Action {
*/
protected function RegisterEvent() {
$this->AddEvent('add','EventAdd');
$this->AddEventPreg('/^published$/i','/^(page(\d+))?$/i','EventShowTopics');
$this->AddEventPreg('/^saved$/i','/^(page(\d+))?$/i','EventShowTopics');
$this->AddEventPreg('/^published$/i','/^(page([1-9]\d{0,5}))?$/i','EventShowTopics');
$this->AddEventPreg('/^saved$/i','/^(page([1-9]\d{0,5}))?$/i','EventShowTopics');
$this->AddEvent('edit','EventEdit');
$this->AddEvent('delete','EventDelete');
}

View file

@ -517,7 +517,10 @@ class ModuleTopic extends Module {
* @param array|null $aAllowData Список типов данных для подгрузки в топики
* @return array('collection'=>array,'count'=>int)
*/
public function GetTopicsByFilter($aFilter,$iPage=0,$iPerPage=0,$aAllowData=null) {
public function GetTopicsByFilter($aFilter,$iPage=1,$iPerPage=10,$aAllowData=null) {
if (!is_numeric($iPage) or $iPage<=0) {
$iPage=1;
}
$s=serialize($aFilter);
if (false === ($data = $this->Cache_Get("topic_filter_{$s}_{$iPage}_{$iPerPage}"))) {
$data = array(

View file

@ -294,7 +294,7 @@ class PluginPage_ActionPage extends ActionPlugin {
/**
* Проверяем есть ли заголовок топика, с заменой всех пробельных символов на "_"
*/
$pageUrl=preg_replace("/\s+/",'_',getRequest('page_url',null,'post'));
$pageUrl=preg_replace("/\s+/",'_',(string)getRequest('page_url',null,'post'));
$_REQUEST['page_url']=$pageUrl;
if (!func_check(getRequest('page_url',null,'post'),'login',1,50)) {
$this->Message_AddError($this->Lang_Get('plugin.page.create_url_error'),$this->Lang_Get('error'));