From cf044fb1c315805cc7bf77d4ab66ee6cdb011bd1 Mon Sep 17 00:00:00 2001 From: "olivaq@gmail.com" <> Date: Tue, 1 Feb 2011 16:40:24 +0100 Subject: [PATCH] fix --- app/controllers/slides_controller.php | 28 ++++++--------------------- app/models/display_time.php | 8 +++++--- app/models/slide.php | 17 ++++++++++++++-- app/views/slides/index.ctp | 4 +--- 4 files changed, 27 insertions(+), 30 deletions(-) diff --git a/app/controllers/slides_controller.php b/app/controllers/slides_controller.php index 8702d60..796b6bc 100644 --- a/app/controllers/slides_controller.php +++ b/app/controllers/slides_controller.php @@ -154,10 +154,12 @@ class SlidesController extends AppController { function slideshow() { - $ids = $this->Slide->DisplayTime->getActiveSlideIds(); - $slides = $this->Slide->find('all',array('conditions'=>array('id'=>$ids,'enabled'=>1))); -// $slides = $this->Slide->getActiveSlides(); - + //$ids = $this->Slide->DisplayTime->getActiveSlideIds(); + //$slides = $this->Slide->find('all',array('conditions'=>array('id'=>$ids,'enabled'=>1))); + $slides = $this->Slide->getActiveSlides(); + echo '
';
+ var_dump($slides);
+ die;
if($this->RequestHandler->isAjax())
{
die(json_encode($slides));
@@ -174,18 +176,6 @@ class SlidesController extends AppController {
{
if($this->Slide->save($this->data))
{
-
- if($this->data['Slide']['simple'])
- {
- $this->data['DisplayTime'][0]['slide_id'] = $id;
- $this->data['DisplayTime'][0]['start'] = strtotime($this->data['DisplayTime'][0]['start']);
- $this->data['DisplayTime'][0]['stop'] = strtotime($this->data['DisplayTime'][0]['stop']);
-
- $this->Slide->DisplayTime->deleteAll(array('slide_id'=>$id));
-
- $this->Slide->DisplayTime->save($this->data['DisplayTime'][0]);
- }
-
$this->redirect('index');
}
}
@@ -193,12 +183,6 @@ class SlidesController extends AppController {
{
$this->data = $this->Slide->read();
}
-
- if(isset($this->data['DisplayTime'][0]))
- {
- $this->data['DisplayTime'][0]['start'] = strftime("%F %T", $this->data['DisplayTime']['0']['start']);
- $this->data['DisplayTime'][0]['stop'] = strftime("%F %T", $this->data['DisplayTime']['0']['stop']);
- }
}
}
?>
diff --git a/app/models/display_time.php b/app/models/display_time.php
index a981085..d9700fe 100644
--- a/app/models/display_time.php
+++ b/app/models/display_time.php
@@ -7,10 +7,12 @@ class DisplayTime extends AppModel
var $belongsTo = 'Slide';
- function getActiveSlideIds()
+ function filterByDisplayTime($ids)
{
- $tmp = $this->find('all', array('fields'=>array('slide_id'), 'conditions'=>array('DisplayTime.start <= '=>time(), 'DisplayTime.stop >= '=>time())));
+ $timeofweek = time() - strtotime('this week midnight');
+
+ $tmp = $this->find('all', array('fields'=>array('slide_id'), 'conditions'=>array('DisplayTime.slide_id'=>$ids,'DisplayTime.start <= '=>$timeofweek, 'DisplayTime.stop >= '=>$timeofweek)));
$ids = Set::extract('/DisplayTime/slide_id', $tmp);
return $ids;
}
-}
\ No newline at end of file
+}
diff --git a/app/models/slide.php b/app/models/slide.php
index 4209398..dc955d4 100644
--- a/app/models/slide.php
+++ b/app/models/slide.php
@@ -4,7 +4,20 @@ class Slide extends AppModel {
var $name = 'Slide';
var $hasMany = 'DisplayTime';
-
+
+ function getActiveSlides()
+ {
+ $enabledSlides = $this->find('list',
+ array('conditions'=>
+ array('Slide.enabled'=>1,
+ '(Slide.start IS NULL OR Slide.start <= now()',
+ 'Slide.top IS NULL OR Slide.stop >= now()')));
+
+ $enabledSlides = array_keys($enabledSlides);
+
+ return $this->DisplayTime->filterByDisplayTime($enabledSlides);
+ }
+
function getEnabledSlides()
{
return $this->find('all', array('conditions'=>array('Slide.enabled'=>1)));
@@ -15,4 +28,4 @@ class Slide extends AppModel {
return $this->find('all', array('conditions'=>array('Slide.enabled'=>0),'order'=>array('id'=>'DESC')));
}
}
-?>
\ No newline at end of file
+?>
diff --git a/app/views/slides/index.ctp b/app/views/slides/index.ctp
index b0c2a4a..fefc6f5 100644
--- a/app/views/slides/index.ctp
+++ b/app/views/slides/index.ctp
@@ -23,9 +23,7 @@
link('Edit', '/slides/edit/' . $slide['Slide']['id']) ?>
-
link('Set timing', '/slides/timing/' . $slide['Slide']['id']) ?>
-
link('Disable', '/slides/disable/' . $slide['Slide']['id']) ?>
@@ -44,7 +42,7 @@
link('Set timing', '/slides/timing/' . $slide['Slide']['id']) ?>
link('Enable', '/slides/enable/' . $slide['Slide']['id']) ?>
-
"
+