This commit is contained in:
olivaq@gmail.com committed 2011-02-01 16:40:24 +01:00
1 parent 492053b98d
commit cf044fb1c3
4 files changed
+27 -30

No files matched your search

+6 -22
View File
@@ -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 '<pre>';
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']);
}
}
}
?>
+5 -3
View File
@@ -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;
}
}
}
+15 -2
View File
@@ -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')));
}
}
?>
?>
+1 -3
View File
@@ -23,9 +23,7 @@
<h3><?php echo $slide['Slide']['title']; ?></h3>
<p>
<?php echo $html->link('Edit', '/slides/edit/' . $slide['Slide']['id']) ?>
<?php if(!$slide['Slide']['simple']):?>
<?php echo $html->link('Set timing', '/slides/timing/' . $slide['Slide']['id']) ?>
<?php endif; ?>
<?php echo $html->link('Disable', '/slides/disable/' . $slide['Slide']['id']) ?>
</p>
<img src="<?php echo $slide['Slide']['thumbnail']?$slide['Slide']['thumbnail']:Router::url('/img/nothumb.png')?>" />
@@ -44,7 +42,7 @@
<?php echo $html->link('Set timing', '/slides/timing/' . $slide['Slide']['id']) ?>
<?php echo $html->link('Enable', '/slides/enable/' . $slide['Slide']['id']) ?>
</p>
<img src="<?php echo $slide['Slide']['thumbnail']?$slide['Slide']['thumbnail']:Router::url('/img/nothumb.png')?>" />"
<img src="<?php echo $slide['Slide']['thumbnail']?$slide['Slide']['thumbnail']:Router::url('/img/nothumb.png')?>" />
</li>
<?php endforeach; ?>
</ul>