Skip to content
This repository was archived by the owner on Sep 10, 2021. It is now read-only.

Commit 593ba21

Browse files
author
Charles Marion
committed
BUG: Fixed recent items cookie.
1 parent 03f9125 commit 593ba21

File tree

5 files changed

+33
-30
lines changed

5 files changed

+33
-30
lines changed

core/AppController.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,24 @@ public function preDispatch()
3131
}
3232
$user->setExpirationSeconds(60*Zend_Registry::get('configGlobal')->session->lifetime);
3333
$this->userSession=$user;
34+
$this->view->recentItems=array();
3435
if ($user->Dao!=null)
3536
{
3637
$this->logged=true;
3738
$this->view->logged=true;
3839
$this->view->userDao=$user->Dao;
40+
$cookieData = $this->getRequest()->getCookie('recentItems'.$this->userSession->Dao->getKey());
41+
$this->view->recentItems=array();
42+
if(isset($cookieData))
43+
{
44+
$this->view->recentItems= unserialize($cookieData);
45+
}
3946
}
4047
else
4148
{
4249
$this->view->logged=false;
4350
$this->logged=false;
4451
}
45-
$cookieData = $this->getRequest()->getCookie('recentItems');
46-
$this->view->recentItems=array();
47-
if(isset($cookieData))
48-
{
49-
$this->view->recentItems= unserialize($cookieData);
50-
}
5152

5253
$this->view->lang=Zend_Registry::get('configGlobal')->application->lang;
5354
//create a global javascript json array

core/controllers/InstallController.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ function indexAction()
4141
$this->view->writable=is_writable(BASE_PATH.'/core/configs');
4242
$this->view->convertfound=$this->Component->Utility->IsImageMagickWorking();
4343
$this->view->basePath=BASE_PATH;
44-
setcookie("recentItems", '', time()+60*60*24*30,'/'); //30 days
4544
if(!empty($_POST)&&$this->view->writable)
4645
{
4746
$this->_redirect("/install/step2");

core/controllers/ItemController.php

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -42,32 +42,35 @@ function viewAction()
4242
$this->view->isAdmin=$this->Item->policyCheck($itemDao,$this->userSession->Dao,MIDAS_POLICY_ADMIN);
4343
$this->view->isModerator=$this->Item->policyCheck($itemDao,$this->userSession->Dao,MIDAS_POLICY_WRITE);
4444

45-
$request = $this->getRequest();
46-
$cookieData = $request->getCookie('recentItems');
47-
$recentItems=array();
48-
if(isset($cookieData))
45+
if($this->logged)
4946
{
50-
$recentItems= unserialize($cookieData);
51-
}
52-
$tmp=array_reverse($recentItems);
53-
$i=0;
54-
foreach($tmp as $key=>$t)
55-
{
56-
if($t->getKey()==$itemDao->getKey())
47+
$request = $this->getRequest();
48+
$cookieData = $request->getCookie('recentItems'.$this->userSession->Dao->getKey());
49+
$recentItems=array();
50+
if(isset($cookieData))
5751
{
58-
unset($tmp[$key]);
59-
continue;
60-
}
61-
$i++;
62-
if($i>10)
52+
$recentItems= unserialize($cookieData);
53+
}
54+
$tmp=array_reverse($recentItems);
55+
$i=0;
56+
foreach($tmp as $key=>$t)
6357
{
64-
unset($tmp[$key]);
58+
if($t->getKey()==$itemDao->getKey())
59+
{
60+
unset($tmp[$key]);
61+
continue;
62+
}
63+
$i++;
64+
if($i>10)
65+
{
66+
unset($tmp[$key]);
67+
}
6568
}
66-
}
67-
$recentItems=array_reverse($tmp);
68-
$recentItems[]=$itemDao;
69+
$recentItems=array_reverse($tmp);
70+
$recentItems[]=$itemDao;
6971

70-
setcookie("recentItems", serialize($recentItems), time()+60*60*24*30,'/'); //30 days
72+
setcookie('recentItems'.$this->userSession->Dao->getKey(), serialize($recentItems), time()+60*60*24*30,'/'); //30 days
73+
}
7174
$itemRevision=$this->Item->getLastRevision($itemDao);
7275
$itemDao->lastrevision=$itemRevision;
7376
$itemDao->revisions=$itemDao->getRevisions();

core/models/cassandra/ItemModel.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ function getRandomItems($userDao=null,$policy=0,$limit=10,$thumbnailFilter=false
6363
ip.item_id is not null or
6464
ipg.item_id is not null)'
6565
)
66-
->limit($limit*2)
66+
->limit($limit)
6767
;
6868
if($thumbnailFilter)
6969
{

core/models/pdo/ItemModel.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ function getRandomItems($userDao=null,$policy=0,$limit=10,$thumbnailFilter=false
174174
ip.item_id is not null or
175175
ipg.item_id is not null)'
176176
)
177-
->limit($limit*2)
177+
->limit($limit)
178178
;
179179
if($thumbnailFilter)
180180
{

0 commit comments

Comments
 (0)