1
0

Added FullProgPreview to Indexpage

This commit is contained in:
2014-06-04 18:06:38 +02:00
parent fc21232523
commit 12b6a3359e
14 changed files with 436 additions and 211 deletions

View File

@@ -153,6 +153,28 @@ ul.nav li.dropdown-append:hover > ul.dropdown-menu {
.collHeader {
border: 1px solid #D7E0E2;
padding: 0;
margin-left: 0;
position: relative;
/* .well */
min-height: 20px;
box-shadow: none;
border-radius: 6px;
background-color: #ECF0F1;
margin-bottom: 20px;
}
.collHeaderLinkParent {
background-color: #ECF0F1;
transition: background-color .25s ease-in-out;
-moz-transition: background-color .25s ease-in-out;
-webkit-transition: background-color .25s ease-in-out;
}
.collHeaderLinkParent:hover {
background-color: #D7E0E2;
}
.collHeaderSpan-front {
@@ -175,4 +197,52 @@ ul.nav li.dropdown-append:hover > ul.dropdown-menu {
padding: 0 5px;
margin-top: 2px;
}
.collHeaderLink {
left: 0;
top: 0;
width: 100%;
height: 100%;
position: absolute;
}
/* FullProgPreview
-------------------------------------------------- */
.fpp_parent {
background-color: #D7E0E2;
}
.fpp_previewImg {
width: 260px;
border-radius: 6px;
box-shadow: 0 0 15px 0px #333;
}
.fpp_title {
margin-top: -5px;
}
.fpp_description {
max-width: 260px
}
.fpp_footer {
background-color: #ECF0F1;
margin-left: -19px;
margin-right: -19px;
margin-bottom: -19px;
padding-top: 19px;
padding-left: 19px;
padding-right: 19px;
border: 2px solid #D7E0E2;
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
}

View File

@@ -1,13 +1,32 @@
<?php
class MsHtml extends CHtml {
public static function collapsedHeader($date, $caption)
/**
* @param DateTime $date
* @param string $caption
* @param string $link
* @return string
*/
public static function collapsedHeader($date, $caption, $link = '')
{
return
'<div class="well row collHeader">
<div class="collHeaderSpan-front">' . $date->format('d.m.y') . '</div>
<div class="collHeaderSpan">' . $caption . '</div>
<div class="collHeaderSpan-drop"> <i class="icon-chevron-down" ></i> </div>
</div>
';
if (empty($link)) {
return
'<div class="row collHeader">
<div class="collHeaderSpan-front">' . $date->format('d.m.Y') . '</div>
<div class="collHeaderSpan">' . $caption . '</div>
<div class="collHeaderSpan-drop"> <i class="icon-chevron-down" ></i> </div>
</div>
';
} else {
return
'<div class="row collHeader collHeaderLinkParent">
<div class="collHeaderSpan-front">' . $date->format('d.m.Y') . '</div>
<div class="collHeaderSpan">' . $caption . '</div>
<div class="collHeaderSpan-drop"> <i class="icon-chevron-down" ></i> </div>
<a class="collHeaderLink" href="' . $link . '">&nbsp;</a>
</div>
';
}
}
}

View File

@@ -40,6 +40,6 @@ class SeededRandom
{
$now = getdate();
return ($now['year'] % 100) * 366 + $now['yday'];
return ($now['year'] % 100) * 366 + $now['yday'] /* * $now['seconds'] */;
}
}

View File

@@ -0,0 +1,16 @@
<?php
class FullProgPreview extends CWidget {
/**
* @var $program Program
*/
public $program;
public $caption = ' ?? caption ?? ';
public function run() {
$this->render('fullProgPreview');
}
}
?>

View File

@@ -1,6 +1,6 @@
<?php
class ThumbnailPreview extends CWidget {
class ThumbnailProgPreview extends CWidget {
public $caption = '';
public $link = '';
public $enabled = true;
@@ -17,7 +17,7 @@ class ThumbnailPreview extends CWidget {
if ($this->date == null)
$this->date = new DateTime('2000-01-01');
$this->render('thumbnailPreview');
$this->render('thumbnailProgPreview');
}
}

View File

@@ -0,0 +1,72 @@
<?php
/* @var $this FullProgPreview */
?>
<div class="well fpp_parent">
<div class="container">
<h1> <?php echo $this->caption; ?> </h1>
<br />
<div class="row">
<div class="span3">
<a href="<?php echo $this->program->getLink(); ?>">
<img class="fpp_previewImg" src="<?php echo $this->program->getImagePath(); ?>"/>
</a>
</div>
<div class="span9">
<div>
<h2 class="fpp_title">
<?php echo $this->program->Name; ?>
<?php
for ($i = 0; $i < 4; $i++) {
if ($i < $this->program->Sterne)
echo TbHtml::icon(TbHtml::ICON_STAR);
else
echo TbHtml::icon(TbHtml::ICON_STAR_EMPTY);
}
?>
</h2>
</div>
<p class="fpp_description">
<?php echo $this->program->Description; ?>
</p>
<p>
<?php
if (!empty($this->program->Kategorie)) {
echo TbHtml::icon(TbHtml::ICON_TAG);
echo $this->program->Kategorie . '';
}
?>
</p>
<p>
<?php
foreach ($this->program->getLanguageList() as $lang) {
echo TbHtml::icon(TbHtml::ICON_GLOBE);
echo $lang;
echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
}
?>
</p>
</div>
</div>
</div>
<br />
<div class="fpp_footer">
<p>
<a class="btn btn-primary btn-large" href="<?php echo $this->program->getLink(); ?>">
Show &raquo;
</a>
</p>
</div>
</div>

View File

@@ -1,5 +1,5 @@
<?php
/* @var $this ThumbnailPreview */
/* @var $this ThumbnailProgPreview */
?>
<li class="thumbnailParentSpan">
@@ -45,6 +45,7 @@
echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
}
?>
</p>
</div>
<div class="modal-footer thumbnailInnerFooter">
<div class="text-center">

View File

@@ -30,6 +30,7 @@ return ArrayX::merge(
[
'application.models.*',
'application.components.*',
'application.components.widgets.*',
'bootstrap.components.*',
'bootstrap.behaviors.*',
'bootstrap.helpers.*',

View File

@@ -5,6 +5,8 @@ class ProgramsController extends MSController
public $layout='//layouts/column2';
public $menu=array();
/**
* @return array action filters
*/

View File

@@ -161,8 +161,8 @@ class Program extends CActiveRecord
public function getImagePath() {
if (file_exists('images/programs/thumbnails/' . $this->Name . '.png'))
return '/images/programs/thumbnails/' . $this->Name . '.png';
else if (file_exists('images/programs/thumbnails/' . $this->Name . '.jpg'))
return '/images/programs/thumbnails/' . $this->Name . '.jpg'; //TODO-MS REM ME - never use jpg
// else if (file_exists('images/programs/thumbnails/' . $this->Name . '.jpg'))
// return '/images/programs/thumbnails/' . $this->Name . '.jpg';
else throw new CHttpException(500, "Could not find Program Thumbnail '" . $this->Name . "'");
}

View File

@@ -1,5 +1,6 @@
<?php
/* @var $this SiteController */
/* @var $program Program */
$this->pageTitle=Yii::app()->name;
@@ -15,20 +16,30 @@ $this->selectedNav = 'index';
<div class="container">
<!-- Main hero unit for a primary marketing message or call to action -->
<div class="hero-unit">
<h1>Hello, world!</h1>
Daily Program: <?php echo $program->Name; ?>
<p>
<ul>
<li>View file: <code><?php echo __FILE__; ?></code></li>
<li>Layout file: <code><?php echo $this->getLayoutFile('main'); ?></code></li>
</ul>
</p>
<p><a class="btn btn-primary btn-large">Learn more &raquo;</a></p>
</div>
<?php
$this->widget('FullProgPreview',
[
'caption' => "Program of the Day:",
'program' => $program,
]);
?>
<?php echo MsHtml::collapsedHeader(new DateTime(), "Hello World", "/log/1"); ?>
<?php echo MsHtml::collapsedHeader(new DateTime(), "Hello World"); ?>
<?php echo MsHtml::collapsedHeader(new DateTime(), "Hello World"); ?>
<?php echo MsHtml::collapsedHeader(new DateTime(), "Hello World"); ?>
<?php echo MsHtml::collapsedHeader(new DateTime(), "Hello World"); ?>
<?php echo MsHtml::collapsedHeader(new DateTime(), "Hello World"); ?>
<?php echo MsHtml::collapsedHeader(new DateTime(), "Hello World"); ?>
<?php echo MsHtml::collapsedHeader(new DateTime(), "Hello World"); ?>
<!-- Example row of columns -->
<div class="row">
@@ -36,25 +47,25 @@ $this->selectedNav = 'index';
<h2>Heading YD: <?php echo YII_DEBUG ?></h2>
<p>
<?php
<?php
$connection = Yii::app()->db;
$command=$connection->createCommand("SELECT * FROM {{Programs}}");
$command->execute(); // a non-query SQL statement execution
// or execute an SQL query and fetch the result set
$reader=$command->query();
// each $row is an array representing a row of data
$dbgtxt = "";
foreach($reader as $row)
{
$dbgtxt = $dbgtxt . print_r($row, true);
}
echo TbHtml::textArea('dbgtxt', $dbgtxt, array('rows' => 5));
?>
?>
</p>
<p><a class="btn" href="#">View details &raquo;</a></p>
@@ -78,42 +89,4 @@ $this->selectedNav = 'index';
<p><a class="btn" href="#">View details &raquo;</a></p>
</div>
</div>
<?php echo MsHtml::collapsedHeader(new DateTime(), "Hello World"); ?>
<div class="well row collHeader">
<div class="collHeaderSpan-front">24.07.1999</div>
<div class="collHeaderSpan">Die neue Websiste ist online</div>
<div class="collHeaderSpan-drop"> <i class="icon-chevron-down" ></i> </div>
</div>
<div class="well row collHeader">
<div class="collHeaderSpan-front">24.07.1999</div>
<div class="collHeaderSpan">Die neue Websiste ist online</div>
<div class="collHeaderSpan-drop"> <i class="icon-chevron-down" ></i> </div>
</div>
<div class="well row collHeader">
<div class="collHeaderSpan-front">24.07.1999</div>
<div class="collHeaderSpan">Die neue Websiste ist online</div>
<div class="collHeaderSpan-drop"> <i class="icon-chevron-down" ></i> </div>
</div>
<div class="well row collHeader">
<div class="collHeaderSpan-front">24.07.1999</div>
<div class="collHeaderSpan">Die neue Websiste ist online</div>
<div class="collHeaderSpan-drop"> <i class="icon-chevron-down" ></i> </div>
</div>
<div class="well row collHeader">
<div class="collHeaderSpan-front">24.07.1999</div>
<div class="collHeaderSpan">Die neue Websiste ist online</div>
<div class="collHeaderSpan-drop"> <i class="icon-chevron-down" ></i> </div>
</div>
<div class="well row collHeader">
<div class="collHeaderSpan-front">24.07.1999</div>
<div class="collHeaderSpan">Die neue Websiste ist online</div>
<div class="collHeaderSpan-drop"> <i class="icon-chevron-down" ></i> </div>
</div>
</div>

View File

@@ -48,7 +48,7 @@
foreach (array_slice($all, $i * PROGS_INDEX_ROWSIZE, PROGS_INDEX_ROWSIZE) as $record) {
/* @var $record Program */
$this->widget('ThumbnailPreview',
$this->widget('ThumbnailProgPreview',
[
'caption' => $record->Thumbnailname,
'link' => $record->getLink(),