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']) ?>

- " +