diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 41467d0..745b1e4 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,13 +2,13 @@ - - - - - + + + + + @@ -63,28 +63,55 @@ - - + + - + - - + + - + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -103,12 +130,6 @@ @@ -300,146 +327,6 @@ - - + + - + - + @@ -719,61 +636,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -796,23 +663,9 @@ - - - - - - - - - - - - - - - + @@ -830,11 +683,6 @@ - - - - - @@ -845,16 +693,6 @@ - - - - - - - - - - @@ -865,35 +703,14 @@ - - - - - - - - - - - - - - - - - - - - - - + @@ -903,14 +720,7 @@ - - - - - - - - + @@ -920,28 +730,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -954,11 +742,6 @@ - - - - - @@ -974,6 +757,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -983,19 +820,138 @@ - + - + - + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/www/css/styles.css b/www/css/styles.css index 6e4720d..5f9d872 100644 --- a/www/css/styles.css +++ b/www/css/styles.css @@ -106,6 +106,18 @@ ul.nav li.dropdown-append:hover > ul.dropdown-menu { text-decoration: none; } +.thumbnail a:active, +.thumbnail a:visited, +.thumbnail a:link { + color: #95A5A6; + text-decoration: none; +} + +.thumbnail a:hover { + color: #1ABC9C; + text-decoration: none; +} + .thumbnailParentSpan { width: 270px; } diff --git a/www/images/log/captcha_img.png b/www/images/log/captcha_img.png new file mode 100644 index 0000000..f3e16b5 Binary files /dev/null and b/www/images/log/captcha_img.png differ diff --git a/www/protected/components/widgets/views/thumbnailProgPreview.php b/www/protected/components/widgets/views/thumbnailProgPreview.php index 661ab38..ddd6590 100644 --- a/www/protected/components/widgets/views/thumbnailProgPreview.php +++ b/www/protected/components/widgets/views/thumbnailProgPreview.php @@ -32,7 +32,7 @@ category)) { echo MsHtml::icon(MsHtml::ICON_TAG); - echo $this->category . ''; + echo MsHtml::link($this->category . '', '/programs/cat/' . $this->category); } ?>

diff --git a/www/protected/config/main.php b/www/protected/config/main.php index 33f2e99..327823e 100644 --- a/www/protected/config/main.php +++ b/www/protected/config/main.php @@ -66,7 +66,8 @@ return ArrayX::merge( 'showScriptName' => false, 'rules' => [ - 'programs/' => 'programs/index', + 'programs/' => ['programs/index', 'defaultParams' => ['categoryfilter' => '']], + 'programs/cat/' => ['programs/index', 'defaultParams' => ['categoryfilter' => '']], 'programs/view/' => 'programs/view', 'log/' => ['log/index', 'defaultParams' => ['logid' => '-1']], diff --git a/www/protected/controllers/ProgramsController.php b/www/protected/controllers/ProgramsController.php index 5035245..c18da37 100644 --- a/www/protected/controllers/ProgramsController.php +++ b/www/protected/controllers/ProgramsController.php @@ -144,7 +144,7 @@ class ProgramsController extends MSController /** * Lists all models. */ - public function actionIndex() + public function actionIndex($categoryfilter) { $this->layout = '//layouts/main'; @@ -156,7 +156,10 @@ class ProgramsController extends MSController $criteria = new CDbCriteria; $criteria->order = "Sterne DESC, add_date DESC"; - $criteria->condition = "visible=1"; + if (! empty($categoryfilter)) + $criteria->addCondition("Kategorie = :cat"); + $criteria->params[':cat'] = $categoryfilter; + $criteria->addCondition("visible=1"); $all = Program::model()->findAll($criteria); /* @var $all Program[] */ @@ -182,6 +185,7 @@ class ProgramsController extends MSController $data['pagecount'] = $pagecount; $data['rowcount'] = $rowcount; $data['data'] = $progdata; + $data['category'] = $categoryfilter; $this->render('index', $data); } diff --git a/www/protected/models/Log.php b/www/protected/models/Log.php index 21d8a6d..e0559d9 100644 --- a/www/protected/models/Log.php +++ b/www/protected/models/Log.php @@ -81,6 +81,7 @@ class Log extends CActiveRecord return new CActiveDataProvider($this, array( 'criteria'=>$criteria, + 'sort'=>[ 'defaultOrder'=>'date ASC' ], )); } diff --git a/www/protected/models/Program.php b/www/protected/models/Program.php index 8cf1ef2..b7b2a7c 100644 --- a/www/protected/models/Program.php +++ b/www/protected/models/Program.php @@ -44,7 +44,7 @@ class Program extends CActiveRecord // NOTE: you should only define rules for those attributes that // will receive user inputs. return array( - array('Name, Thumbnailname, Downloads, Kategorie, Sterne, enabled, visible, Language, programming_lang, Description, add_date, download_url, sourceforge_url, homepage_url, github_url, uses_absCanv, update_identifier', 'required'), + array('Name, Thumbnailname, Downloads, Kategorie, Sterne, enabled, visible, Language, programming_lang, Description, add_date, uses_absCanv', 'required'), array('enabled, visible, uses_absCanv, highscore_gid', 'numerical', 'integerOnly'=>true), array('Downloads, Sterne', 'numerical'), array('update_identifier', 'length', 'max'=>64), @@ -86,7 +86,7 @@ class Program extends CActiveRecord 'enabled' => 'Enabled', 'visible' => 'Visible', 'Language' => 'Language', - 'programming_lang' => 'programming_lang', + 'programming_lang' => 'programming Language', 'Description' => 'Description', 'add_date' => 'Add Date', 'download_url' => 'Download Url', diff --git a/www/protected/views/log/_ajaxMarkdownPreview.php b/www/protected/views/log/_ajaxMarkdownPreview.php index b35821e..03f0693 100644 --- a/www/protected/views/log/_ajaxMarkdownPreview.php +++ b/www/protected/views/log/_ajaxMarkdownPreview.php @@ -1,6 +1,6 @@ beginWidget('CMarkdown'); +$this->beginWidget('CMarkdown', array('purifyOutput'=>true)); echo $content; diff --git a/www/protected/views/log/_form.php b/www/protected/views/log/_form.php index cb3b7e3..be6a5d2 100644 --- a/www/protected/views/log/_form.php +++ b/www/protected/views/log/_form.php @@ -19,7 +19,12 @@ errorSummary($model); ?> - textFieldControlGroup($model,'date',array('span'=>5, 'value'=>date('Y-m-d'))); ?> + isNewRecord) + echo $form->textFieldControlGroup($model,'date',array('span'=>5, 'value' => date('Y-m-d'))); + else + echo $form->textFieldControlGroup($model,'date',array('span'=>5, )); + ?> textAreaControlGroup($model,'title',array('rows'=>6,'span'=>8)); ?> diff --git a/www/protected/views/log/admin.php b/www/protected/views/log/admin.php index ef30147..bba1e6f 100644 --- a/www/protected/views/log/admin.php +++ b/www/protected/views/log/admin.php @@ -47,6 +47,7 @@ or =) at the beginning of each of your search values to specify how the c 'id'=>'log-grid', 'dataProvider'=>$model->search(), 'filter'=>$model, + 'columns'=>array( 'ID', 'date', diff --git a/www/protected/views/programs/_form.php b/www/protected/views/programs/_form.php index 91b0d34..36c2f5e 100644 --- a/www/protected/views/programs/_form.php +++ b/www/protected/views/programs/_form.php @@ -37,6 +37,8 @@ textAreaControlGroup($model,'Description',array('rows'=>6,'span'=>8)); ?> + textFieldControlGroup($model,'programming_lang',array('rows'=>6,'span'=>8)); ?> + textFieldControlGroup($model,'add_date',array('span'=>5)); ?> textFieldControlGroup($model,'download_url',array('rows'=>6,'span'=>8)); ?> diff --git a/www/protected/views/programs/index.php b/www/protected/views/programs/index.php index 4cedba7..31bd69f 100644 --- a/www/protected/views/programs/index.php +++ b/www/protected/views/programs/index.php @@ -1,9 +1,10 @@ pageTitle = 'Programs - ' . Yii::app()->name; $this->breadcrumbs = array( - 'Programs', - ); + 'Programs', +); ?>
- +
'; - foreach($datarow as $dataelem) { + foreach ($datarow as $dataelem) { /* @var $dataelem Program */ $this->widget('ThumbnailProgPreview', [ @@ -53,11 +59,11 @@ $this->breadcrumbs = array( if ($pagecount > 1) { $pagination_arr = array(); - $pagination_arr[] = ['label' => '«', 'url' => '?page=' . ($page-1), 'disabled' => ($page <= 1)]; - for($i = 1; $i <= $pagecount; $i++) { + $pagination_arr[] = ['label' => '«', 'url' => '?page=' . ($page - 1), 'disabled' => ($page <= 1)]; + for ($i = 1; $i <= $pagecount; $i++) { $pagination_arr[] = ['label' => $i, 'url' => '?page=' . $i, 'active' => ($i == $page)]; } - $pagination_arr[] = ['label' => '»', 'url' => '?page=' . ($page+1), 'disabled' => ($page >= $pagecount)]; + $pagination_arr[] = ['label' => '»', 'url' => '?page=' . ($page + 1), 'disabled' => ($page >= $pagecount)]; echo MsHtml::pagination($pagination_arr, [ diff --git a/www/protected/views/programs/view.php b/www/protected/views/programs/view.php index d42b65e..fe39e5b 100644 --- a/www/protected/views/programs/view.php +++ b/www/protected/views/programs/view.php @@ -20,6 +20,9 @@ if (!$model->visible && Yii::app()->user->name != 'admin') { ?>
+ enabled) echo TbHtml::alert(TbHtml::ALERT_COLOR_WARNING, TbHtml::b('Warning!') . ' This programm is for normal users disabled'); ?> + visible) echo TbHtml::alert(TbHtml::ALERT_COLOR_WARNING, TbHtml::b('Warning!') . ' This programm is for normal users invisible'); ?> +
@@ -50,6 +53,10 @@ if (!$model->visible && Yii::app()->user->name != 'admin') { version->Version, array('color' => TbHtml::BADGE_COLOR_INFO)); ?> +