Added (slidely adjusted) auto generated CRUD for db::Programme
This commit is contained in:
36
www/css/ie.css
Normal file
36
www/css/ie.css
Normal file
@@ -0,0 +1,36 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
|
||||
|
||||
Blueprint CSS Framework 1.0.1
|
||||
http://blueprintcss.org
|
||||
|
||||
* Copyright (c) 2007-Present. See LICENSE for more info.
|
||||
* See README for instructions on how to use Blueprint.
|
||||
* For credits and origins, see AUTHORS.
|
||||
* This is a compressed file. See the sources in the 'src' directory.
|
||||
|
||||
----------------------------------------------------------------------- */
|
||||
|
||||
/* ie.css */
|
||||
body {text-align:center;}
|
||||
.container {text-align:left;}
|
||||
* html .column, * html .span-1, * html .span-2, * html .span-3, * html .span-4, * html .span-5, * html .span-6, * html .span-7, * html .span-8, * html .span-9, * html .span-10, * html .span-11, * html .span-12, * html .span-13, * html .span-14, * html .span-15, * html .span-16, * html .span-17, * html .span-18, * html .span-19, * html .span-20, * html .span-21, * html .span-22, * html .span-23, * html .span-24 {display:inline;overflow-x:hidden;}
|
||||
* html legend {margin:0px -8px 16px 0;padding:0;}
|
||||
sup {vertical-align:text-top;}
|
||||
sub {vertical-align:text-bottom;}
|
||||
html>body p code {*white-space:normal;}
|
||||
hr {margin:-8px auto 11px;}
|
||||
img {-ms-interpolation-mode:bicubic;}
|
||||
.clearfix, .container {display:inline-block;}
|
||||
* html .clearfix, * html .container {height:1%;}
|
||||
fieldset {padding-top:0;}
|
||||
legend {margin-top:-0.2em;margin-bottom:1em;margin-left:-0.5em;}
|
||||
textarea {overflow:auto;}
|
||||
label {vertical-align:middle;position:relative;top:-0.25em;}
|
||||
input.text, input.title, textarea {background-color:#fff;border:1px solid #bbb;}
|
||||
input.text:focus, input.title:focus {border-color:#666;}
|
||||
input.text, input.title, textarea, select {margin:0.5em 0;}
|
||||
input.checkbox, input.radio {position:relative;top:.25em;}
|
||||
form.inline div, form.inline p {vertical-align:middle;}
|
||||
form.inline input.checkbox, form.inline input.radio, form.inline input.button, form.inline button {margin:0.5em 0;}
|
||||
button, input.button {position:relative;top:0.25em;}
|
||||
29
www/css/print.css
Normal file
29
www/css/print.css
Normal file
@@ -0,0 +1,29 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
|
||||
|
||||
Blueprint CSS Framework 1.0.1
|
||||
http://blueprintcss.org
|
||||
|
||||
* Copyright (c) 2007-Present. See LICENSE for more info.
|
||||
* See README for instructions on how to use Blueprint.
|
||||
* For credits and origins, see AUTHORS.
|
||||
* This is a compressed file. See the sources in the 'src' directory.
|
||||
|
||||
----------------------------------------------------------------------- */
|
||||
|
||||
/* print.css */
|
||||
body {line-height:1.5;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;color:#000;background:none;font-size:10pt;}
|
||||
.container {background:none;}
|
||||
hr {background:#ccc;color:#ccc;width:100%;height:2px;margin:2em 0;padding:0;border:none;}
|
||||
hr.space {background:#fff;color:#fff;visibility:hidden;}
|
||||
h1, h2, h3, h4, h5, h6 {font-family:"Helvetica Neue", Arial, "Lucida Grande", sans-serif;}
|
||||
code {font:.9em "Courier New", Monaco, Courier, monospace;}
|
||||
a img {border:none;}
|
||||
p img.top {margin-top:0;}
|
||||
blockquote {margin:1.5em;padding:1em;font-style:italic;font-size:.9em;}
|
||||
.small {font-size:.9em;}
|
||||
.large {font-size:1.1em;}
|
||||
.quiet {color:#999;}
|
||||
.hide {display:none;}
|
||||
a:link, a:visited {background:transparent;font-weight:700;text-decoration:underline;}
|
||||
a:link:after, a:visited:after {content:" (" attr(href) ")";font-size:90%;}
|
||||
238
www/css/screen.css
Normal file
238
www/css/screen.css
Normal file
@@ -0,0 +1,238 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
|
||||
|
||||
Blueprint CSS Framework 1.0.1
|
||||
http://blueprintcss.org
|
||||
|
||||
* Copyright (c) 2007-Present. See LICENSE for more info.
|
||||
* See README for instructions on how to use Blueprint.
|
||||
* For credits and origins, see AUTHORS.
|
||||
* This is a compressed file. See the sources in the 'src' directory.
|
||||
|
||||
----------------------------------------------------------------------- */
|
||||
|
||||
/* reset.css */
|
||||
html {margin:0;padding:0;border:0;}
|
||||
body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section {margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
|
||||
article, aside, details, figcaption, figure, dialog, footer, header, hgroup, menu, nav, section {display:block;}
|
||||
body {line-height:1.5;background:white;}
|
||||
table {border-collapse:separate;border-spacing:0;}
|
||||
caption, th, td {text-align:left;font-weight:normal;float:none !important;}
|
||||
table, th, td {vertical-align:middle;}
|
||||
blockquote:before, blockquote:after, q:before, q:after {content:'';}
|
||||
blockquote, q {quotes:"" "";}
|
||||
a img {border:none;}
|
||||
:focus {outline:0;}
|
||||
|
||||
/* typography.css */
|
||||
html {font-size:100.01%;}
|
||||
body {font-size:75%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;}
|
||||
h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
|
||||
h1 {font-size:2em;line-height:1;margin-bottom:0.5em;}
|
||||
h2 {font-size:1.6em;margin-bottom:0.75em;}
|
||||
h3 {font-size:1.4em;line-height:1;margin-bottom:1em;}
|
||||
h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
|
||||
h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
|
||||
h6 {font-size:1em;font-weight:bold;}
|
||||
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
|
||||
p {margin:0 0 1.5em;}
|
||||
.left {float:left !important;}
|
||||
p .left {margin:1.5em 1.5em 1.5em 0;padding:0;}
|
||||
.right {float:right !important;}
|
||||
p .right {margin:1.5em 0 1.5em 1.5em;padding:0;}
|
||||
a:focus, a:hover {color:#09f;}
|
||||
a {color:#06c;text-decoration:underline;}
|
||||
blockquote {margin:1.5em;color:#666;font-style:italic;}
|
||||
strong, dfn {font-weight:bold;}
|
||||
em, dfn {font-style:italic;}
|
||||
sup, sub {line-height:0;}
|
||||
abbr, acronym {border-bottom:1px dotted #666;}
|
||||
address {margin:0 0 1.5em;font-style:italic;}
|
||||
del {color:#666;}
|
||||
pre {margin:1.5em 0;white-space:pre;}
|
||||
pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
|
||||
li ul, li ol {margin:0;}
|
||||
ul, ol {margin:0 1.5em 1.5em 0;padding-left:1.5em;}
|
||||
ul {list-style-type:disc;}
|
||||
ol {list-style-type:decimal;}
|
||||
dl {margin:0 0 1.5em 0;}
|
||||
dl dt {font-weight:bold;}
|
||||
dd {margin-left:1.5em;}
|
||||
table {margin-bottom:1.4em;width:100%;}
|
||||
th {font-weight:bold;}
|
||||
thead th {background:#c3d9ff;}
|
||||
th, td, caption {padding:4px 10px 4px 5px;}
|
||||
tfoot {font-style:italic;}
|
||||
caption {background:#eee;}
|
||||
.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
|
||||
.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
|
||||
.hide {display:none;}
|
||||
.quiet {color:#666;}
|
||||
.loud {color:#000;}
|
||||
.highlight {background:#ff0;}
|
||||
.added {background:#060;color:#fff;}
|
||||
.removed {background:#900;color:#fff;}
|
||||
.first {margin-left:0;padding-left:0;}
|
||||
.last {margin-right:0;padding-right:0;}
|
||||
.top {margin-top:0;padding-top:0;}
|
||||
.bottom {margin-bottom:0;padding-bottom:0;}
|
||||
|
||||
/* grid.css */
|
||||
.container {width:950px;margin:0 auto;}
|
||||
.column, .span-1, .span-2, .span-3, .span-4, .span-5, .span-6, .span-7, .span-8, .span-9, .span-10, .span-11, .span-12, .span-13, .span-14, .span-15, .span-16, .span-17, .span-18, .span-19, .span-20, .span-21, .span-22, .span-23, .span-24 {float:left;margin-right:10px;}
|
||||
.last {margin-right:0;}
|
||||
.span-1 {width:30px;}
|
||||
.span-2 {width:70px;}
|
||||
.span-3 {width:110px;}
|
||||
.span-4 {width:150px;}
|
||||
.span-5 {width:190px;}
|
||||
.span-6 {width:230px;}
|
||||
.span-7 {width:270px;}
|
||||
.span-8 {width:310px;}
|
||||
.span-9 {width:350px;}
|
||||
.span-10 {width:390px;}
|
||||
.span-11 {width:430px;}
|
||||
.span-12 {width:470px;}
|
||||
.span-13 {width:510px;}
|
||||
.span-14 {width:550px;}
|
||||
.span-15 {width:590px;}
|
||||
.span-16 {width:630px;}
|
||||
.span-17 {width:670px;}
|
||||
.span-18 {width:710px;}
|
||||
.span-19 {width:750px;}
|
||||
.span-20 {width:790px;}
|
||||
.span-21 {width:830px;}
|
||||
.span-22 {width:870px;}
|
||||
.span-23 {width:910px;}
|
||||
.span-24 {width:950px;margin-right:0;}
|
||||
input.span-1, textarea.span-1, input.span-2, textarea.span-2, input.span-3, textarea.span-3, input.span-4, textarea.span-4, input.span-5, textarea.span-5, input.span-6, textarea.span-6, input.span-7, textarea.span-7, input.span-8, textarea.span-8, input.span-9, textarea.span-9, input.span-10, textarea.span-10, input.span-11, textarea.span-11, input.span-12, textarea.span-12, input.span-13, textarea.span-13, input.span-14, textarea.span-14, input.span-15, textarea.span-15, input.span-16, textarea.span-16, input.span-17, textarea.span-17, input.span-18, textarea.span-18, input.span-19, textarea.span-19, input.span-20, textarea.span-20, input.span-21, textarea.span-21, input.span-22, textarea.span-22, input.span-23, textarea.span-23, input.span-24, textarea.span-24 {border-left-width:1px;border-right-width:1px;padding-left:5px;padding-right:5px;}
|
||||
input.span-1, textarea.span-1 {width:18px;}
|
||||
input.span-2, textarea.span-2 {width:58px;}
|
||||
input.span-3, textarea.span-3 {width:98px;}
|
||||
input.span-4, textarea.span-4 {width:138px;}
|
||||
input.span-5, textarea.span-5 {width:178px;}
|
||||
input.span-6, textarea.span-6 {width:218px;}
|
||||
input.span-7, textarea.span-7 {width:258px;}
|
||||
input.span-8, textarea.span-8 {width:298px;}
|
||||
input.span-9, textarea.span-9 {width:338px;}
|
||||
input.span-10, textarea.span-10 {width:378px;}
|
||||
input.span-11, textarea.span-11 {width:418px;}
|
||||
input.span-12, textarea.span-12 {width:458px;}
|
||||
input.span-13, textarea.span-13 {width:498px;}
|
||||
input.span-14, textarea.span-14 {width:538px;}
|
||||
input.span-15, textarea.span-15 {width:578px;}
|
||||
input.span-16, textarea.span-16 {width:618px;}
|
||||
input.span-17, textarea.span-17 {width:658px;}
|
||||
input.span-18, textarea.span-18 {width:698px;}
|
||||
input.span-19, textarea.span-19 {width:738px;}
|
||||
input.span-20, textarea.span-20 {width:778px;}
|
||||
input.span-21, textarea.span-21 {width:818px;}
|
||||
input.span-22, textarea.span-22 {width:858px;}
|
||||
input.span-23, textarea.span-23 {width:898px;}
|
||||
input.span-24, textarea.span-24 {width:938px;}
|
||||
.append-1 {padding-right:40px;}
|
||||
.append-2 {padding-right:80px;}
|
||||
.append-3 {padding-right:120px;}
|
||||
.append-4 {padding-right:160px;}
|
||||
.append-5 {padding-right:200px;}
|
||||
.append-6 {padding-right:240px;}
|
||||
.append-7 {padding-right:280px;}
|
||||
.append-8 {padding-right:320px;}
|
||||
.append-9 {padding-right:360px;}
|
||||
.append-10 {padding-right:400px;}
|
||||
.append-11 {padding-right:440px;}
|
||||
.append-12 {padding-right:480px;}
|
||||
.append-13 {padding-right:520px;}
|
||||
.append-14 {padding-right:560px;}
|
||||
.append-15 {padding-right:600px;}
|
||||
.append-16 {padding-right:640px;}
|
||||
.append-17 {padding-right:680px;}
|
||||
.append-18 {padding-right:720px;}
|
||||
.append-19 {padding-right:760px;}
|
||||
.append-20 {padding-right:800px;}
|
||||
.append-21 {padding-right:840px;}
|
||||
.append-22 {padding-right:880px;}
|
||||
.append-23 {padding-right:920px;}
|
||||
.prepend-1 {padding-left:40px;}
|
||||
.prepend-2 {padding-left:80px;}
|
||||
.prepend-3 {padding-left:120px;}
|
||||
.prepend-4 {padding-left:160px;}
|
||||
.prepend-5 {padding-left:200px;}
|
||||
.prepend-6 {padding-left:240px;}
|
||||
.prepend-7 {padding-left:280px;}
|
||||
.prepend-8 {padding-left:320px;}
|
||||
.prepend-9 {padding-left:360px;}
|
||||
.prepend-10 {padding-left:400px;}
|
||||
.prepend-11 {padding-left:440px;}
|
||||
.prepend-12 {padding-left:480px;}
|
||||
.prepend-13 {padding-left:520px;}
|
||||
.prepend-14 {padding-left:560px;}
|
||||
.prepend-15 {padding-left:600px;}
|
||||
.prepend-16 {padding-left:640px;}
|
||||
.prepend-17 {padding-left:680px;}
|
||||
.prepend-18 {padding-left:720px;}
|
||||
.prepend-19 {padding-left:760px;}
|
||||
.prepend-20 {padding-left:800px;}
|
||||
.prepend-21 {padding-left:840px;}
|
||||
.prepend-22 {padding-left:880px;}
|
||||
.prepend-23 {padding-left:920px;}
|
||||
.border {padding-right:4px;margin-right:5px;border-right:1px solid #ddd;}
|
||||
.colborder {padding-right:24px;margin-right:25px;border-right:1px solid #ddd;}
|
||||
.pull-1 {margin-left:-40px;}
|
||||
.pull-2 {margin-left:-80px;}
|
||||
.pull-3 {margin-left:-120px;}
|
||||
.pull-4 {margin-left:-160px;}
|
||||
.pull-5 {margin-left:-200px;}
|
||||
.pull-6 {margin-left:-240px;}
|
||||
.pull-7 {margin-left:-280px;}
|
||||
.pull-8 {margin-left:-320px;}
|
||||
.pull-9 {margin-left:-360px;}
|
||||
.pull-10 {margin-left:-400px;}
|
||||
.pull-11 {margin-left:-440px;}
|
||||
.pull-12 {margin-left:-480px;}
|
||||
.pull-13 {margin-left:-520px;}
|
||||
.pull-14 {margin-left:-560px;}
|
||||
.pull-15 {margin-left:-600px;}
|
||||
.pull-16 {margin-left:-640px;}
|
||||
.pull-17 {margin-left:-680px;}
|
||||
.pull-18 {margin-left:-720px;}
|
||||
.pull-19 {margin-left:-760px;}
|
||||
.pull-20 {margin-left:-800px;}
|
||||
.pull-21 {margin-left:-840px;}
|
||||
.pull-22 {margin-left:-880px;}
|
||||
.pull-23 {margin-left:-920px;}
|
||||
.pull-24 {margin-left:-960px;}
|
||||
.pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21, .pull-22, .pull-23, .pull-24 {float:left;position:relative;}
|
||||
.push-1 {margin:0 -40px 1.5em 40px;}
|
||||
.push-2 {margin:0 -80px 1.5em 80px;}
|
||||
.push-3 {margin:0 -120px 1.5em 120px;}
|
||||
.push-4 {margin:0 -160px 1.5em 160px;}
|
||||
.push-5 {margin:0 -200px 1.5em 200px;}
|
||||
.push-6 {margin:0 -240px 1.5em 240px;}
|
||||
.push-7 {margin:0 -280px 1.5em 280px;}
|
||||
.push-8 {margin:0 -320px 1.5em 320px;}
|
||||
.push-9 {margin:0 -360px 1.5em 360px;}
|
||||
.push-10 {margin:0 -400px 1.5em 400px;}
|
||||
.push-11 {margin:0 -440px 1.5em 440px;}
|
||||
.push-12 {margin:0 -480px 1.5em 480px;}
|
||||
.push-13 {margin:0 -520px 1.5em 520px;}
|
||||
.push-14 {margin:0 -560px 1.5em 560px;}
|
||||
.push-15 {margin:0 -600px 1.5em 600px;}
|
||||
.push-16 {margin:0 -640px 1.5em 640px;}
|
||||
.push-17 {margin:0 -680px 1.5em 680px;}
|
||||
.push-18 {margin:0 -720px 1.5em 720px;}
|
||||
.push-19 {margin:0 -760px 1.5em 760px;}
|
||||
.push-20 {margin:0 -800px 1.5em 800px;}
|
||||
.push-21 {margin:0 -840px 1.5em 840px;}
|
||||
.push-22 {margin:0 -880px 1.5em 880px;}
|
||||
.push-23 {margin:0 -920px 1.5em 920px;}
|
||||
.push-24 {margin:0 -960px 1.5em 960px;}
|
||||
.push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24 {float:left;position:relative;}
|
||||
div.prepend-top, .prepend-top {margin-top:1.5em;}
|
||||
div.append-bottom, .append-bottom {margin-bottom:1.5em;}
|
||||
.box {padding:1.5em;margin-bottom:1.5em;background:#e5eCf9;}
|
||||
hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:1px;margin:0 0 17px;border:none;}
|
||||
hr.space {background:#fff;color:#fff;visibility:hidden;}
|
||||
.clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
|
||||
.clearfix, .container {display:block;}
|
||||
.clear {clear:both;}
|
||||
@@ -33,6 +33,7 @@ return ArrayX::merge(
|
||||
'bootstrap.components.*',
|
||||
'bootstrap.behaviors.*',
|
||||
'bootstrap.helpers.*',
|
||||
'bootstrap.widgets.*',
|
||||
],
|
||||
|
||||
'modules' =>
|
||||
@@ -64,8 +65,9 @@ return ArrayX::merge(
|
||||
'rules' =>
|
||||
[
|
||||
|
||||
'' => 'site/index',
|
||||
'<action:\w+>' => 'site/<action>',
|
||||
|
||||
'Programme/' => 'Programme/index',
|
||||
'Programme/<action:\w+>' => 'programme/<action>',
|
||||
|
||||
'gii' => 'gii',
|
||||
'gii/<controller:\w+>' => 'gii/<controller>',
|
||||
@@ -73,7 +75,11 @@ return ArrayX::merge(
|
||||
|
||||
//'<controller:\w+>/<id:\d+>' => '<controller>/view',
|
||||
//'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
|
||||
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
|
||||
//'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
|
||||
|
||||
|
||||
'' => 'site/index',
|
||||
//'<action:\w+>' => 'site/<action>',
|
||||
],
|
||||
],
|
||||
|
||||
|
||||
179
www/protected/controllers/ProgrammeController.php
Normal file
179
www/protected/controllers/ProgrammeController.php
Normal file
@@ -0,0 +1,179 @@
|
||||
<?php
|
||||
|
||||
class ProgrammeController extends Controller
|
||||
{
|
||||
|
||||
public $layout='//layouts/column2';
|
||||
|
||||
public $selectedNav = '';
|
||||
|
||||
/**
|
||||
* @return array action filters
|
||||
*/
|
||||
public function filters()
|
||||
{
|
||||
return array(
|
||||
'accessControl', // perform access control for CRUD operations
|
||||
'postOnly + delete', // we only allow deletion via POST request
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Specifies the access control rules.
|
||||
* This method is used by the 'accessControl' filter.
|
||||
* @return array access control rules
|
||||
*/
|
||||
public function accessRules()
|
||||
{
|
||||
return array(
|
||||
array('allow', // allow all users to perform 'index' and 'view' actions
|
||||
'actions'=>array('index','view','create','update','admin','delete'),
|
||||
'users'=>array('*'),
|
||||
),
|
||||
// array('allow', // allow authenticated user to perform 'create' and 'update' actions
|
||||
// 'actions'=>array('create','update'),
|
||||
// 'users'=>array('@'),
|
||||
// ),
|
||||
// array('allow', // allow admin user to perform 'admin' and 'delete' actions
|
||||
// 'actions'=>array('admin','delete'),
|
||||
// 'users'=>array('admin'),
|
||||
// ),
|
||||
// array('deny', // deny all users
|
||||
// 'users'=>array('*'),
|
||||
// ),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays a particular model.
|
||||
* @param integer $id the ID of the model to be displayed
|
||||
*/
|
||||
public function actionView($id)
|
||||
{
|
||||
$this->render('view',array(
|
||||
'model'=>$this->loadModel($id),
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new model.
|
||||
* If creation is successful, the browser will be redirected to the 'view' page.
|
||||
*/
|
||||
public function actionCreate()
|
||||
{
|
||||
$model=new Programme;
|
||||
|
||||
// Uncomment the following line if AJAX validation is needed
|
||||
// $this->performAjaxValidation($model);
|
||||
|
||||
if (isset($_POST['Programme'])) {
|
||||
$model->attributes=$_POST['Programme'];
|
||||
if ($model->save()) {
|
||||
$this->redirect(array('view','id'=>$model->ID));
|
||||
}
|
||||
}
|
||||
|
||||
$this->render('create',array(
|
||||
'model'=>$model,
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates a particular model.
|
||||
* If update is successful, the browser will be redirected to the 'view' page.
|
||||
* @param integer $id the ID of the model to be updated
|
||||
*/
|
||||
public function actionUpdate($id)
|
||||
{
|
||||
$model=$this->loadModel($id);
|
||||
|
||||
// Uncomment the following line if AJAX validation is needed
|
||||
// $this->performAjaxValidation($model);
|
||||
|
||||
if (isset($_POST['Programme'])) {
|
||||
$model->attributes=$_POST['Programme'];
|
||||
if ($model->save()) {
|
||||
$this->redirect(array('view','id'=>$model->ID));
|
||||
}
|
||||
}
|
||||
|
||||
$this->render('update',array(
|
||||
'model'=>$model,
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes a particular model.
|
||||
* If deletion is successful, the browser will be redirected to the 'admin' page.
|
||||
* @param integer $id the ID of the model to be deleted
|
||||
*/
|
||||
public function actionDelete($id)
|
||||
{
|
||||
if (Yii::app()->request->isPostRequest) {
|
||||
// we only allow deletion via POST request
|
||||
$this->loadModel($id)->delete();
|
||||
|
||||
// if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
|
||||
if (!isset($_GET['ajax'])) {
|
||||
$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
|
||||
}
|
||||
} else {
|
||||
throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Lists all models.
|
||||
*/
|
||||
public function actionIndex()
|
||||
{
|
||||
$dataProvider=new CActiveDataProvider('Programme');
|
||||
$this->render('index',array(
|
||||
'dataProvider'=>$dataProvider,
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Manages all models.
|
||||
*/
|
||||
public function actionAdmin()
|
||||
{
|
||||
$model=new Programme('search');
|
||||
$model->unsetAttributes(); // clear any default values
|
||||
if (isset($_GET['Programme'])) {
|
||||
$model->attributes=$_GET['Programme'];
|
||||
}
|
||||
|
||||
$this->render('admin',array(
|
||||
'model'=>$model,
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the data model based on the primary key given in the GET variable.
|
||||
* If the data model is not found, an HTTP exception will be raised.
|
||||
* @param integer $id the ID of the model to be loaded
|
||||
* @return Programme the loaded model
|
||||
* @throws CHttpException
|
||||
*/
|
||||
public function loadModel($id)
|
||||
{
|
||||
$model=Programme::model()->findByPk($id);
|
||||
if ($model===null) {
|
||||
throw new CHttpException(404,'The requested page does not exist.');
|
||||
}
|
||||
return $model;
|
||||
}
|
||||
|
||||
/**
|
||||
* Performs the AJAX validation.
|
||||
* @param Programme $model the model to be validated
|
||||
*/
|
||||
protected function performAjaxValidation($model)
|
||||
{
|
||||
if (isset($_POST['ajax']) && $_POST['ajax']==='programme-form') {
|
||||
echo CActiveForm::validate($model);
|
||||
Yii::app()->end();
|
||||
}
|
||||
}
|
||||
}
|
||||
144
www/protected/models/Programme.php
Normal file
144
www/protected/models/Programme.php
Normal file
@@ -0,0 +1,144 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* This is the model class for table "programme".
|
||||
*
|
||||
* The followings are the available columns in table 'programme':
|
||||
* @property integer $ID
|
||||
* @property string $Name
|
||||
* @property double $Downloads
|
||||
* @property string $Kategorie
|
||||
* @property double $Sterne
|
||||
* @property integer $enabled
|
||||
* @property integer $visible
|
||||
* @property string $Language
|
||||
* @property string $Description
|
||||
* @property string $add_date
|
||||
* @property string $download_url
|
||||
* @property integer $viewable_code
|
||||
* @property string $sourceforge_url
|
||||
* @property string $homepage_url
|
||||
* @property string $github_url
|
||||
* @property integer $uses_absCanv
|
||||
* @property string $update_identifier
|
||||
* @property integer $highscore_gid
|
||||
*/
|
||||
class Programme extends CActiveRecord
|
||||
{
|
||||
/**
|
||||
* @return string the associated database table name
|
||||
*/
|
||||
public function tableName()
|
||||
{
|
||||
return 'programme';
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array validation rules for model attributes.
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
// NOTE: you should only define rules for those attributes that
|
||||
// will receive user inputs.
|
||||
return array(
|
||||
array('Name, Downloads, Kategorie, Sterne, enabled, visible, Language, Description, add_date, download_url, viewable_code, sourceforge_url, homepage_url, github_url, uses_absCanv, update_identifier', 'required'),
|
||||
array('enabled, visible, viewable_code, uses_absCanv, highscore_gid', 'numerical', 'integerOnly'=>true),
|
||||
array('Downloads, Sterne', 'numerical'),
|
||||
array('update_identifier', 'length', 'max'=>28),
|
||||
// The following rule is used by search().
|
||||
// @todo Please remove those attributes that should not be searched.
|
||||
array('ID, Name, Downloads, Kategorie, Sterne, enabled, visible, Language, Description, add_date, download_url, viewable_code, sourceforge_url, homepage_url, github_url, uses_absCanv, update_identifier, highscore_gid', 'safe', 'on'=>'search'),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array relational rules.
|
||||
*/
|
||||
public function relations()
|
||||
{
|
||||
// NOTE: you may need to adjust the relation name and the related
|
||||
// class name for the relations automatically generated below.
|
||||
return array(
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array customized attribute labels (name=>label)
|
||||
*/
|
||||
public function attributeLabels()
|
||||
{
|
||||
return array(
|
||||
'ID' => 'ID',
|
||||
'Name' => 'Name',
|
||||
'Downloads' => 'Downloads',
|
||||
'Kategorie' => 'Kategorie',
|
||||
'Sterne' => 'Sterne',
|
||||
'enabled' => 'Enabled',
|
||||
'visible' => 'Visible',
|
||||
'Language' => 'Language',
|
||||
'Description' => 'Description',
|
||||
'add_date' => 'Add Date',
|
||||
'download_url' => 'Download Url',
|
||||
'viewable_code' => 'Viewable Code',
|
||||
'sourceforge_url' => 'Sourceforge Url',
|
||||
'homepage_url' => 'Homepage Url',
|
||||
'github_url' => 'Github Url',
|
||||
'uses_absCanv' => 'Uses Abs Canv',
|
||||
'update_identifier' => 'Update Identifier',
|
||||
'highscore_gid' => 'Highscore Gid',
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves a list of models based on the current search/filter conditions.
|
||||
*
|
||||
* Typical usecase:
|
||||
* - Initialize the model fields with values from filter form.
|
||||
* - Execute this method to get CActiveDataProvider instance which will filter
|
||||
* models according to data in model fields.
|
||||
* - Pass data provider to CGridView, CListView or any similar widget.
|
||||
*
|
||||
* @return CActiveDataProvider the data provider that can return the models
|
||||
* based on the search/filter conditions.
|
||||
*/
|
||||
public function search()
|
||||
{
|
||||
// @todo Please modify the following code to remove attributes that should not be searched.
|
||||
|
||||
$criteria=new CDbCriteria;
|
||||
|
||||
$criteria->compare('ID',$this->ID);
|
||||
$criteria->compare('Name',$this->Name,true);
|
||||
$criteria->compare('Downloads',$this->Downloads);
|
||||
$criteria->compare('Kategorie',$this->Kategorie,true);
|
||||
$criteria->compare('Sterne',$this->Sterne);
|
||||
$criteria->compare('enabled',$this->enabled);
|
||||
$criteria->compare('visible',$this->visible);
|
||||
$criteria->compare('Language',$this->Language,true);
|
||||
$criteria->compare('Description',$this->Description,true);
|
||||
$criteria->compare('add_date',$this->add_date,true);
|
||||
$criteria->compare('download_url',$this->download_url,true);
|
||||
$criteria->compare('viewable_code',$this->viewable_code);
|
||||
$criteria->compare('sourceforge_url',$this->sourceforge_url,true);
|
||||
$criteria->compare('homepage_url',$this->homepage_url,true);
|
||||
$criteria->compare('github_url',$this->github_url,true);
|
||||
$criteria->compare('uses_absCanv',$this->uses_absCanv);
|
||||
$criteria->compare('update_identifier',$this->update_identifier,true);
|
||||
$criteria->compare('highscore_gid',$this->highscore_gid);
|
||||
|
||||
return new CActiveDataProvider($this, array(
|
||||
'criteria'=>$criteria,
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the static model of the specified AR class.
|
||||
* Please note that you should have this exact method in all your CActiveRecord descendants!
|
||||
* @param string $className active record class name.
|
||||
* @return Programme the static model class
|
||||
*/
|
||||
public static function model($className=__CLASS__)
|
||||
{
|
||||
return parent::model($className);
|
||||
}
|
||||
}
|
||||
35
www/protected/views/layouts/column2.php
Normal file
35
www/protected/views/layouts/column2.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php /* @var $this Controller */
|
||||
|
||||
require_once('protected/lib/ArrayX.php');
|
||||
use Yiinitializr\Helpers\ArrayX;
|
||||
|
||||
?>
|
||||
<?php $this->beginContent('//layouts/main'); ?>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="span-9" style="width: 870px;">
|
||||
<div id="content">
|
||||
<?php echo $content; ?>
|
||||
</div>
|
||||
<!-- content -->
|
||||
</div>
|
||||
<div class="span-3">
|
||||
<div class="well" style="max-width: 340px; padding: 8px 0;">
|
||||
<?php
|
||||
$this->widget('bootstrap.widgets.TbNav',
|
||||
[
|
||||
'type' => TbHtml::NAV_TYPE_LIST,
|
||||
'items' => ArrayX::merge(
|
||||
[
|
||||
['label' => 'List header'],
|
||||
],
|
||||
$this->menu)
|
||||
]
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
<!-- well -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php $this->endContent(); ?>
|
||||
@@ -25,6 +25,8 @@
|
||||
<!endif]-->
|
||||
|
||||
<?php
|
||||
if (! isset($this->selectedNav)) $this->selectedNav = "";
|
||||
|
||||
$this->widget('bootstrap.widgets.TbNavbar',
|
||||
[
|
||||
'brandLabel' => Yii::app()->name,
|
||||
|
||||
65
www/protected/views/programme/_form.php
Normal file
65
www/protected/views/programme/_form.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
/* @var $this ProgrammeController */
|
||||
/* @var $model Programme */
|
||||
/* @var $form TbActiveForm */
|
||||
?>
|
||||
|
||||
<div class="form">
|
||||
|
||||
<?php $form=$this->beginWidget('bootstrap.widgets.TbActiveForm', array(
|
||||
'id'=>'programme-form',
|
||||
// Please note: When you enable ajax validation, make sure the corresponding
|
||||
// controller action is handling ajax validation correctly.
|
||||
// There is a call to performAjaxValidation() commented in generated controller code.
|
||||
// See class documentation of CActiveForm for details on this.
|
||||
'enableAjaxValidation'=>false,
|
||||
)); ?>
|
||||
|
||||
<p class="help-block">Fields with <span class="required">*</span> are required.</p>
|
||||
|
||||
<?php echo $form->errorSummary($model); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'Name',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'Downloads',array('span'=>5)); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'Kategorie',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'Sterne',array('span'=>5)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'enabled',array('span'=>5)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'visible',array('span'=>5)); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'Language',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'Description',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'add_date',array('span'=>5)); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'download_url',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'viewable_code',array('span'=>5)); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'sourceforge_url',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'homepage_url',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'github_url',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'uses_absCanv',array('span'=>5)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'update_identifier',array('span'=>5,'maxlength'=>28)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'highscore_gid',array('span'=>5)); ?>
|
||||
|
||||
<div class="form-actions">
|
||||
<?php echo TbHtml::submitButton($model->isNewRecord ? 'Create' : 'Save',array(
|
||||
'color'=>TbHtml::BUTTON_COLOR_PRIMARY,
|
||||
'size'=>TbHtml::BUTTON_SIZE_LARGE,
|
||||
)); ?>
|
||||
</div>
|
||||
|
||||
<?php $this->endWidget(); ?>
|
||||
|
||||
</div><!-- form -->
|
||||
56
www/protected/views/programme/_search.php
Normal file
56
www/protected/views/programme/_search.php
Normal file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
/* @var $this ProgrammeController */
|
||||
/* @var $model Programme */
|
||||
/* @var $form CActiveForm */
|
||||
?>
|
||||
|
||||
<div class="wide form">
|
||||
|
||||
<?php $form=$this->beginWidget('bootstrap.widgets.TbActiveForm', array(
|
||||
'action'=>Yii::app()->createUrl($this->route),
|
||||
'method'=>'get',
|
||||
)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'ID',array('span'=>5)); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'Name',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'Downloads',array('span'=>5)); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'Kategorie',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'Sterne',array('span'=>5)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'enabled',array('span'=>5)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'visible',array('span'=>5)); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'Language',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'Description',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'add_date',array('span'=>5)); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'download_url',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'viewable_code',array('span'=>5)); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'sourceforge_url',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'homepage_url',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textAreaControlGroup($model,'github_url',array('rows'=>6,'span'=>8)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'uses_absCanv',array('span'=>5)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'update_identifier',array('span'=>5,'maxlength'=>28)); ?>
|
||||
|
||||
<?php echo $form->textFieldControlGroup($model,'highscore_gid',array('span'=>5)); ?>
|
||||
|
||||
<div class="form-actions">
|
||||
<?php echo TbHtml::submitButton('Search', array('color' => TbHtml::BUTTON_COLOR_PRIMARY,));?>
|
||||
</div>
|
||||
|
||||
<?php $this->endWidget(); ?>
|
||||
|
||||
</div><!-- search-form -->
|
||||
83
www/protected/views/programme/_view.php
Normal file
83
www/protected/views/programme/_view.php
Normal file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
/* @var $this ProgrammeController */
|
||||
/* @var $data Programme */
|
||||
?>
|
||||
|
||||
<div class="view">
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('ID')); ?>:</b>
|
||||
<?php echo CHtml::link(CHtml::encode($data->ID),array('view','id'=>$data->ID)); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('Name')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->Name); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('Downloads')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->Downloads); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('Kategorie')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->Kategorie); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('Sterne')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->Sterne); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('enabled')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->enabled); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('visible')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->visible); ?>
|
||||
<br />
|
||||
|
||||
<?php /*
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('Language')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->Language); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('Description')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->Description); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('add_date')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->add_date); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('download_url')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->download_url); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('viewable_code')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->viewable_code); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('sourceforge_url')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->sourceforge_url); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('homepage_url')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->homepage_url); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('github_url')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->github_url); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('uses_absCanv')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->uses_absCanv); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('update_identifier')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->update_identifier); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('highscore_gid')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->highscore_gid); ?>
|
||||
<br />
|
||||
|
||||
*/ ?>
|
||||
|
||||
</div>
|
||||
78
www/protected/views/programme/admin.php
Normal file
78
www/protected/views/programme/admin.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
/* @var $this ProgrammeController */
|
||||
/* @var $model Programme */
|
||||
|
||||
|
||||
$this->breadcrumbs=array(
|
||||
'Programmes'=>array('index'),
|
||||
'Manage',
|
||||
);
|
||||
|
||||
$this->menu=array(
|
||||
array('label'=>'List Programme', 'url'=>array('index')),
|
||||
array('label'=>'Create Programme', 'url'=>array('create')),
|
||||
);
|
||||
|
||||
Yii::app()->clientScript->registerScript('search', "
|
||||
$('.search-button').click(function(){
|
||||
$('.search-form').toggle();
|
||||
return false;
|
||||
});
|
||||
$('.search-form form').submit(function(){
|
||||
$('#programme-grid').yiiGridView('update', {
|
||||
data: $(this).serialize()
|
||||
});
|
||||
return false;
|
||||
});
|
||||
");
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
||||
<h1>Manage Programmes</h1>
|
||||
|
||||
<p>
|
||||
You may optionally enter a comparison operator (<b><</b>, <b><=</b>, <b>></b>, <b>>=</b>, <b>
|
||||
<></b>
|
||||
or <b>=</b>) at the beginning of each of your search values to specify how the comparison should be done.
|
||||
</p>
|
||||
|
||||
<?php echo CHtml::link('Advanced Search','#',array('class'=>'search-button btn')); ?>
|
||||
<div class="search-form" style="display:none">
|
||||
<?php $this->renderPartial('_search',array(
|
||||
'model'=>$model,
|
||||
)); ?>
|
||||
</div><!-- search-form -->
|
||||
|
||||
<?php $this->widget('bootstrap.widgets.TbGridView',array(
|
||||
'type' => TbHtml::GRID_TYPE_BORDERED,
|
||||
'id'=>'programme-grid',
|
||||
'dataProvider'=>$model->search(),
|
||||
'filter'=>$model,
|
||||
'columns'=>array(
|
||||
'ID',
|
||||
'Name',
|
||||
'Downloads',
|
||||
'Kategorie',
|
||||
'Sterne',
|
||||
'enabled',
|
||||
/*
|
||||
'visible',
|
||||
'Language',
|
||||
'Description',
|
||||
'add_date',
|
||||
'download_url',
|
||||
'viewable_code',
|
||||
'sourceforge_url',
|
||||
'homepage_url',
|
||||
'github_url',
|
||||
'uses_absCanv',
|
||||
'update_identifier',
|
||||
'highscore_gid',
|
||||
*/
|
||||
array(
|
||||
'class'=>'bootstrap.widgets.TbButtonColumn',
|
||||
),
|
||||
),
|
||||
)); ?>
|
||||
20
www/protected/views/programme/create.php
Normal file
20
www/protected/views/programme/create.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
/* @var $this ProgrammeController */
|
||||
/* @var $model Programme */
|
||||
?>
|
||||
|
||||
<?php
|
||||
$this->breadcrumbs=array(
|
||||
'Programmes'=>array('index'),
|
||||
'Create',
|
||||
);
|
||||
|
||||
$this->menu=array(
|
||||
array('label'=>'List Programme', 'url'=>array('index')),
|
||||
array('label'=>'Manage Programme', 'url'=>array('admin')),
|
||||
);
|
||||
?>
|
||||
|
||||
<h1>Create Programme</h1>
|
||||
|
||||
<?php $this->renderPartial('_form', array('model'=>$model)); ?>
|
||||
22
www/protected/views/programme/index.php
Normal file
22
www/protected/views/programme/index.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/* @var $this ProgrammeController */
|
||||
/* @var $dataProvider CActiveDataProvider */
|
||||
?>
|
||||
|
||||
<?php
|
||||
$this->breadcrumbs=array(
|
||||
'Programmes',
|
||||
);
|
||||
|
||||
$this->menu=array(
|
||||
array('label'=>'Create Programme','url'=>array('create')),
|
||||
array('label'=>'Manage Programme','url'=>array('admin')),
|
||||
);
|
||||
?>
|
||||
|
||||
<h1>Programmes</h1>
|
||||
|
||||
<?php $this->widget('bootstrap.widgets.TbListView',array(
|
||||
'dataProvider'=>$dataProvider,
|
||||
'itemView'=>'_view',
|
||||
)); ?>
|
||||
23
www/protected/views/programme/update.php
Normal file
23
www/protected/views/programme/update.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
/* @var $this ProgrammeController */
|
||||
/* @var $model Programme */
|
||||
?>
|
||||
|
||||
<?php
|
||||
$this->breadcrumbs=array(
|
||||
'Programmes'=>array('index'),
|
||||
$model->Name=>array('view','id'=>$model->ID),
|
||||
'Update',
|
||||
);
|
||||
|
||||
$this->menu=array(
|
||||
array('label'=>'List Programme', 'url'=>array('index')),
|
||||
array('label'=>'Create Programme', 'url'=>array('create')),
|
||||
array('label'=>'View Programme', 'url'=>array('view', 'id'=>$model->ID)),
|
||||
array('label'=>'Manage Programme', 'url'=>array('admin')),
|
||||
);
|
||||
?>
|
||||
|
||||
<h1>Update Programme <?php echo $model->ID; ?></h1>
|
||||
|
||||
<?php $this->renderPartial('_form', array('model'=>$model)); ?>
|
||||
48
www/protected/views/programme/view.php
Normal file
48
www/protected/views/programme/view.php
Normal file
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
/* @var $this ProgrammeController */
|
||||
/* @var $model Programme */
|
||||
?>
|
||||
|
||||
<?php
|
||||
$this->breadcrumbs=array(
|
||||
'Programmes'=>array('index'),
|
||||
$model->Name,
|
||||
);
|
||||
|
||||
$this->menu=array(
|
||||
array('label'=>'List Programme', 'url'=>array('index')),
|
||||
array('label'=>'Create Programme', 'url'=>array('create')),
|
||||
array('label'=>'Update Programme', 'url'=>array('update', 'id'=>$model->ID)),
|
||||
array('label'=>'Delete Programme', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model->ID),'confirm'=>'Are you sure you want to delete this item?')),
|
||||
array('label'=>'Manage Programme', 'url'=>array('admin')),
|
||||
);
|
||||
?>
|
||||
|
||||
<h1>View Programme #<?php echo $model->ID; ?></h1>
|
||||
|
||||
<?php $this->widget('zii.widgets.CDetailView',array(
|
||||
'htmlOptions' => array(
|
||||
'class' => 'table table-striped table-condensed table-hover',
|
||||
),
|
||||
'data'=>$model,
|
||||
'attributes'=>array(
|
||||
'ID',
|
||||
'Name',
|
||||
'Downloads',
|
||||
'Kategorie',
|
||||
'Sterne',
|
||||
'enabled',
|
||||
'visible',
|
||||
'Language',
|
||||
'Description',
|
||||
'add_date',
|
||||
'download_url',
|
||||
'viewable_code',
|
||||
'sourceforge_url',
|
||||
'homepage_url',
|
||||
'github_url',
|
||||
'uses_absCanv',
|
||||
'update_identifier',
|
||||
'highscore_gid',
|
||||
),
|
||||
)); ?>
|
||||
Reference in New Issue
Block a user