From 5c5238c85f14be8250834a5801f7395c509f1efd Mon Sep 17 00:00:00 2001 From: Vladislav Khorev Date: Fri, 26 Jun 2015 10:03:20 +0000 Subject: [PATCH] web part of Bashgid --- web/css/bg.gif | Bin 0 -> 243 bytes web/css/form.css | 164 ++++++++++++ web/css/ie.css | 36 +++ web/css/main.css | 229 +++++++++++++++++ web/css/print.css | 29 +++ web/css/screen.css | 238 ++++++++++++++++++ web/index-test.php | 15 ++ web/index.php | 13 + web/nbproject/private/private.properties | 2 + web/nbproject/private/private.xml | 20 ++ web/nbproject/project.properties | 7 + web/nbproject/project.xml | 9 + web/protected/.htaccess | 1 + web/protected/components/Controller.php | 23 ++ web/protected/components/UserIdentity.php | 38 +++ web/protected/config/console.php | 37 +++ web/protected/config/main.php | 94 +++++++ web/protected/config/test.php | 17 ++ .../AlbumArticleRelationController.php | 180 +++++++++++++ web/protected/controllers/AlbumController.php | 180 +++++++++++++ .../controllers/ArticleController.php | 185 ++++++++++++++ .../ArticleJournalRelationController.php | 180 +++++++++++++ .../ChannelArticleRelationController.php | 180 +++++++++++++ .../controllers/ChannelController.php | 180 +++++++++++++ .../controllers/JournalController.php | 180 +++++++++++++ .../PhotoAlbumRelationController.php | 180 +++++++++++++ web/protected/controllers/PhotoController.php | 186 ++++++++++++++ web/protected/controllers/SiteController.php | 152 +++++++++++ .../VideoChannelRelationController.php | 180 +++++++++++++ web/protected/controllers/VideoController.php | 183 ++++++++++++++ web/protected/data/schema.mysql.sql | 28 +++ web/protected/data/schema.sqlite.sql | 28 +++ web/protected/data/testdrive.db | Bin 0 -> 3072 bytes web/protected/models/Album.php | 100 ++++++++ web/protected/models/AlbumArticleRelation.php | 96 +++++++ web/protected/models/Article.php | 117 +++++++++ .../models/ArticleJournalRelation.php | 96 +++++++ web/protected/models/Channel.php | 100 ++++++++ .../models/ChannelArticleRelation.php | 96 +++++++ web/protected/models/ContactForm.php | 42 ++++ web/protected/models/Journal.php | 100 ++++++++ web/protected/models/LoginForm.php | 77 ++++++ web/protected/models/Photo.php | 108 ++++++++ web/protected/models/PhotoAlbumRelation.php | 97 +++++++ web/protected/models/User.php | 49 ++++ web/protected/models/Video.php | 108 ++++++++ web/protected/models/VideoChannelRelation.php | 97 +++++++ web/protected/runtime/application.log | 138 ++++++++++ web/protected/runtime/gii-1.1.15/CrudCode.php | 5 + .../runtime/gii-1.1.15/ModelCode.php | 10 + web/protected/tests/WebTestCase.php | 25 ++ web/protected/tests/bootstrap.php | 10 + web/protected/tests/functional/SiteTest.php | 47 ++++ web/protected/tests/phpunit.xml | 13 + web/protected/views/album/_form.php | 46 ++++ web/protected/views/album/_search.php | 40 +++ web/protected/views/album/_view.php | 25 ++ web/protected/views/album/admin.php | 56 +++++ web/protected/views/album/create.php | 18 ++ web/protected/views/album/index.php | 20 ++ web/protected/views/album/update.php | 21 ++ web/protected/views/album/view.php | 29 +++ .../views/albumArticleRelation/_form.php | 40 +++ .../views/albumArticleRelation/_search.php | 35 +++ .../views/albumArticleRelation/_view.php | 21 ++ .../views/albumArticleRelation/admin.php | 55 ++++ .../views/albumArticleRelation/create.php | 18 ++ .../views/albumArticleRelation/index.php | 20 ++ .../views/albumArticleRelation/update.php | 21 ++ .../views/albumArticleRelation/view.php | 28 +++ web/protected/views/article/_form.php | 70 ++++++ web/protected/views/article/_search.php | 65 +++++ web/protected/views/article/_view.php | 47 ++++ web/protected/views/article/admin.php | 63 +++++ web/protected/views/article/create.php | 18 ++ web/protected/views/article/index.php | 20 ++ web/protected/views/article/update.php | 21 ++ web/protected/views/article/view.php | 34 +++ .../views/articleJournalRelation/_form.php | 40 +++ .../views/articleJournalRelation/_search.php | 35 +++ .../views/articleJournalRelation/_view.php | 21 ++ .../views/articleJournalRelation/admin.php | 55 ++++ .../views/articleJournalRelation/create.php | 18 ++ .../views/articleJournalRelation/index.php | 20 ++ .../views/articleJournalRelation/update.php | 21 ++ .../views/articleJournalRelation/view.php | 28 +++ web/protected/views/channel/_form.php | 46 ++++ web/protected/views/channel/_search.php | 40 +++ web/protected/views/channel/_view.php | 25 ++ web/protected/views/channel/admin.php | 56 +++++ web/protected/views/channel/create.php | 18 ++ web/protected/views/channel/index.php | 20 ++ web/protected/views/channel/update.php | 21 ++ web/protected/views/channel/view.php | 29 +++ .../views/channelArticleRelation/_form.php | 40 +++ .../views/channelArticleRelation/_search.php | 35 +++ .../views/channelArticleRelation/_view.php | 21 ++ .../views/channelArticleRelation/admin.php | 55 ++++ .../views/channelArticleRelation/create.php | 18 ++ .../views/channelArticleRelation/index.php | 20 ++ .../views/channelArticleRelation/update.php | 21 ++ .../views/channelArticleRelation/view.php | 28 +++ web/protected/views/journal/_form.php | 46 ++++ web/protected/views/journal/_search.php | 40 +++ web/protected/views/journal/_view.php | 25 ++ web/protected/views/journal/admin.php | 56 +++++ web/protected/views/journal/create.php | 18 ++ web/protected/views/journal/index.php | 20 ++ web/protected/views/journal/update.php | 21 ++ web/protected/views/journal/view.php | 29 +++ web/protected/views/layouts/column1.php | 6 + web/protected/views/layouts/column2.php | 22 ++ web/protected/views/layouts/main.php | 60 +++++ web/protected/views/photo/_form.php | 58 +++++ web/protected/views/photo/_search.php | 50 ++++ web/protected/views/photo/_view.php | 33 +++ web/protected/views/photo/admin.php | 58 +++++ web/protected/views/photo/create.php | 18 ++ web/protected/views/photo/index.php | 20 ++ web/protected/views/photo/update.php | 21 ++ web/protected/views/photo/view.php | 31 +++ .../views/photoAlbumRelation/_form.php | 40 +++ .../views/photoAlbumRelation/_search.php | 35 +++ .../views/photoAlbumRelation/_view.php | 21 ++ .../views/photoAlbumRelation/admin.php | 55 ++++ .../views/photoAlbumRelation/create.php | 18 ++ .../views/photoAlbumRelation/index.php | 20 ++ .../views/photoAlbumRelation/update.php | 21 ++ .../views/photoAlbumRelation/view.php | 28 +++ web/protected/views/site/contact.php | 85 +++++++ web/protected/views/site/error.php | 15 ++ web/protected/views/site/index.php | 34 +++ web/protected/views/site/login.php | 53 ++++ web/protected/views/site/pages/about.php | 12 + web/protected/views/site/register.php | 57 +++++ web/protected/views/video/_form.php | 59 +++++ web/protected/views/video/_search.php | 50 ++++ web/protected/views/video/_view.php | 34 +++ web/protected/views/video/admin.php | 58 +++++ web/protected/views/video/create.php | 18 ++ web/protected/views/video/index.php | 20 ++ web/protected/views/video/update.php | 21 ++ web/protected/views/video/view.php | 31 +++ .../views/videoChannelRelation/_form.php | 46 ++++ .../views/videoChannelRelation/_search.php | 35 +++ .../views/videoChannelRelation/_view.php | 21 ++ .../views/videoChannelRelation/admin.php | 55 ++++ .../views/videoChannelRelation/create.php | 18 ++ .../views/videoChannelRelation/index.php | 20 ++ .../views/videoChannelRelation/update.php | 21 ++ .../views/videoChannelRelation/view.php | 28 +++ web/protected/yiic | 4 + web/protected/yiic.bat | 16 ++ web/protected/yiic.php | 7 + web/themes/classic/views/.htaccess | 1 + 155 files changed, 7956 insertions(+) create mode 100644 web/css/bg.gif create mode 100644 web/css/form.css create mode 100644 web/css/ie.css create mode 100644 web/css/main.css create mode 100644 web/css/print.css create mode 100644 web/css/screen.css create mode 100644 web/index-test.php create mode 100644 web/index.php create mode 100644 web/nbproject/private/private.properties create mode 100644 web/nbproject/private/private.xml create mode 100644 web/nbproject/project.properties create mode 100644 web/nbproject/project.xml create mode 100644 web/protected/.htaccess create mode 100644 web/protected/components/Controller.php create mode 100644 web/protected/components/UserIdentity.php create mode 100644 web/protected/config/console.php create mode 100644 web/protected/config/main.php create mode 100644 web/protected/config/test.php create mode 100644 web/protected/controllers/AlbumArticleRelationController.php create mode 100644 web/protected/controllers/AlbumController.php create mode 100644 web/protected/controllers/ArticleController.php create mode 100644 web/protected/controllers/ArticleJournalRelationController.php create mode 100644 web/protected/controllers/ChannelArticleRelationController.php create mode 100644 web/protected/controllers/ChannelController.php create mode 100644 web/protected/controllers/JournalController.php create mode 100644 web/protected/controllers/PhotoAlbumRelationController.php create mode 100644 web/protected/controllers/PhotoController.php create mode 100644 web/protected/controllers/SiteController.php create mode 100644 web/protected/controllers/VideoChannelRelationController.php create mode 100644 web/protected/controllers/VideoController.php create mode 100644 web/protected/data/schema.mysql.sql create mode 100644 web/protected/data/schema.sqlite.sql create mode 100644 web/protected/data/testdrive.db create mode 100644 web/protected/models/Album.php create mode 100644 web/protected/models/AlbumArticleRelation.php create mode 100644 web/protected/models/Article.php create mode 100644 web/protected/models/ArticleJournalRelation.php create mode 100644 web/protected/models/Channel.php create mode 100644 web/protected/models/ChannelArticleRelation.php create mode 100644 web/protected/models/ContactForm.php create mode 100644 web/protected/models/Journal.php create mode 100644 web/protected/models/LoginForm.php create mode 100644 web/protected/models/Photo.php create mode 100644 web/protected/models/PhotoAlbumRelation.php create mode 100644 web/protected/models/User.php create mode 100644 web/protected/models/Video.php create mode 100644 web/protected/models/VideoChannelRelation.php create mode 100644 web/protected/runtime/application.log create mode 100644 web/protected/runtime/gii-1.1.15/CrudCode.php create mode 100644 web/protected/runtime/gii-1.1.15/ModelCode.php create mode 100644 web/protected/tests/WebTestCase.php create mode 100644 web/protected/tests/bootstrap.php create mode 100644 web/protected/tests/functional/SiteTest.php create mode 100644 web/protected/tests/phpunit.xml create mode 100644 web/protected/views/album/_form.php create mode 100644 web/protected/views/album/_search.php create mode 100644 web/protected/views/album/_view.php create mode 100644 web/protected/views/album/admin.php create mode 100644 web/protected/views/album/create.php create mode 100644 web/protected/views/album/index.php create mode 100644 web/protected/views/album/update.php create mode 100644 web/protected/views/album/view.php create mode 100644 web/protected/views/albumArticleRelation/_form.php create mode 100644 web/protected/views/albumArticleRelation/_search.php create mode 100644 web/protected/views/albumArticleRelation/_view.php create mode 100644 web/protected/views/albumArticleRelation/admin.php create mode 100644 web/protected/views/albumArticleRelation/create.php create mode 100644 web/protected/views/albumArticleRelation/index.php create mode 100644 web/protected/views/albumArticleRelation/update.php create mode 100644 web/protected/views/albumArticleRelation/view.php create mode 100644 web/protected/views/article/_form.php create mode 100644 web/protected/views/article/_search.php create mode 100644 web/protected/views/article/_view.php create mode 100644 web/protected/views/article/admin.php create mode 100644 web/protected/views/article/create.php create mode 100644 web/protected/views/article/index.php create mode 100644 web/protected/views/article/update.php create mode 100644 web/protected/views/article/view.php create mode 100644 web/protected/views/articleJournalRelation/_form.php create mode 100644 web/protected/views/articleJournalRelation/_search.php create mode 100644 web/protected/views/articleJournalRelation/_view.php create mode 100644 web/protected/views/articleJournalRelation/admin.php create mode 100644 web/protected/views/articleJournalRelation/create.php create mode 100644 web/protected/views/articleJournalRelation/index.php create mode 100644 web/protected/views/articleJournalRelation/update.php create mode 100644 web/protected/views/articleJournalRelation/view.php create mode 100644 web/protected/views/channel/_form.php create mode 100644 web/protected/views/channel/_search.php create mode 100644 web/protected/views/channel/_view.php create mode 100644 web/protected/views/channel/admin.php create mode 100644 web/protected/views/channel/create.php create mode 100644 web/protected/views/channel/index.php create mode 100644 web/protected/views/channel/update.php create mode 100644 web/protected/views/channel/view.php create mode 100644 web/protected/views/channelArticleRelation/_form.php create mode 100644 web/protected/views/channelArticleRelation/_search.php create mode 100644 web/protected/views/channelArticleRelation/_view.php create mode 100644 web/protected/views/channelArticleRelation/admin.php create mode 100644 web/protected/views/channelArticleRelation/create.php create mode 100644 web/protected/views/channelArticleRelation/index.php create mode 100644 web/protected/views/channelArticleRelation/update.php create mode 100644 web/protected/views/channelArticleRelation/view.php create mode 100644 web/protected/views/journal/_form.php create mode 100644 web/protected/views/journal/_search.php create mode 100644 web/protected/views/journal/_view.php create mode 100644 web/protected/views/journal/admin.php create mode 100644 web/protected/views/journal/create.php create mode 100644 web/protected/views/journal/index.php create mode 100644 web/protected/views/journal/update.php create mode 100644 web/protected/views/journal/view.php create mode 100644 web/protected/views/layouts/column1.php create mode 100644 web/protected/views/layouts/column2.php create mode 100644 web/protected/views/layouts/main.php create mode 100644 web/protected/views/photo/_form.php create mode 100644 web/protected/views/photo/_search.php create mode 100644 web/protected/views/photo/_view.php create mode 100644 web/protected/views/photo/admin.php create mode 100644 web/protected/views/photo/create.php create mode 100644 web/protected/views/photo/index.php create mode 100644 web/protected/views/photo/update.php create mode 100644 web/protected/views/photo/view.php create mode 100644 web/protected/views/photoAlbumRelation/_form.php create mode 100644 web/protected/views/photoAlbumRelation/_search.php create mode 100644 web/protected/views/photoAlbumRelation/_view.php create mode 100644 web/protected/views/photoAlbumRelation/admin.php create mode 100644 web/protected/views/photoAlbumRelation/create.php create mode 100644 web/protected/views/photoAlbumRelation/index.php create mode 100644 web/protected/views/photoAlbumRelation/update.php create mode 100644 web/protected/views/photoAlbumRelation/view.php create mode 100644 web/protected/views/site/contact.php create mode 100644 web/protected/views/site/error.php create mode 100644 web/protected/views/site/index.php create mode 100644 web/protected/views/site/login.php create mode 100644 web/protected/views/site/pages/about.php create mode 100644 web/protected/views/site/register.php create mode 100644 web/protected/views/video/_form.php create mode 100644 web/protected/views/video/_search.php create mode 100644 web/protected/views/video/_view.php create mode 100644 web/protected/views/video/admin.php create mode 100644 web/protected/views/video/create.php create mode 100644 web/protected/views/video/index.php create mode 100644 web/protected/views/video/update.php create mode 100644 web/protected/views/video/view.php create mode 100644 web/protected/views/videoChannelRelation/_form.php create mode 100644 web/protected/views/videoChannelRelation/_search.php create mode 100644 web/protected/views/videoChannelRelation/_view.php create mode 100644 web/protected/views/videoChannelRelation/admin.php create mode 100644 web/protected/views/videoChannelRelation/create.php create mode 100644 web/protected/views/videoChannelRelation/index.php create mode 100644 web/protected/views/videoChannelRelation/update.php create mode 100644 web/protected/views/videoChannelRelation/view.php create mode 100644 web/protected/yiic create mode 100644 web/protected/yiic.bat create mode 100644 web/protected/yiic.php create mode 100644 web/themes/classic/views/.htaccess diff --git a/web/css/bg.gif b/web/css/bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..428398973e1a8a6a1129d9332da6714e59bedba4 GIT binary patch literal 243 zcmZ?wbhEHbWMeR5IKlt||Ns9Fn|mU0@#)m1XEK+c^_h9pch)ig*~bFs91EU%JYxQd z=mjU^7M;pmaW-ewx%@Tfi`HEz-EgsD1pFZrjzSo!1+8Tx;5Kt##K8 zpn+h6L4@K@7DfgJ83r8?2V^G$YrzAxzKG1Mj9F{fJlz+r6JFwb_s5d=LGRrUD5QAQ zNc8tDnRFnBZ{CHrl2a?9#BZ!gI2~HCzjK3xqn`Y^jOMDdVT&(5-4yZXZ_&=1Ypz<& pbz11_%i7%H?(X8^=xAqWZEay;YHDPpudkz{si~%>tgOgj4FL3OZcYFI literal 0 HcmV?d00001 diff --git a/web/css/form.css b/web/css/form.css new file mode 100644 index 0000000..7c4d096 --- /dev/null +++ b/web/css/form.css @@ -0,0 +1,164 @@ +/** + * CSS styles for forms generated by yiic. + * + * The styles can be applied to the following form structure: + * + *
+ *
+ * + * + *

hint text

+ *
+ *
+ * + * + *

hint text

+ *
+ *
+ * + * + *

hint text

+ *
+ *
+ * + * The above code will render the labels and input fields in separate lines. + * In order to render them in the same line, please use the "wide" form as follows, + * + *
+ * ...... + *
+ * + * @author Qiang Xue + * @link http://www.yiiframework.com/ + * @copyright 2008-2010 Yii Software LLC + * @license http://www.yiiframework.com/license/ + */ + +div.form +{ +} + +div.form input, +div.form textarea, +div.form select +{ + margin: 0.2em 0 0.5em 0; +} + +div.form fieldset +{ + border: 1px solid #DDD; + padding: 10px; + margin: 0 0 10px 0; + -moz-border-radius:7px; +} + +div.form label +{ + font-weight: bold; + font-size: 0.9em; + display: block; +} + +div.form .row +{ + margin: 5px 0; +} + +div.form .hint +{ + margin: 0; + padding: 0; + color: #999; +} + +div.form .note +{ + font-style: italic; +} + +div.form span.required +{ + color: red; +} + +div.form div.error label:first-child, +div.form label.error, +div.form span.error +{ + color: #C00; +} + +div.form div.error input, +div.form div.error textarea, +div.form div.error select, +div.form input.error, +div.form textarea.error, +div.form select.error +{ + background: #FEE; + border-color: #C00; +} + +div.form div.success input, +div.form div.success textarea, +div.form div.success select, +div.form input.success, +div.form textarea.success, +div.form select.success +{ + background: #E6EFC2; + border-color: #C6D880; +} + +div.form div.success label +{ + color: inherit; +} + +div.form .errorSummary +{ + border: 2px solid #C00; + padding: 7px 7px 12px 7px; + margin: 0 0 20px 0; + background: #FEE; + font-size: 0.9em; +} + +div.form .errorMessage +{ + color: red; + font-size: 0.9em; +} + +div.form .errorSummary p +{ + margin: 0; + padding: 5px; +} + +div.form .errorSummary ul +{ + margin: 0; + padding: 0 0 0 20px; +} + +div.wide.form label +{ + float: left; + margin-right: 10px; + position: relative; + text-align: right; + width: 100px; +} + +div.wide.form .row +{ + clear: left; +} + +div.wide.form .buttons, div.wide.form .hint, div.wide.form .errorMessage +{ + clear: left; + padding-left: 110px; +} diff --git a/web/css/ie.css b/web/css/ie.css new file mode 100644 index 0000000..f015399 --- /dev/null +++ b/web/css/ie.css @@ -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;} \ No newline at end of file diff --git a/web/css/main.css b/web/css/main.css new file mode 100644 index 0000000..13327b8 --- /dev/null +++ b/web/css/main.css @@ -0,0 +1,229 @@ +body +{ + margin: 0; + padding: 0; + color: #555; + font: normal 10pt Arial,Helvetica,sans-serif; + background: #EFEFEF; +} + +#page +{ + margin-top: 5px; + margin-bottom: 5px; + background: white; + border: 1px solid #C9E0ED; +} + +#header +{ + margin: 0; + padding: 0; + border-top: 3px solid #C9E0ED; +} + +#content +{ + padding: 20px; +} + +#sidebar +{ + padding: 20px 20px 20px 0; +} + +#footer +{ + padding: 10px; + margin: 10px 20px; + font-size: 0.8em; + text-align: center; + border-top: 1px solid #C9E0ED; +} + +#logo +{ + padding: 10px 20px; + font-size: 200%; +} + +#mainmenu +{ + background:white url(bg.gif) repeat-x left top; +} + +#mainmenu ul +{ + padding:6px 20px 5px 20px; + margin:0px; +} + +#mainmenu ul li +{ + display: inline; +} + +#mainmenu ul li a +{ + color:#ffffff; + background-color:transparent; + font-size:12px; + font-weight:bold; + text-decoration:none; + padding:5px 8px; +} + +#mainmenu ul li a:hover, #mainmenu ul li.active a +{ + color: #6399cd; + background-color:#EFF4FA; + text-decoration:none; +} + +div.flash-error, div.flash-notice, div.flash-success +{ + padding:.8em; + margin-bottom:1em; + border:2px solid #ddd; +} + +div.flash-error +{ + background:#FBE3E4; + color:#8a1f11; + border-color:#FBC2C4; +} + +div.flash-notice +{ + background:#FFF6BF; + color:#514721; + border-color:#FFD324; +} + +div.flash-success +{ + background:#E6EFC2; + color:#264409; + border-color:#C6D880; +} + +div.flash-error a +{ + color:#8a1f11; +} + +div.flash-notice a +{ + color:#514721; +} + +div.flash-success a +{ + color:#264409; +} + +div.form .rememberMe label +{ + display: inline; +} + +div.view +{ + padding: 10px; + margin: 10px 0; + border: 1px solid #C9E0ED; +} + +div.breadcrumbs +{ + font-size: 0.9em; + padding: 5px 20px; +} + +div.breadcrumbs span +{ + font-weight: bold; +} + +div.search-form +{ + padding: 10px; + margin: 10px 0; + background: #eee; +} + +.portlet +{ + +} + +.portlet-decoration +{ + padding: 3px 8px; + background: #B7D6E7; + border-left: 5px solid #6FACCF; +} + +.portlet-title +{ + font-size: 12px; + font-weight: bold; + padding: 0; + margin: 0; + color: #298dcd; +} + +.portlet-content +{ + font-size:0.9em; + margin: 0 0 15px 0; + padding: 5px 8px; + background:#EFFDFF; +} + +.portlet-content ul +{ + list-style-image:none; + list-style-position:outside; + list-style-type:none; + margin: 0; + padding: 0; +} + +.portlet-content li +{ + padding: 2px 0 4px 0px; +} + +.operations +{ + list-style-type: none; + margin: 0; + padding: 0; +} + +.operations li +{ + padding-bottom: 2px; +} + +.operations li a +{ + font: bold 12px Arial; + color: #0066A4; + display: block; + padding: 2px 0 2px 8px; + line-height: 15px; + text-decoration: none; +} + +.operations li a:visited +{ + color: #0066A4; +} + +.operations li a:hover +{ + background: #80CFFF; +} \ No newline at end of file diff --git a/web/css/print.css b/web/css/print.css new file mode 100644 index 0000000..bd79afd --- /dev/null +++ b/web/css/print.css @@ -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%;} \ No newline at end of file diff --git a/web/css/screen.css b/web/css/screen.css new file mode 100644 index 0000000..7824d07 --- /dev/null +++ b/web/css/screen.css @@ -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;} diff --git a/web/index-test.php b/web/index-test.php new file mode 100644 index 0000000..2272044 --- /dev/null +++ b/web/index-test.php @@ -0,0 +1,15 @@ +run(); diff --git a/web/index.php b/web/index.php new file mode 100644 index 0000000..d512b7c --- /dev/null +++ b/web/index.php @@ -0,0 +1,13 @@ +run(); diff --git a/web/nbproject/private/private.properties b/web/nbproject/private/private.properties new file mode 100644 index 0000000..cca1271 --- /dev/null +++ b/web/nbproject/private/private.properties @@ -0,0 +1,2 @@ +index.file=index.php +url=http://localhost/bashgid/ diff --git a/web/nbproject/private/private.xml b/web/nbproject/private/private.xml new file mode 100644 index 0000000..63aa7de --- /dev/null +++ b/web/nbproject/private/private.xml @@ -0,0 +1,20 @@ + + + + + + file:/C:/Workplace/Apache2.4/htdocs/bashgid/protected/controllers/ChannelController.php + file:/C:/Workplace/Apache2.4/htdocs/bashgid/protected/controllers/PhotoController.php + file:/C:/Workplace/Apache2.4/htdocs/bashgid/protected/controllers/PhotoAlbumRelationController.php + file:/C:/Workplace/Apache2.4/htdocs/bashgid/protected/controllers/VideoController.php + file:/C:/Workplace/Apache2.4/htdocs/bashgid/protected/controllers/VideoChannelRelationController.php + file:/C:/Workplace/Apache2.4/htdocs/bashgid/protected/controllers/ArticleController.php + file:/C:/Workplace/Apache2.4/htdocs/bashgid/protected/controllers/ArticleJournalRelationController.php + file:/C:/Workplace/Apache2.4/htdocs/bashgid/protected/controllers/JournalController.php + file:/C:/Workplace/Apache2.4/htdocs/bashgid/protected/controllers/AlbumController.php + file:/C:/Workplace/Apache2.4/htdocs/bashgid/protected/controllers/ChannelArticleRelationController.php + file:/C:/Workplace/Apache2.4/htdocs/bashgid/protected/controllers/AlbumArticleRelationController.php + file:/C:/Workplace/Apache2.4/htdocs/bashgid/protected/models/Photo.php + + + diff --git a/web/nbproject/project.properties b/web/nbproject/project.properties new file mode 100644 index 0000000..8b7302c --- /dev/null +++ b/web/nbproject/project.properties @@ -0,0 +1,7 @@ +include.path=${php.global.include.path} +php.version=PHP_54 +source.encoding=UTF-8 +src.dir=. +tags.asp=false +tags.short=false +web.root=. diff --git a/web/nbproject/project.xml b/web/nbproject/project.xml new file mode 100644 index 0000000..52abf6b --- /dev/null +++ b/web/nbproject/project.xml @@ -0,0 +1,9 @@ + + + org.netbeans.modules.php.project + + + bashgid + + + diff --git a/web/protected/.htaccess b/web/protected/.htaccess new file mode 100644 index 0000000..e019832 --- /dev/null +++ b/web/protected/.htaccess @@ -0,0 +1 @@ +deny from all diff --git a/web/protected/components/Controller.php b/web/protected/components/Controller.php new file mode 100644 index 0000000..4d27862 --- /dev/null +++ b/web/protected/components/Controller.php @@ -0,0 +1,23 @@ +find('username=:username', array('username'=>$this->username)); + + if ($admin === null) + { + $this->errorCode=self::ERROR_USERNAME_INVALID; + return false; + } + + if (crypt($this->password, $admin->password) == $admin->password) + { + $this->errorCode=self::ERROR_NONE; + return true; + } + + $this->errorCode=self::ERROR_PASSWORD_INVALID; + return false; + } + +} \ No newline at end of file diff --git a/web/protected/config/console.php b/web/protected/config/console.php new file mode 100644 index 0000000..346a976 --- /dev/null +++ b/web/protected/config/console.php @@ -0,0 +1,37 @@ +dirname(__FILE__).DIRECTORY_SEPARATOR.'..', + 'name'=>'My Console Application', + + // preloading 'log' component + 'preload'=>array('log'), + + // application components + 'components'=>array( + 'db'=>array( + 'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db', + ), + // uncomment the following to use a MySQL database + /* + 'db'=>array( + 'connectionString' => 'mysql:host=localhost;dbname=testdrive', + 'emulatePrepare' => true, + 'username' => 'root', + 'password' => '', + 'charset' => 'utf8', + ), + */ + 'log'=>array( + 'class'=>'CLogRouter', + 'routes'=>array( + array( + 'class'=>'CFileLogRoute', + 'levels'=>'error, warning', + ), + ), + ), + ), +); \ No newline at end of file diff --git a/web/protected/config/main.php b/web/protected/config/main.php new file mode 100644 index 0000000..cdfa722 --- /dev/null +++ b/web/protected/config/main.php @@ -0,0 +1,94 @@ +dirname(__FILE__).DIRECTORY_SEPARATOR.'..', + 'name'=>'My Web Application', + + // preloading 'log' component + 'preload'=>array('log'), + + // autoloading model and component classes + 'import'=>array( + 'application.models.*', + 'application.components.*', + ), + + 'modules'=>array( + // uncomment the following to enable the Gii tool + + 'gii'=>array( + 'class'=>'system.gii.GiiModule', + 'password'=>'giiPassword%%#24402@*', + // If removed, Gii defaults to localhost only. Edit carefully to taste. + 'ipFilters'=>array('127.0.0.1','::1'), + ), + + ), + + // application components + 'components'=>array( + 'user'=>array( + // enable cookie-based authentication + 'allowAutoLogin'=>true, + ), + // uncomment the following to enable URLs in path-format + /* + 'urlManager'=>array( + 'urlFormat'=>'path', + 'rules'=>array( + '/'=>'/view', + '//'=>'/', + '/'=>'/', + ), + ), + */ + 'db'=>array( + 'connectionString' => 'mysql:host=localhost;dbname=bashgid', + 'emulatePrepare' => true, + 'username' => 'bashgid', + 'password' => 'bashgid%%135', + 'charset' => 'utf8', + ), + // uncomment the following to use a MySQL database + /* + 'db'=>array( + 'connectionString' => 'mysql:host=localhost;dbname=testdrive', + 'emulatePrepare' => true, + 'username' => 'root', + 'password' => '', + 'charset' => 'utf8', + ), + */ + 'errorHandler'=>array( + // use 'site/error' action to display errors + 'errorAction'=>'site/error', + ), + 'log'=>array( + 'class'=>'CLogRouter', + 'routes'=>array( + array( + 'class'=>'CFileLogRoute', + 'levels'=>'error, warning', + ), + // uncomment the following to show log messages on web pages + /* + array( + 'class'=>'CWebLogRoute', + ), + */ + ), + ), + ), + + // application-level parameters that can be accessed + // using Yii::app()->params['paramName'] + 'params'=>array( + // this is used in contact page + 'adminEmail'=>'webmaster@example.com', + ), +); \ No newline at end of file diff --git a/web/protected/config/test.php b/web/protected/config/test.php new file mode 100644 index 0000000..fd7085a --- /dev/null +++ b/web/protected/config/test.php @@ -0,0 +1,17 @@ +array( + 'fixture'=>array( + 'class'=>'system.test.CDbFixtureManager', + ), + /* uncomment the following to provide test database connection + 'db'=>array( + 'connectionString'=>'DSN for test database', + ), + */ + ), + ) +); diff --git a/web/protected/controllers/AlbumArticleRelationController.php b/web/protected/controllers/AlbumArticleRelationController.php new file mode 100644 index 0000000..beb0a99 --- /dev/null +++ b/web/protected/controllers/AlbumArticleRelationController.php @@ -0,0 +1,180 @@ + array('index', 'view', 'create', 'update', 'admin', 'delete'), + 'users' => array('@'), + ), + array('allow', + 'actions' => array('json'), + 'users' => array('*'), + ), + 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 AlbumArticleRelation; + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if (isset($_POST['AlbumArticleRelation'])) + { + $model->attributes = $_POST['AlbumArticleRelation']; + 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['AlbumArticleRelation'])) + { + $model->attributes = $_POST['AlbumArticleRelation']; + 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) + { + $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')); + } + + /** + * Lists all models. + */ + public function actionIndex() + { + $dataProvider = new CActiveDataProvider('AlbumArticleRelation'); + $this->render('index', array( + 'dataProvider' => $dataProvider, + )); + } + + /** + * Manages all models. + */ + public function actionAdmin() + { + $model = new AlbumArticleRelation('search'); + $model->unsetAttributes(); // clear any default values + if (isset($_GET['AlbumArticleRelation'])) + $model->attributes = $_GET['AlbumArticleRelation']; + + $this->render('admin', array( + 'model' => $model, + )); + } + + public function actionJson() + { + $dataArray = AlbumArticleRelation::model()->findAll(); + + $this->layout = false; + header('Content-type: application/json'); + echo CJavaScript::jsonEncode($dataArray); + Yii::app()->end(); + } + + /** + * 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 AlbumArticleRelation the loaded model + * @throws CHttpException + */ + public function loadModel($id) + { + $model = AlbumArticleRelation::model()->findByPk($id); + if ($model === null) + throw new CHttpException(404, 'The requested page does not exist.'); + return $model; + } + + /** + * Performs the AJAX validation. + * @param AlbumArticleRelation $model the model to be validated + */ + protected function performAjaxValidation($model) + { + if (isset($_POST['ajax']) && $_POST['ajax'] === 'album-article-relation-form') + { + echo CActiveForm::validate($model); + Yii::app()->end(); + } + } + +} diff --git a/web/protected/controllers/AlbumController.php b/web/protected/controllers/AlbumController.php new file mode 100644 index 0000000..bec1607 --- /dev/null +++ b/web/protected/controllers/AlbumController.php @@ -0,0 +1,180 @@ + array('index', 'view', 'create', 'update', 'admin', 'delete'), + 'users' => array('@'), + ), + array('allow', + 'actions' => array('json'), + 'users' => array('*'), + ), + 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 Album; + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if (isset($_POST['Album'])) + { + $model->attributes = $_POST['Album']; + 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['Album'])) + { + $model->attributes = $_POST['Album']; + 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) + { + $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')); + } + + /** + * Lists all models. + */ + public function actionIndex() + { + $dataProvider = new CActiveDataProvider('Album'); + $this->render('index', array( + 'dataProvider' => $dataProvider, + )); + } + + /** + * Manages all models. + */ + public function actionAdmin() + { + $model = new Album('search'); + $model->unsetAttributes(); // clear any default values + if (isset($_GET['Album'])) + $model->attributes = $_GET['Album']; + + $this->render('admin', array( + 'model' => $model, + )); + } + + public function actionJson() + { + $dataArray = Album::model()->findAll(); + + $this->layout = false; + header('Content-type: application/json'); + echo CJavaScript::jsonEncode($dataArray); + Yii::app()->end(); + } + + /** + * 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 Album the loaded model + * @throws CHttpException + */ + public function loadModel($id) + { + $model = Album::model()->findByPk($id); + if ($model === null) + throw new CHttpException(404, 'The requested page does not exist.'); + return $model; + } + + /** + * Performs the AJAX validation. + * @param Album $model the model to be validated + */ + protected function performAjaxValidation($model) + { + if (isset($_POST['ajax']) && $_POST['ajax'] === 'album-form') + { + echo CActiveForm::validate($model); + Yii::app()->end(); + } + } + +} diff --git a/web/protected/controllers/ArticleController.php b/web/protected/controllers/ArticleController.php new file mode 100644 index 0000000..0b5bad6 --- /dev/null +++ b/web/protected/controllers/ArticleController.php @@ -0,0 +1,185 @@ + array('index', 'view', 'create', 'update', 'admin', 'delete'), + 'users' => array('@'), + ), + array('allow', + 'actions' => array('json'), + 'users' => array('*'), + ), + 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 Article; + + $model->geoLat = 0; + $model->geoLon = 0; + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if (isset($_POST['Article'])) + { + $model->attributes = $_POST['Article']; + date_default_timezone_set("UTC"); + $model->dateTime = date('Y-m-d H:i:s'); + 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['Article'])) + { + $model->attributes = $_POST['Article']; + 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) + { + $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')); + } + + /** + * Lists all models. + */ + public function actionIndex() + { + $dataProvider = new CActiveDataProvider('Article'); + $this->render('index', array( + 'dataProvider' => $dataProvider, + )); + } + + /** + * Manages all models. + */ + public function actionAdmin() + { + $model = new Article('search'); + $model->unsetAttributes(); // clear any default values + if (isset($_GET['Article'])) + $model->attributes = $_GET['Article']; + + $this->render('admin', array( + 'model' => $model, + )); + } + + public function actionJson() + { + $dataArray = Article::model()->findAll(); + + $this->layout = false; + header('Content-type: application/json'); + echo CJavaScript::jsonEncode($dataArray); + Yii::app()->end(); + } + + /** + * 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 Article the loaded model + * @throws CHttpException + */ + public function loadModel($id) + { + $model = Article::model()->findByPk($id); + if ($model === null) + throw new CHttpException(404, 'The requested page does not exist.'); + return $model; + } + + /** + * Performs the AJAX validation. + * @param Article $model the model to be validated + */ + protected function performAjaxValidation($model) + { + if (isset($_POST['ajax']) && $_POST['ajax'] === 'article-form') + { + echo CActiveForm::validate($model); + Yii::app()->end(); + } + } + +} diff --git a/web/protected/controllers/ArticleJournalRelationController.php b/web/protected/controllers/ArticleJournalRelationController.php new file mode 100644 index 0000000..b4c1eb9 --- /dev/null +++ b/web/protected/controllers/ArticleJournalRelationController.php @@ -0,0 +1,180 @@ + array('index', 'view', 'create', 'update', 'admin', 'delete'), + 'users' => array('@'), + ), + array('allow', + 'actions' => array('json'), + 'users' => array('*'), + ), + 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 ArticleJournalRelation; + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if (isset($_POST['ArticleJournalRelation'])) + { + $model->attributes = $_POST['ArticleJournalRelation']; + 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['ArticleJournalRelation'])) + { + $model->attributes = $_POST['ArticleJournalRelation']; + 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) + { + $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')); + } + + /** + * Lists all models. + */ + public function actionIndex() + { + $dataProvider = new CActiveDataProvider('ArticleJournalRelation'); + $this->render('index', array( + 'dataProvider' => $dataProvider, + )); + } + + /** + * Manages all models. + */ + public function actionAdmin() + { + $model = new ArticleJournalRelation('search'); + $model->unsetAttributes(); // clear any default values + if (isset($_GET['ArticleJournalRelation'])) + $model->attributes = $_GET['ArticleJournalRelation']; + + $this->render('admin', array( + 'model' => $model, + )); + } + + public function actionJson() + { + $dataArray = ArticleJournalRelation::model()->findAll(); + + $this->layout = false; + header('Content-type: application/json'); + echo CJavaScript::jsonEncode($dataArray); + Yii::app()->end(); + } + + /** + * 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 ArticleJournalRelation the loaded model + * @throws CHttpException + */ + public function loadModel($id) + { + $model = ArticleJournalRelation::model()->findByPk($id); + if ($model === null) + throw new CHttpException(404, 'The requested page does not exist.'); + return $model; + } + + /** + * Performs the AJAX validation. + * @param ArticleJournalRelation $model the model to be validated + */ + protected function performAjaxValidation($model) + { + if (isset($_POST['ajax']) && $_POST['ajax'] === 'article-journal-relation-form') + { + echo CActiveForm::validate($model); + Yii::app()->end(); + } + } + +} diff --git a/web/protected/controllers/ChannelArticleRelationController.php b/web/protected/controllers/ChannelArticleRelationController.php new file mode 100644 index 0000000..15688e3 --- /dev/null +++ b/web/protected/controllers/ChannelArticleRelationController.php @@ -0,0 +1,180 @@ + array('index', 'view', 'create', 'update', 'admin', 'delete'), + 'users' => array('@'), + ), + array('allow', + 'actions' => array('json'), + 'users' => array('*'), + ), + 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 ChannelArticleRelation; + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if (isset($_POST['ChannelArticleRelation'])) + { + $model->attributes = $_POST['ChannelArticleRelation']; + 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['ChannelArticleRelation'])) + { + $model->attributes = $_POST['ChannelArticleRelation']; + 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) + { + $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')); + } + + /** + * Lists all models. + */ + public function actionIndex() + { + $dataProvider = new CActiveDataProvider('ChannelArticleRelation'); + $this->render('index', array( + 'dataProvider' => $dataProvider, + )); + } + + /** + * Manages all models. + */ + public function actionAdmin() + { + $model = new ChannelArticleRelation('search'); + $model->unsetAttributes(); // clear any default values + if (isset($_GET['ChannelArticleRelation'])) + $model->attributes = $_GET['ChannelArticleRelation']; + + $this->render('admin', array( + 'model' => $model, + )); + } + + public function actionJson() + { + $dataArray = ChannelArticleRelation::model()->findAll(); + + $this->layout = false; + header('Content-type: application/json'); + echo CJavaScript::jsonEncode($dataArray); + Yii::app()->end(); + } + + /** + * 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 ChannelArticleRelation the loaded model + * @throws CHttpException + */ + public function loadModel($id) + { + $model = ChannelArticleRelation::model()->findByPk($id); + if ($model === null) + throw new CHttpException(404, 'The requested page does not exist.'); + return $model; + } + + /** + * Performs the AJAX validation. + * @param ChannelArticleRelation $model the model to be validated + */ + protected function performAjaxValidation($model) + { + if (isset($_POST['ajax']) && $_POST['ajax'] === 'channel-article-relation-form') + { + echo CActiveForm::validate($model); + Yii::app()->end(); + } + } + +} diff --git a/web/protected/controllers/ChannelController.php b/web/protected/controllers/ChannelController.php new file mode 100644 index 0000000..3457fa2 --- /dev/null +++ b/web/protected/controllers/ChannelController.php @@ -0,0 +1,180 @@ + array('index', 'view', 'create', 'update', 'admin', 'delete'), + 'users' => array('@'), + ), + array('allow', + 'actions' => array('json'), + 'users' => array('*'), + ), + 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 Channel; + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if (isset($_POST['Channel'])) + { + $model->attributes = $_POST['Channel']; + 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['Channel'])) + { + $model->attributes = $_POST['Channel']; + 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) + { + $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')); + } + + /** + * Lists all models. + */ + public function actionIndex() + { + $dataProvider = new CActiveDataProvider('Channel'); + $this->render('index', array( + 'dataProvider' => $dataProvider, + )); + } + + /** + * Manages all models. + */ + public function actionAdmin() + { + $model = new Channel('search'); + $model->unsetAttributes(); // clear any default values + if (isset($_GET['Channel'])) + $model->attributes = $_GET['Channel']; + + $this->render('admin', array( + 'model' => $model, + )); + } + + public function actionJson() + { + $dataArray = Channel::model()->findAll(); + + $this->layout = false; + header('Content-type: application/json'); + echo CJavaScript::jsonEncode($dataArray); + Yii::app()->end(); + } + + /** + * 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 Channel the loaded model + * @throws CHttpException + */ + public function loadModel($id) + { + $model = Channel::model()->findByPk($id); + if ($model === null) + throw new CHttpException(404, 'The requested page does not exist.'); + return $model; + } + + /** + * Performs the AJAX validation. + * @param Channel $model the model to be validated + */ + protected function performAjaxValidation($model) + { + if (isset($_POST['ajax']) && $_POST['ajax'] === 'channel-form') + { + echo CActiveForm::validate($model); + Yii::app()->end(); + } + } + +} diff --git a/web/protected/controllers/JournalController.php b/web/protected/controllers/JournalController.php new file mode 100644 index 0000000..d0f5b4e --- /dev/null +++ b/web/protected/controllers/JournalController.php @@ -0,0 +1,180 @@ + array('index', 'view', 'create', 'update', 'admin', 'delete'), + 'users' => array('@'), + ), + array('allow', + 'actions' => array('json'), + 'users' => array('*'), + ), + 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 Journal; + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if (isset($_POST['Journal'])) + { + $model->attributes = $_POST['Journal']; + 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['Journal'])) + { + $model->attributes = $_POST['Journal']; + 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) + { + $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')); + } + + /** + * Lists all models. + */ + public function actionIndex() + { + $dataProvider = new CActiveDataProvider('Journal'); + $this->render('index', array( + 'dataProvider' => $dataProvider, + )); + } + + /** + * Manages all models. + */ + public function actionAdmin() + { + $model = new Journal('search'); + $model->unsetAttributes(); // clear any default values + if (isset($_GET['Journal'])) + $model->attributes = $_GET['Journal']; + + $this->render('admin', array( + 'model' => $model, + )); + } + + public function actionJson() + { + $dataArray = Journal::model()->findAll(); + + $this->layout = false; + header('Content-type: application/json'); + echo CJavaScript::jsonEncode($dataArray); + Yii::app()->end(); + } + + /** + * 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 Journal the loaded model + * @throws CHttpException + */ + public function loadModel($id) + { + $model = Journal::model()->findByPk($id); + if ($model === null) + throw new CHttpException(404, 'The requested page does not exist.'); + return $model; + } + + /** + * Performs the AJAX validation. + * @param Journal $model the model to be validated + */ + protected function performAjaxValidation($model) + { + if (isset($_POST['ajax']) && $_POST['ajax'] === 'journal-form') + { + echo CActiveForm::validate($model); + Yii::app()->end(); + } + } + +} diff --git a/web/protected/controllers/PhotoAlbumRelationController.php b/web/protected/controllers/PhotoAlbumRelationController.php new file mode 100644 index 0000000..7a62efa --- /dev/null +++ b/web/protected/controllers/PhotoAlbumRelationController.php @@ -0,0 +1,180 @@ + array('index', 'view', 'create', 'update', 'admin', 'delete'), + 'users' => array('@'), + ), + array('allow', + 'actions' => array('json'), + 'users' => array('*'), + ), + 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 PhotoAlbumRelation; + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if (isset($_POST['PhotoAlbumRelation'])) + { + $model->attributes = $_POST['PhotoAlbumRelation']; + 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['PhotoAlbumRelation'])) + { + $model->attributes = $_POST['PhotoAlbumRelation']; + 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) + { + $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')); + } + + /** + * Lists all models. + */ + public function actionIndex() + { + $dataProvider = new CActiveDataProvider('PhotoAlbumRelation'); + $this->render('index', array( + 'dataProvider' => $dataProvider, + )); + } + + /** + * Manages all models. + */ + public function actionAdmin() + { + $model = new PhotoAlbumRelation('search'); + $model->unsetAttributes(); // clear any default values + if (isset($_GET['PhotoAlbumRelation'])) + $model->attributes = $_GET['PhotoAlbumRelation']; + + $this->render('admin', array( + 'model' => $model, + )); + } + + public function actionJson() + { + $dataArray = PhotoAlbumRelation::model()->findAll(); + + $this->layout = false; + header('Content-type: application/json'); + echo CJavaScript::jsonEncode($dataArray); + Yii::app()->end(); + } + + /** + * 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 PhotoAlbumRelation the loaded model + * @throws CHttpException + */ + public function loadModel($id) + { + $model = PhotoAlbumRelation::model()->findByPk($id); + if ($model === null) + throw new CHttpException(404, 'The requested page does not exist.'); + return $model; + } + + /** + * Performs the AJAX validation. + * @param PhotoAlbumRelation $model the model to be validated + */ + protected function performAjaxValidation($model) + { + if (isset($_POST['ajax']) && $_POST['ajax'] === 'photo-album-relation-form') + { + echo CActiveForm::validate($model); + Yii::app()->end(); + } + } + +} diff --git a/web/protected/controllers/PhotoController.php b/web/protected/controllers/PhotoController.php new file mode 100644 index 0000000..2ffab20 --- /dev/null +++ b/web/protected/controllers/PhotoController.php @@ -0,0 +1,186 @@ + array('index', 'view', 'create', 'update', 'admin', 'delete'), + 'users' => array('@'), + ), + array('allow', + 'actions' => array('json'), + 'users' => array('*'), + ), + 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 Photo; + + $model->geoLat = 0; + $model->geoLon = 0; + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if (isset($_POST['Photo'])) + { + $model->attributes = $_POST['Photo']; + + $model->imageHash = md5_file($model->imageUrl); + + 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['Photo'])) + { + $model->attributes = $_POST['Photo']; + 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) + { + $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')); + } + + /** + * Lists all models. + */ + public function actionIndex() + { + $dataProvider = new CActiveDataProvider('Photo'); + $this->render('index', array( + 'dataProvider' => $dataProvider, + )); + } + + /** + * Manages all models. + */ + public function actionAdmin() + { + $model = new Photo('search'); + $model->unsetAttributes(); // clear any default values + if (isset($_GET['Photo'])) + $model->attributes = $_GET['Photo']; + + $this->render('admin', array( + 'model' => $model, + )); + } + + public function actionJson() + { + $dataArray = Photo::model()->findAll(); + + $this->layout = false; + header('Content-type: application/json'); + echo CJavaScript::jsonEncode($dataArray); + Yii::app()->end(); + } + + /** + * 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 Photo the loaded model + * @throws CHttpException + */ + public function loadModel($id) + { + $model = Photo::model()->findByPk($id); + if ($model === null) + throw new CHttpException(404, 'The requested page does not exist.'); + return $model; + } + + /** + * Performs the AJAX validation. + * @param Photo $model the model to be validated + */ + protected function performAjaxValidation($model) + { + if (isset($_POST['ajax']) && $_POST['ajax'] === 'photo-form') + { + echo CActiveForm::validate($model); + Yii::app()->end(); + } + } + +} diff --git a/web/protected/controllers/SiteController.php b/web/protected/controllers/SiteController.php new file mode 100644 index 0000000..6fc251e --- /dev/null +++ b/web/protected/controllers/SiteController.php @@ -0,0 +1,152 @@ +array( + 'class'=>'CCaptchaAction', + 'backColor'=>0xFFFFFF, + ), + // page action renders "static" pages stored under 'protected/views/site/pages' + // They can be accessed via: index.php?r=site/page&view=FileName + 'page'=>array( + 'class'=>'CViewAction', + ), + ); + } + + /** + * This is the default 'index' action that is invoked + * when an action is not explicitly requested by users. + */ + public function actionIndex() + { + // renders the view file 'protected/views/site/index.php' + // using the default layout 'protected/views/layouts/main.php' + $this->render('index'); + } + + /** + * This is the action to handle external exceptions. + */ + public function actionError() + { + if($error=Yii::app()->errorHandler->error) + { + if(Yii::app()->request->isAjaxRequest) + echo $error['message']; + else + $this->render('error', $error); + } + } + + /** + * Displays the contact page + */ + public function actionContact() + { + $model=new ContactForm; + if(isset($_POST['ContactForm'])) + { + $model->attributes=$_POST['ContactForm']; + if($model->validate()) + { + $name='=?UTF-8?B?'.base64_encode($model->name).'?='; + $subject='=?UTF-8?B?'.base64_encode($model->subject).'?='; + $headers="From: $name <{$model->email}>\r\n". + "Reply-To: {$model->email}\r\n". + "MIME-Version: 1.0\r\n". + "Content-Type: text/plain; charset=UTF-8"; + + mail(Yii::app()->params['adminEmail'],$subject,$model->body,$headers); + Yii::app()->user->setFlash('contact','Thank you for contacting us. We will respond to you as soon as possible.'); + $this->refresh(); + } + } + $this->render('contact',array('model'=>$model)); + } + + /** + * Displays the login page + */ + public function actionLogin() + { + $model=new LoginForm; + + // if it is ajax validation request + if(isset($_POST['ajax']) && $_POST['ajax']==='login-form') + { + echo CActiveForm::validate($model); + Yii::app()->end(); + } + + // collect user input data + if(isset($_POST['LoginForm'])) + { + $model->attributes=$_POST['LoginForm']; + // validate user input and redirect to the previous page if valid + if($model->validate() && $model->login()) + $this->redirect(Yii::app()->user->returnUrl); + } + // display the login form + $this->render('login',array('model'=>$model)); + } + + + public function actionRegister() + { + $model = new User('register'); + + if (isset($_POST['User'])) + { + $model->attributes = $_POST['User']; + if ($model->validate()) + { + + $oldPassword = $model->password; + $model->password = $this->better_crypt($model->password); + + + date_default_timezone_set("UTC"); + $model->date = date('Y-m-d H:i:s'); + + if ($model->save()) + { + + //$this->redirect(Yii::app()->user->returnUrl); + $this->redirect(array("site/login")); + + return; + } + $model->password = $oldPassword; + } + } + $this->render('register', array('model' => $model)); + } + + /** + * Logs out the current user and redirect to homepage. + */ + public function actionLogout() + { + Yii::app()->user->logout(); + $this->redirect(Yii::app()->homeUrl); + } + + private function better_crypt($input) + { + $salt = ""; + $salt_chars = array_merge(range('A', 'Z'), range('a', 'z'), range(0, 9)); + for ($i = 0; $i < 22; $i++) + { + $salt .= $salt_chars[array_rand($salt_chars)]; + } + return crypt($input, '$2y$10$' . $salt); + } +} \ No newline at end of file diff --git a/web/protected/controllers/VideoChannelRelationController.php b/web/protected/controllers/VideoChannelRelationController.php new file mode 100644 index 0000000..6c7463d --- /dev/null +++ b/web/protected/controllers/VideoChannelRelationController.php @@ -0,0 +1,180 @@ + array('index', 'view', 'create', 'update', 'admin', 'delete'), + 'users' => array('@'), + ), + array('allow', + 'actions' => array('json'), + 'users' => array('*'), + ), + 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 VideoChannelRelation; + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if (isset($_POST['VideoChannelRelation'])) + { + $model->attributes = $_POST['VideoChannelRelation']; + 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['VideoChannelRelation'])) + { + $model->attributes = $_POST['VideoChannelRelation']; + 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) + { + $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')); + } + + /** + * Lists all models. + */ + public function actionIndex() + { + $dataProvider = new CActiveDataProvider('VideoChannelRelation'); + $this->render('index', array( + 'dataProvider' => $dataProvider, + )); + } + + /** + * Manages all models. + */ + public function actionAdmin() + { + $model = new VideoChannelRelation('search'); + $model->unsetAttributes(); // clear any default values + if (isset($_GET['VideoChannelRelation'])) + $model->attributes = $_GET['VideoChannelRelation']; + + $this->render('admin', array( + 'model' => $model, + )); + } + + public function actionJson() + { + $dataArray = VideoChannelRelation::model()->findAll(); + + $this->layout = false; + header('Content-type: application/json'); + echo CJavaScript::jsonEncode($dataArray); + Yii::app()->end(); + } + + /** + * 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 VideoChannelRelation the loaded model + * @throws CHttpException + */ + public function loadModel($id) + { + $model = VideoChannelRelation::model()->findByPk($id); + if ($model === null) + throw new CHttpException(404, 'The requested page does not exist.'); + return $model; + } + + /** + * Performs the AJAX validation. + * @param VideoChannelRelation $model the model to be validated + */ + protected function performAjaxValidation($model) + { + if (isset($_POST['ajax']) && $_POST['ajax'] === 'video-channel-relation-form') + { + echo CActiveForm::validate($model); + Yii::app()->end(); + } + } + +} diff --git a/web/protected/controllers/VideoController.php b/web/protected/controllers/VideoController.php new file mode 100644 index 0000000..10a720d --- /dev/null +++ b/web/protected/controllers/VideoController.php @@ -0,0 +1,183 @@ + array('index', 'view', 'create', 'update', 'admin', 'delete'), + 'users' => array('@'), + ), + array('allow', + 'actions' => array('json'), + 'users' => array('*'), + ), + 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 Video; + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if (isset($_POST['Video'])) + { + $model->attributes = $_POST['Video']; + + $model->previewImageHash = md5_file($model->previewImageUrl); + + 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['Video'])) + { + $model->attributes = $_POST['Video']; + 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) + { + $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')); + } + + /** + * Lists all models. + */ + public function actionIndex() + { + $dataProvider = new CActiveDataProvider('Video'); + $this->render('index', array( + 'dataProvider' => $dataProvider, + )); + } + + /** + * Manages all models. + */ + public function actionAdmin() + { + $model = new Video('search'); + $model->unsetAttributes(); // clear any default values + if (isset($_GET['Video'])) + $model->attributes = $_GET['Video']; + + $this->render('admin', array( + 'model' => $model, + )); + } + + public function actionJson() + { + $dataArray = Video::model()->findAll(); + + $this->layout = false; + header('Content-type: application/json'); + echo CJavaScript::jsonEncode($dataArray); + Yii::app()->end(); + } + + /** + * 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 Video the loaded model + * @throws CHttpException + */ + public function loadModel($id) + { + $model = Video::model()->findByPk($id); + if ($model === null) + throw new CHttpException(404, 'The requested page does not exist.'); + return $model; + } + + /** + * Performs the AJAX validation. + * @param Video $model the model to be validated + */ + protected function performAjaxValidation($model) + { + if (isset($_POST['ajax']) && $_POST['ajax'] === 'video-form') + { + echo CActiveForm::validate($model); + Yii::app()->end(); + } + } + +} diff --git a/web/protected/data/schema.mysql.sql b/web/protected/data/schema.mysql.sql new file mode 100644 index 0000000..32788bd --- /dev/null +++ b/web/protected/data/schema.mysql.sql @@ -0,0 +1,28 @@ +CREATE TABLE tbl_user ( + id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, + username VARCHAR(128) NOT NULL, + password VARCHAR(128) NOT NULL, + email VARCHAR(128) NOT NULL +); + +INSERT INTO tbl_user (username, password, email) VALUES ('test1', 'pass1', 'test1@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test2', 'pass2', 'test2@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test3', 'pass3', 'test3@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test4', 'pass4', 'test4@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test5', 'pass5', 'test5@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test6', 'pass6', 'test6@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test7', 'pass7', 'test7@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test8', 'pass8', 'test8@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test9', 'pass9', 'test9@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test10', 'pass10', 'test10@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test11', 'pass11', 'test11@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test12', 'pass12', 'test12@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test13', 'pass13', 'test13@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test14', 'pass14', 'test14@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test15', 'pass15', 'test15@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test16', 'pass16', 'test16@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test17', 'pass17', 'test17@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test18', 'pass18', 'test18@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test19', 'pass19', 'test19@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test20', 'pass20', 'test20@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test21', 'pass21', 'test21@example.com'); diff --git a/web/protected/data/schema.sqlite.sql b/web/protected/data/schema.sqlite.sql new file mode 100644 index 0000000..e5e0830 --- /dev/null +++ b/web/protected/data/schema.sqlite.sql @@ -0,0 +1,28 @@ +CREATE TABLE tbl_user ( + id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + username VARCHAR(128) NOT NULL, + password VARCHAR(128) NOT NULL, + email VARCHAR(128) NOT NULL +); + +INSERT INTO tbl_user (username, password, email) VALUES ('test1', 'pass1', 'test1@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test2', 'pass2', 'test2@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test3', 'pass3', 'test3@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test4', 'pass4', 'test4@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test5', 'pass5', 'test5@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test6', 'pass6', 'test6@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test7', 'pass7', 'test7@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test8', 'pass8', 'test8@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test9', 'pass9', 'test9@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test10', 'pass10', 'test10@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test11', 'pass11', 'test11@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test12', 'pass12', 'test12@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test13', 'pass13', 'test13@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test14', 'pass14', 'test14@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test15', 'pass15', 'test15@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test16', 'pass16', 'test16@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test17', 'pass17', 'test17@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test18', 'pass18', 'test18@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test19', 'pass19', 'test19@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test20', 'pass20', 'test20@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test21', 'pass21', 'test21@example.com'); diff --git a/web/protected/data/testdrive.db b/web/protected/data/testdrive.db new file mode 100644 index 0000000000000000000000000000000000000000..0672b2190b7e7af2a7b9e4416f4f01431c500986 GIT binary patch literal 3072 zcmeI!-)hrP9KiAOXWg`JPUmXbMd8PK)3TyH>A%#g#SygFWn0V!y|H9lghH}zO^Um9 z_!K^X;5+yRf)C(@&oF!flV8oBGlrL5j2@ciPe12`ercd@5Bj6Pf%oHyX9v(A3xra# z4L}Ha8gAJ^!;@%>NA@_rcI$p6yvo>5!fWB%e9Q~{mje52vADHG2Z4R;I{t+l{>+EI zb1`+!PHvv^9aGmV9W3o-UxypEa%Ou@Eu2~XctDqmr4qfG;+ny+JDmE?B;GS=mG~-D z@(_;EDfA3Wf2EsX>{(zO_WQ7J_I5RM0B`gGXouEb&j?r8)eWnLQ=+w_d&7}t?!4B_ zicr*QGJ9suZQuVeo}B*6IG#OnZwL8m^lTRBI^n=*&5fxVc9&bCBws-D2&rZf(c|ApSM0K1{&!WvI z5qchdAi5C}-Pv(wq0P0_sAyC)YQ~fwCpQxvG#xaZ?9IxLQq)G&M%0$jYKmHjT8LT_ zdYGanq9&rIgjQ12K-56gkkE396hsOlMM4i!guMm!7D7V#6k%_Hy@k{p?&nCch`lj4 z*6wDPfqRL-*w|W?#8M(KHI|k_!(t+^GiH`5LoN{*85>K9VIdJ%7z0avfhPj6Oe>WInuu9gjGz6s(eqFFZxX)dV_slh;LaCVro2Sse'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', + 'title' => 'Title', + 'description' => 'Description', + ); + } + + /** + * 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('title',$this->title,true); + $criteria->compare('description',$this->description,true); + + 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 Album the static model class + */ + public static function model($className=__CLASS__) + { + return parent::model($className); + } +} diff --git a/web/protected/models/AlbumArticleRelation.php b/web/protected/models/AlbumArticleRelation.php new file mode 100644 index 0000000..f3c5f4d --- /dev/null +++ b/web/protected/models/AlbumArticleRelation.php @@ -0,0 +1,96 @@ +'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', + 'albumName' => 'Album Name', + 'articleName' => 'Article Name', + ); + } + + /** + * 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('albumName',$this->albumName,true); + $criteria->compare('articleName',$this->articleName,true); + + 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 AlbumArticleRelation the static model class + */ + public static function model($className=__CLASS__) + { + return parent::model($className); + } +} diff --git a/web/protected/models/Article.php b/web/protected/models/Article.php new file mode 100644 index 0000000..749b419 --- /dev/null +++ b/web/protected/models/Article.php @@ -0,0 +1,117 @@ +true), + array('geoLat, geoLon', 'numerical'), + array('title, content, externalLink, dateTime', 'safe'), + // The following rule is used by search(). + // @todo Please remove those attributes that should not be searched. + array('id, name, type, title, content, geoLat, geoLon, externalLink, dateTime', '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', + 'type' => 'Type', + 'title' => 'Title', + 'content' => 'Content', + 'geoLat' => 'Geo Lat', + 'geoLon' => 'Geo Lon', + 'externalLink' => 'External Link', + 'dateTime' => 'Date Time', + ); + } + + /** + * 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('type',$this->type); + $criteria->compare('title',$this->title,true); + $criteria->compare('content',$this->content,true); + $criteria->compare('geoLat',$this->geoLat); + $criteria->compare('geoLon',$this->geoLon); + $criteria->compare('externalLink',$this->externalLink,true); + $criteria->compare('dateTime',$this->dateTime,true); + + 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 Article the static model class + */ + public static function model($className=__CLASS__) + { + return parent::model($className); + } +} diff --git a/web/protected/models/ArticleJournalRelation.php b/web/protected/models/ArticleJournalRelation.php new file mode 100644 index 0000000..00d49ed --- /dev/null +++ b/web/protected/models/ArticleJournalRelation.php @@ -0,0 +1,96 @@ +'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', + 'articleName' => 'Article Name', + 'journalName' => 'Journal Name', + ); + } + + /** + * 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('articleName',$this->articleName,true); + $criteria->compare('journalName',$this->journalName,true); + + 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 ArticleJournalRelation the static model class + */ + public static function model($className=__CLASS__) + { + return parent::model($className); + } +} diff --git a/web/protected/models/Channel.php b/web/protected/models/Channel.php new file mode 100644 index 0000000..11a0cc1 --- /dev/null +++ b/web/protected/models/Channel.php @@ -0,0 +1,100 @@ +'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', + 'title' => 'Title', + 'description' => 'Description', + ); + } + + /** + * 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('title',$this->title,true); + $criteria->compare('description',$this->description,true); + + 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 Channel the static model class + */ + public static function model($className=__CLASS__) + { + return parent::model($className); + } +} diff --git a/web/protected/models/ChannelArticleRelation.php b/web/protected/models/ChannelArticleRelation.php new file mode 100644 index 0000000..c432a4d --- /dev/null +++ b/web/protected/models/ChannelArticleRelation.php @@ -0,0 +1,96 @@ +'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', + 'channelName' => 'Channel Name', + 'articleName' => 'Article Name', + ); + } + + /** + * 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('channelName',$this->channelName,true); + $criteria->compare('articleName',$this->articleName,true); + + 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 ChannelArticleRelation the static model class + */ + public static function model($className=__CLASS__) + { + return parent::model($className); + } +} diff --git a/web/protected/models/ContactForm.php b/web/protected/models/ContactForm.php new file mode 100644 index 0000000..86541cb --- /dev/null +++ b/web/protected/models/ContactForm.php @@ -0,0 +1,42 @@ +!CCaptcha::checkRequirements()), + ); + } + + /** + * Declares customized attribute labels. + * If not declared here, an attribute would have a label that is + * the same as its name with the first letter in upper case. + */ + public function attributeLabels() + { + return array( + 'verifyCode'=>'Verification Code', + ); + } +} \ No newline at end of file diff --git a/web/protected/models/Journal.php b/web/protected/models/Journal.php new file mode 100644 index 0000000..fc38754 --- /dev/null +++ b/web/protected/models/Journal.php @@ -0,0 +1,100 @@ +'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', + 'title' => 'Title', + 'description' => 'Description', + ); + } + + /** + * 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('title',$this->title,true); + $criteria->compare('description',$this->description,true); + + 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 Journal the static model class + */ + public static function model($className=__CLASS__) + { + return parent::model($className); + } +} diff --git a/web/protected/models/LoginForm.php b/web/protected/models/LoginForm.php new file mode 100644 index 0000000..eb36e4a --- /dev/null +++ b/web/protected/models/LoginForm.php @@ -0,0 +1,77 @@ +'Remember me next time', + ); + } + + /** + * Authenticates the password. + * This is the 'authenticate' validator as declared in rules(). + */ + public function authenticate($attribute,$params) + { + if(!$this->hasErrors()) + { + $this->_identity=new UserIdentity($this->username,$this->password); + if(!$this->_identity->authenticate()) + $this->addError('password','Incorrect username or password.'); + } + } + + /** + * Logs in the user using the given username and password in the model. + * @return boolean whether login is successful + */ + public function login() + { + if($this->_identity===null) + { + $this->_identity=new UserIdentity($this->username,$this->password); + $this->_identity->authenticate(); + } + if($this->_identity->errorCode===UserIdentity::ERROR_NONE) + { + $duration=$this->rememberMe ? 3600*24*30 : 0; // 30 days + Yii::app()->user->login($this->_identity,$duration); + return true; + } + else + return false; + } +} diff --git a/web/protected/models/Photo.php b/web/protected/models/Photo.php new file mode 100644 index 0000000..6c970af --- /dev/null +++ b/web/protected/models/Photo.php @@ -0,0 +1,108 @@ +'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', + 'title' => 'Title', + 'description' => 'Description', + 'imageUrl' => 'Image Url', + 'geoLat' => 'Geo Lat', + 'geoLon' => 'Geo Lon', + ); + } + + /** + * 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('title',$this->title,true); + $criteria->compare('description',$this->description,true); + $criteria->compare('imageUrl',$this->imageUrl,true); + $criteria->compare('geoLat',$this->geoLat); + $criteria->compare('geoLon',$this->geoLon); + + 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 Photo the static model class + */ + public static function model($className=__CLASS__) + { + return parent::model($className); + } +} diff --git a/web/protected/models/PhotoAlbumRelation.php b/web/protected/models/PhotoAlbumRelation.php new file mode 100644 index 0000000..b58bbe1 --- /dev/null +++ b/web/protected/models/PhotoAlbumRelation.php @@ -0,0 +1,97 @@ +45), + // The following rule is used by search(). + // @todo Please remove those attributes that should not be searched. + array('id, imageUrl, name', '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', + 'imageUrl' => 'Image Url', + 'name' => 'Name', + ); + } + + /** + * 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('imageUrl',$this->imageUrl,true); + $criteria->compare('name',$this->name,true); + + 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 PhotoAlbumRelation the static model class + */ + public static function model($className=__CLASS__) + { + return parent::model($className); + } +} diff --git a/web/protected/models/User.php b/web/protected/models/User.php new file mode 100644 index 0000000..7b135c3 --- /dev/null +++ b/web/protected/models/User.php @@ -0,0 +1,49 @@ + '{attribute} ' . Yii::t('app', 'Field should not be blank')), + array('username, password, email', 'length', 'max' => 100, 'tooLong' => '{attribute} ' . Yii::t('app', 'Line is too long')), + array('email', 'email', 'message' => Yii::t('app', 'Email address is not correct')), + array('username, email', 'unique'), + array('verifyCode', 'captcha', 'allowEmpty' => false, 'message' => Yii::t('app', 'Confirmation code is not correct')), + ); + } + + public function unique($attribute, $params) + { + + if (!$this->hasErrors()) + { + $count = user::model()->count($attribute . '=:attribute', array('attribute' => $this->attributes[$attribute])); + if ($count != 0) + $this->addError($attribute, Yii::t('app', 'User {attribute} is already registered in system'), array('{attribute}' => $this->attributes[$attribute])); + } + } + + function attributeLabels() + { + return array( + 'username' => Yii::t('app', 'Username:'), + 'password' => Yii::t('app', 'Password:'), + 'email' => Yii::t('app', 'Email:'), + 'verifyCode' => Yii::t('app', 'Confirmation code:'), + ); + } + +} diff --git a/web/protected/models/Video.php b/web/protected/models/Video.php new file mode 100644 index 0000000..48ca4c1 --- /dev/null +++ b/web/protected/models/Video.php @@ -0,0 +1,108 @@ +true), + array('title, description', 'safe'), + // The following rule is used by search(). + // @todo Please remove those attributes that should not be searched. + array('id, type, videoUrl, title, description, previewImageUrl', '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', + 'type' => 'Type', + 'videoUrl' => 'Video Url', + 'title' => 'Title', + 'description' => 'Description', + 'previewImageUrl' => 'Preview Image Url', + ); + } + + /** + * 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('type',$this->type); + $criteria->compare('videoUrl',$this->videoUrl,true); + $criteria->compare('title',$this->title,true); + $criteria->compare('description',$this->description,true); + $criteria->compare('previewImageUrl',$this->previewImageUrl,true); + + 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 Video the static model class + */ + public static function model($className=__CLASS__) + { + return parent::model($className); + } +} diff --git a/web/protected/models/VideoChannelRelation.php b/web/protected/models/VideoChannelRelation.php new file mode 100644 index 0000000..8603318 --- /dev/null +++ b/web/protected/models/VideoChannelRelation.php @@ -0,0 +1,97 @@ +true), + // The following rule is used by search(). + // @todo Please remove those attributes that should not be searched. + array('id, videoUrl, name', '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', + 'videoUrl' => 'Video Url', + 'name' => 'Name', + ); + } + + /** + * 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('videoUrl',$this->videoUrl,true); + $criteria->compare('name',$this->name,true); + + 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 VideoChannelRelation the static model class + */ + public static function model($className=__CLASS__) + { + return parent::model($className); + } +} diff --git a/web/protected/runtime/application.log b/web/protected/runtime/application.log new file mode 100644 index 0000000..7df82b0 --- /dev/null +++ b/web/protected/runtime/application.log @@ -0,0 +1,138 @@ +2015/06/23 13:52:37 [error] [system.db.CDbCommand] CDbCommand::execute() failed: SQLSTATE[HY000]: General error: 1364 Field 'date' doesn't have a default value. The SQL statement executed was: INSERT INTO `tbl_user` (`level`, `username`, `password`, `email`) VALUES (:yp0, :yp1, :yp2, :yp3). +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\SiteController.php (115) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 13:52:37 [error] [exception.CDbException] exception 'CDbException' with message 'CDbCommand failed to execute the SQL statement: SQLSTATE[HY000]: General error: 1364 Field 'date' doesn't have a default value. The SQL statement executed was: INSERT INTO `tbl_user` (`level`, `username`, `password`, `email`) VALUES (:yp0, :yp1, :yp2, :yp3)' in C:\Workplace\yii1.1.15\framework\db\CDbCommand.php:358 +Stack trace: +#0 C:\Workplace\yii1.1.15\framework\db\ar\CActiveRecord.php(1077): CDbCommand->execute() +#1 C:\Workplace\yii1.1.15\framework\db\ar\CActiveRecord.php(806): CActiveRecord->insert(NULL) +#2 C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\SiteController.php(115): CActiveRecord->save() +#3 C:\Workplace\yii1.1.15\framework\web\actions\CInlineAction.php(49): SiteController->actionRegister() +#4 C:\Workplace\yii1.1.15\framework\web\CController.php(308): CInlineAction->runWithParams(Array) +#5 C:\Workplace\yii1.1.15\framework\web\CController.php(286): CController->runAction(Object(CInlineAction)) +#6 C:\Workplace\yii1.1.15\framework\web\CController.php(265): CController->runActionWithFilters(Object(CInlineAction), Array) +#7 C:\Workplace\yii1.1.15\framework\web\CWebApplication.php(282): CController->run('register') +#8 C:\Workplace\yii1.1.15\framework\web\CWebApplication.php(141): CWebApplication->runController('site/register') +#9 C:\Workplace\yii1.1.15\framework\base\CApplication.php(180): CWebApplication->processRequest() +#10 C:\Workplace\Apache2.4\htdocs\bashgid\index.php(13): CApplication->run() +#11 {main} +REQUEST_URI=/bashgid/index.php?r=site/register +HTTP_REFERER=http://localhost/bashgid/index.php?r=site/register +--- +2015/06/23 15:00:02 [warning] [application] Failed to set unsafe attribute "title" of "Photo". +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\PhotoController.php (67) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 15:00:02 [warning] [application] Failed to set unsafe attribute "description" of "Photo". +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\PhotoController.php (67) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 15:00:03 [error] [system.db.CDbCommand] CDbCommand::execute() failed: SQLSTATE[HY000]: General error: 1364 Field 'title' doesn't have a default value. The SQL statement executed was: INSERT INTO `table_photo` (`geoLat`, `geoLon`, `imageUrl`, `imageHash`) VALUES (:yp0, :yp1, :yp2, :yp3). +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\PhotoController.php (71) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 15:00:03 [error] [exception.CDbException] exception 'CDbException' with message 'CDbCommand failed to execute the SQL statement: SQLSTATE[HY000]: General error: 1364 Field 'title' doesn't have a default value. The SQL statement executed was: INSERT INTO `table_photo` (`geoLat`, `geoLon`, `imageUrl`, `imageHash`) VALUES (:yp0, :yp1, :yp2, :yp3)' in C:\Workplace\yii1.1.15\framework\db\CDbCommand.php:358 +Stack trace: +#0 C:\Workplace\yii1.1.15\framework\db\ar\CActiveRecord.php(1077): CDbCommand->execute() +#1 C:\Workplace\yii1.1.15\framework\db\ar\CActiveRecord.php(806): CActiveRecord->insert(NULL) +#2 C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\PhotoController.php(71): CActiveRecord->save() +#3 C:\Workplace\yii1.1.15\framework\web\actions\CInlineAction.php(49): PhotoController->actionCreate() +#4 C:\Workplace\yii1.1.15\framework\web\CController.php(308): CInlineAction->runWithParams(Array) +#5 C:\Workplace\yii1.1.15\framework\web\filters\CFilterChain.php(133): CController->runAction(Object(CInlineAction)) +#6 C:\Workplace\yii1.1.15\framework\web\filters\CFilter.php(40): CFilterChain->run() +#7 C:\Workplace\yii1.1.15\framework\web\CController.php(1145): CFilter->filter(Object(CFilterChain)) +#8 C:\Workplace\yii1.1.15\framework\web\filters\CInlineFilter.php(58): CController->filterAccessControl(Object(CFilterChain)) +#9 C:\Workplace\yii1.1.15\framework\web\filters\CFilterChain.php(130): CInlineFilter->filter(Object(CFilterChain)) +#10 C:\Workplace\yii1.1.15\framework\web\CController.php(291): CFilterChain->run() +#11 C:\Workplace\yii1.1.15\framework\web\CController.php(265): CController->runActionWithFilters(Object(CInlineAction), Array) +#12 C:\Workplace\yii1.1.15\framework\web\CWebApplication.php(282): CController->run('create') +#13 C:\Workplace\yii1.1.15\framework\web\CWebApplication.php(141): CWebApplication->runController('photo/create') +#14 C:\Workplace\yii1.1.15\framework\base\CApplication.php(180): CWebApplication->processRequest() +#15 C:\Workplace\Apache2.4\htdocs\bashgid\index.php(13): CApplication->run() +#16 {main} +REQUEST_URI=/bashgid/index.php?r=photo/create +HTTP_REFERER=http://localhost/bashgid/index.php?r=photo/create +--- +2015/06/23 15:02:57 [warning] [application] Failed to set unsafe attribute "title" of "Photo". +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\PhotoController.php (67) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 15:02:57 [warning] [application] Failed to set unsafe attribute "description" of "Photo". +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\PhotoController.php (67) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 15:10:41 [error] [exception.CHttpException.403] exception 'CHttpException' with message 'You are not authorized to perform this action.' in C:\Workplace\yii1.1.15\framework\web\auth\CAccessControlFilter.php:182 +Stack trace: +#0 C:\Workplace\yii1.1.15\framework\web\auth\CAccessControlFilter.php(145): CAccessControlFilter->accessDenied(Object(CWebUser), 'You are not aut...') +#1 C:\Workplace\yii1.1.15\framework\web\filters\CFilter.php(38): CAccessControlFilter->preFilter(Object(CFilterChain)) +#2 C:\Workplace\yii1.1.15\framework\web\CController.php(1145): CFilter->filter(Object(CFilterChain)) +#3 C:\Workplace\yii1.1.15\framework\web\filters\CInlineFilter.php(58): CController->filterAccessControl(Object(CFilterChain)) +#4 C:\Workplace\yii1.1.15\framework\web\filters\CFilterChain.php(130): CInlineFilter->filter(Object(CFilterChain)) +#5 C:\Workplace\yii1.1.15\framework\web\CController.php(291): CFilterChain->run() +#6 C:\Workplace\yii1.1.15\framework\web\CController.php(265): CController->runActionWithFilters(Object(CInlineAction), Array) +#7 C:\Workplace\yii1.1.15\framework\web\CWebApplication.php(282): CController->run('admin') +#8 C:\Workplace\yii1.1.15\framework\web\CWebApplication.php(141): CWebApplication->runController('video/admin') +#9 C:\Workplace\yii1.1.15\framework\base\CApplication.php(180): CWebApplication->processRequest() +#10 C:\Workplace\Apache2.4\htdocs\bashgid\index.php(13): CApplication->run() +#11 {main} +REQUEST_URI=/bashgid/index.php?r=video/admin +HTTP_REFERER=http://localhost/bashgid/index.php?r=site/index +--- +2015/06/23 15:17:31 [warning] [application] Failed to set unsafe attribute "title" of "Video". +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\VideoController.php (64) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 15:17:31 [warning] [application] Failed to set unsafe attribute "description" of "Video". +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\VideoController.php (64) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 15:17:49 [warning] [application] Failed to set unsafe attribute "title" of "Video". +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\VideoController.php (91) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 15:17:49 [warning] [application] Failed to set unsafe attribute "description" of "Video". +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\VideoController.php (91) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 15:19:51 [warning] [application] Failed to set unsafe attribute "title" of "Video". +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\VideoController.php (64) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 15:19:51 [warning] [application] Failed to set unsafe attribute "description" of "Video". +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\VideoController.php (64) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 15:22:49 [warning] [application] Failed to set unsafe attribute "title" of "Video". +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\VideoController.php (91) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 15:22:49 [warning] [application] Failed to set unsafe attribute "description" of "Video". +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\VideoController.php (91) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 15:23:10 [warning] [application] Failed to set unsafe attribute "title" of "Video". +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\VideoController.php (91) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 15:23:10 [warning] [application] Failed to set unsafe attribute "description" of "Video". +in C:\Workplace\Apache2.4\htdocs\bashgid\protected\controllers\VideoController.php (91) +in C:\Workplace\Apache2.4\htdocs\bashgid\index.php (13) +2015/06/23 15:23:38 [error] [exception.CHttpException.404] exception 'CHttpException' with message 'Unable to resolve the request "пшш".' in C:\Workplace\yii1.1.15\framework\web\CWebApplication.php:286 +Stack trace: +#0 C:\Workplace\yii1.1.15\framework\web\CWebApplication.php(141): CWebApplication->runController('\xD0\xBF\xD1\x88\xD1\x88') +#1 C:\Workplace\yii1.1.15\framework\base\CApplication.php(180): CWebApplication->processRequest() +#2 C:\Workplace\Apache2.4\htdocs\bashgid\index.php(13): CApplication->run() +#3 {main} +REQUEST_URI=/bashgid/index.php?r=%D0%BF%D1%88%D1%88 +--- +2015/06/23 16:08:52 [error] [exception.CHttpException.403] exception 'CHttpException' with message 'You are not authorized to perform this action.' in C:\Workplace\yii1.1.15\framework\web\auth\CAccessControlFilter.php:182 +Stack trace: +#0 C:\Workplace\yii1.1.15\framework\web\auth\CAccessControlFilter.php(145): CAccessControlFilter->accessDenied(Object(CWebUser), 'You are not aut...') +#1 C:\Workplace\yii1.1.15\framework\web\filters\CFilter.php(38): CAccessControlFilter->preFilter(Object(CFilterChain)) +#2 C:\Workplace\yii1.1.15\framework\web\CController.php(1145): CFilter->filter(Object(CFilterChain)) +#3 C:\Workplace\yii1.1.15\framework\web\filters\CInlineFilter.php(58): CController->filterAccessControl(Object(CFilterChain)) +#4 C:\Workplace\yii1.1.15\framework\web\filters\CFilterChain.php(130): CInlineFilter->filter(Object(CFilterChain)) +#5 C:\Workplace\yii1.1.15\framework\web\CController.php(291): CFilterChain->run() +#6 C:\Workplace\yii1.1.15\framework\web\CController.php(265): CController->runActionWithFilters(Object(CInlineAction), Array) +#7 C:\Workplace\yii1.1.15\framework\web\CWebApplication.php(282): CController->run('json') +#8 C:\Workplace\yii1.1.15\framework\web\CWebApplication.php(141): CWebApplication->runController('photo/json') +#9 C:\Workplace\yii1.1.15\framework\base\CApplication.php(180): CWebApplication->processRequest() +#10 C:\Workplace\Apache2.4\htdocs\bashgid\index.php(13): CApplication->run() +#11 {main} +REQUEST_URI=/bashgid/index.php?r=photo/json +--- +2015/06/23 16:37:01 [error] [exception.CHttpException.404] exception 'CHttpException' with message 'The system is unable to find the requested action "оыщт".' in C:\Workplace\yii1.1.15\framework\web\CController.php:483 +Stack trace: +#0 C:\Workplace\yii1.1.15\framework\web\CController.php(270): CController->missingAction('\xD0\xBE\xD1\x8B\xD1\x89\xD1\x82') +#1 C:\Workplace\yii1.1.15\framework\web\CWebApplication.php(282): CController->run('\xD0\xBE\xD1\x8B\xD1\x89\xD1\x82') +#2 C:\Workplace\yii1.1.15\framework\web\CWebApplication.php(141): CWebApplication->runController('article/\xD0\xBE\xD1\x8B\xD1\x89\xD1...') +#3 C:\Workplace\yii1.1.15\framework\base\CApplication.php(180): CWebApplication->processRequest() +#4 C:\Workplace\Apache2.4\htdocs\bashgid\index.php(13): CApplication->run() +#5 {main} +REQUEST_URI=/bashgid/index.php?r=article/%D0%BE%D1%8B%D1%89%D1%82 +--- diff --git a/web/protected/runtime/gii-1.1.15/CrudCode.php b/web/protected/runtime/gii-1.1.15/CrudCode.php new file mode 100644 index 0000000..20e6de0 --- /dev/null +++ b/web/protected/runtime/gii-1.1.15/CrudCode.php @@ -0,0 +1,5 @@ + 'default', + 'baseControllerClass' => 'Controller', +); diff --git a/web/protected/runtime/gii-1.1.15/ModelCode.php b/web/protected/runtime/gii-1.1.15/ModelCode.php new file mode 100644 index 0000000..6c7e0e3 --- /dev/null +++ b/web/protected/runtime/gii-1.1.15/ModelCode.php @@ -0,0 +1,10 @@ + 'default', + 'connectionId' => 'db', + 'tablePrefix' => '', + 'modelPath' => 'application.models', + 'baseClass' => 'CActiveRecord', + 'buildRelations' => '1', + 'commentsAsLabels' => '0', +); diff --git a/web/protected/tests/WebTestCase.php b/web/protected/tests/WebTestCase.php new file mode 100644 index 0000000..d252bba --- /dev/null +++ b/web/protected/tests/WebTestCase.php @@ -0,0 +1,25 @@ +setBrowserUrl(TEST_BASE_URL); + } +} diff --git a/web/protected/tests/bootstrap.php b/web/protected/tests/bootstrap.php new file mode 100644 index 0000000..77361e9 --- /dev/null +++ b/web/protected/tests/bootstrap.php @@ -0,0 +1,10 @@ +open(''); + $this->assertTextPresent('Welcome'); + } + + public function testContact() + { + $this->open('?r=site/contact'); + $this->assertTextPresent('Contact Us'); + $this->assertElementPresent('name=ContactForm[name]'); + + $this->type('name=ContactForm[name]','tester'); + $this->type('name=ContactForm[email]','tester@example.com'); + $this->type('name=ContactForm[subject]','test subject'); + $this->click("//input[@value='Submit']"); + $this->waitForTextPresent('Body cannot be blank.'); + } + + public function testLoginLogout() + { + $this->open(''); + // ensure the user is logged out + if($this->isTextPresent('Logout')) + $this->clickAndWait('link=Logout (demo)'); + + // test login process, including validation + $this->clickAndWait('link=Login'); + $this->assertElementPresent('name=LoginForm[username]'); + $this->type('name=LoginForm[username]','demo'); + $this->click("//input[@value='Login']"); + $this->waitForTextPresent('Password cannot be blank.'); + $this->type('name=LoginForm[password]','demo'); + $this->clickAndWait("//input[@value='Login']"); + $this->assertTextNotPresent('Password cannot be blank.'); + $this->assertTextPresent('Logout'); + + // test logout process + $this->assertTextNotPresent('Login'); + $this->clickAndWait('link=Logout (demo)'); + $this->assertTextPresent('Login'); + } +} diff --git a/web/protected/tests/phpunit.xml b/web/protected/tests/phpunit.xml new file mode 100644 index 0000000..22c96ff --- /dev/null +++ b/web/protected/tests/phpunit.xml @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/web/protected/views/album/_form.php b/web/protected/views/album/_form.php new file mode 100644 index 0000000..b158efc --- /dev/null +++ b/web/protected/views/album/_form.php @@ -0,0 +1,46 @@ + + +
+ +beginWidget('CActiveForm', array( + 'id'=>'album-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, +)); ?> + +

Fields with * are required.

+ + errorSummary($model); ?> + +
+ labelEx($model,'name'); ?> + textArea($model,'name',array('rows'=>6, 'cols'=>50)); ?> + error($model,'name'); ?> +
+ +
+ labelEx($model,'title'); ?> + textArea($model,'title',array('rows'=>6, 'cols'=>50)); ?> + error($model,'title'); ?> +
+ +
+ labelEx($model,'description'); ?> + textArea($model,'description',array('rows'=>6, 'cols'=>50)); ?> + error($model,'description'); ?> +
+ +
+ isNewRecord ? 'Create' : 'Save'); ?> +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/album/_search.php b/web/protected/views/album/_search.php new file mode 100644 index 0000000..feb7e59 --- /dev/null +++ b/web/protected/views/album/_search.php @@ -0,0 +1,40 @@ + + +
+ +beginWidget('CActiveForm', array( + 'action'=>Yii::app()->createUrl($this->route), + 'method'=>'get', +)); ?> + +
+ label($model,'id'); ?> + textField($model,'id'); ?> +
+ +
+ label($model,'name'); ?> + textArea($model,'name',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'title'); ?> + textArea($model,'title',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'description'); ?> + textArea($model,'description',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/album/_view.php b/web/protected/views/album/_view.php new file mode 100644 index 0000000..ef3d2bb --- /dev/null +++ b/web/protected/views/album/_view.php @@ -0,0 +1,25 @@ + + +
+ + getAttributeLabel('id')); ?>: + id), array('view', 'id'=>$data->id)); ?> +
+ + getAttributeLabel('name')); ?>: + name); ?> +
+ + getAttributeLabel('title')); ?>: + title); ?> +
+ + getAttributeLabel('description')); ?>: + description); ?> +
+ + +
\ No newline at end of file diff --git a/web/protected/views/album/admin.php b/web/protected/views/album/admin.php new file mode 100644 index 0000000..a6ba461 --- /dev/null +++ b/web/protected/views/album/admin.php @@ -0,0 +1,56 @@ +breadcrumbs=array( + 'Albums'=>array('index'), + 'Manage', +); + +$this->menu=array( + array('label'=>'List Album', 'url'=>array('index')), + array('label'=>'Create Album', 'url'=>array('create')), +); + +Yii::app()->clientScript->registerScript('search', " +$('.search-button').click(function(){ + $('.search-form').toggle(); + return false; +}); +$('.search-form form').submit(function(){ + $('#album-grid').yiiGridView('update', { + data: $(this).serialize() + }); + return false; +}); +"); +?> + +

Manage Albums

+ +

+You may optionally enter a comparison operator (<, <=, >, >=, <> +or =) at the beginning of each of your search values to specify how the comparison should be done. +

+ +'search-button')); ?> + + +widget('zii.widgets.grid.CGridView', array( + 'id'=>'album-grid', + 'dataProvider'=>$model->search(), + 'filter'=>$model, + 'columns'=>array( + 'id', + 'name', + 'title', + 'description', + array( + 'class'=>'CButtonColumn', + ), + ), +)); ?> diff --git a/web/protected/views/album/create.php b/web/protected/views/album/create.php new file mode 100644 index 0000000..2f36891 --- /dev/null +++ b/web/protected/views/album/create.php @@ -0,0 +1,18 @@ +breadcrumbs=array( + 'Albums'=>array('index'), + 'Create', +); + +$this->menu=array( + array('label'=>'List Album', 'url'=>array('index')), + array('label'=>'Manage Album', 'url'=>array('admin')), +); +?> + +

Create Album

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/album/index.php b/web/protected/views/album/index.php new file mode 100644 index 0000000..51b5357 --- /dev/null +++ b/web/protected/views/album/index.php @@ -0,0 +1,20 @@ +breadcrumbs=array( + 'Albums', +); + +$this->menu=array( + array('label'=>'Create Album', 'url'=>array('create')), + array('label'=>'Manage Album', 'url'=>array('admin')), +); +?> + +

Albums

+ +widget('zii.widgets.CListView', array( + 'dataProvider'=>$dataProvider, + 'itemView'=>'_view', +)); ?> diff --git a/web/protected/views/album/update.php b/web/protected/views/album/update.php new file mode 100644 index 0000000..cb0a13b --- /dev/null +++ b/web/protected/views/album/update.php @@ -0,0 +1,21 @@ +breadcrumbs=array( + 'Albums'=>array('index'), + $model->name=>array('view','id'=>$model->id), + 'Update', +); + +$this->menu=array( + array('label'=>'List Album', 'url'=>array('index')), + array('label'=>'Create Album', 'url'=>array('create')), + array('label'=>'View Album', 'url'=>array('view', 'id'=>$model->id)), + array('label'=>'Manage Album', 'url'=>array('admin')), +); +?> + +

Update Album id; ?>

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/album/view.php b/web/protected/views/album/view.php new file mode 100644 index 0000000..c9f973e --- /dev/null +++ b/web/protected/views/album/view.php @@ -0,0 +1,29 @@ +breadcrumbs=array( + 'Albums'=>array('index'), + $model->name, +); + +$this->menu=array( + array('label'=>'List Album', 'url'=>array('index')), + array('label'=>'Create Album', 'url'=>array('create')), + array('label'=>'Update Album', 'url'=>array('update', 'id'=>$model->id)), + array('label'=>'Delete Album', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model->id),'confirm'=>'Are you sure you want to delete this item?')), + array('label'=>'Manage Album', 'url'=>array('admin')), +); +?> + +

View Album #id; ?>

+ +widget('zii.widgets.CDetailView', array( + 'data'=>$model, + 'attributes'=>array( + 'id', + 'name', + 'title', + 'description', + ), +)); ?> diff --git a/web/protected/views/albumArticleRelation/_form.php b/web/protected/views/albumArticleRelation/_form.php new file mode 100644 index 0000000..8601f50 --- /dev/null +++ b/web/protected/views/albumArticleRelation/_form.php @@ -0,0 +1,40 @@ + + +
+ +beginWidget('CActiveForm', array( + 'id'=>'album-article-relation-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, +)); ?> + +

Fields with * are required.

+ + errorSummary($model); ?> + +
+ labelEx($model,'albumName'); ?> + textArea($model,'albumName',array('rows'=>6, 'cols'=>50)); ?> + error($model,'albumName'); ?> +
+ +
+ labelEx($model,'articleName'); ?> + textArea($model,'articleName',array('rows'=>6, 'cols'=>50)); ?> + error($model,'articleName'); ?> +
+ +
+ isNewRecord ? 'Create' : 'Save'); ?> +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/albumArticleRelation/_search.php b/web/protected/views/albumArticleRelation/_search.php new file mode 100644 index 0000000..55cbdf8 --- /dev/null +++ b/web/protected/views/albumArticleRelation/_search.php @@ -0,0 +1,35 @@ + + +
+ +beginWidget('CActiveForm', array( + 'action'=>Yii::app()->createUrl($this->route), + 'method'=>'get', +)); ?> + +
+ label($model,'id'); ?> + textField($model,'id'); ?> +
+ +
+ label($model,'albumName'); ?> + textArea($model,'albumName',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'articleName'); ?> + textArea($model,'articleName',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/albumArticleRelation/_view.php b/web/protected/views/albumArticleRelation/_view.php new file mode 100644 index 0000000..15df923 --- /dev/null +++ b/web/protected/views/albumArticleRelation/_view.php @@ -0,0 +1,21 @@ + + +
+ + getAttributeLabel('id')); ?>: + id), array('view', 'id'=>$data->id)); ?> +
+ + getAttributeLabel('albumName')); ?>: + albumName); ?> +
+ + getAttributeLabel('articleName')); ?>: + articleName); ?> +
+ + +
\ No newline at end of file diff --git a/web/protected/views/albumArticleRelation/admin.php b/web/protected/views/albumArticleRelation/admin.php new file mode 100644 index 0000000..f8beff5 --- /dev/null +++ b/web/protected/views/albumArticleRelation/admin.php @@ -0,0 +1,55 @@ +breadcrumbs=array( + 'Album Article Relations'=>array('index'), + 'Manage', +); + +$this->menu=array( + array('label'=>'List AlbumArticleRelation', 'url'=>array('index')), + array('label'=>'Create AlbumArticleRelation', 'url'=>array('create')), +); + +Yii::app()->clientScript->registerScript('search', " +$('.search-button').click(function(){ + $('.search-form').toggle(); + return false; +}); +$('.search-form form').submit(function(){ + $('#album-article-relation-grid').yiiGridView('update', { + data: $(this).serialize() + }); + return false; +}); +"); +?> + +

Manage Album Article Relations

+ +

+You may optionally enter a comparison operator (<, <=, >, >=, <> +or =) at the beginning of each of your search values to specify how the comparison should be done. +

+ +'search-button')); ?> + + +widget('zii.widgets.grid.CGridView', array( + 'id'=>'album-article-relation-grid', + 'dataProvider'=>$model->search(), + 'filter'=>$model, + 'columns'=>array( + 'id', + 'albumName', + 'articleName', + array( + 'class'=>'CButtonColumn', + ), + ), +)); ?> diff --git a/web/protected/views/albumArticleRelation/create.php b/web/protected/views/albumArticleRelation/create.php new file mode 100644 index 0000000..20b0c43 --- /dev/null +++ b/web/protected/views/albumArticleRelation/create.php @@ -0,0 +1,18 @@ +breadcrumbs=array( + 'Album Article Relations'=>array('index'), + 'Create', +); + +$this->menu=array( + array('label'=>'List AlbumArticleRelation', 'url'=>array('index')), + array('label'=>'Manage AlbumArticleRelation', 'url'=>array('admin')), +); +?> + +

Create AlbumArticleRelation

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/albumArticleRelation/index.php b/web/protected/views/albumArticleRelation/index.php new file mode 100644 index 0000000..0168bc4 --- /dev/null +++ b/web/protected/views/albumArticleRelation/index.php @@ -0,0 +1,20 @@ +breadcrumbs=array( + 'Album Article Relations', +); + +$this->menu=array( + array('label'=>'Create AlbumArticleRelation', 'url'=>array('create')), + array('label'=>'Manage AlbumArticleRelation', 'url'=>array('admin')), +); +?> + +

Album Article Relations

+ +widget('zii.widgets.CListView', array( + 'dataProvider'=>$dataProvider, + 'itemView'=>'_view', +)); ?> diff --git a/web/protected/views/albumArticleRelation/update.php b/web/protected/views/albumArticleRelation/update.php new file mode 100644 index 0000000..1e1d5a8 --- /dev/null +++ b/web/protected/views/albumArticleRelation/update.php @@ -0,0 +1,21 @@ +breadcrumbs=array( + 'Album Article Relations'=>array('index'), + $model->id=>array('view','id'=>$model->id), + 'Update', +); + +$this->menu=array( + array('label'=>'List AlbumArticleRelation', 'url'=>array('index')), + array('label'=>'Create AlbumArticleRelation', 'url'=>array('create')), + array('label'=>'View AlbumArticleRelation', 'url'=>array('view', 'id'=>$model->id)), + array('label'=>'Manage AlbumArticleRelation', 'url'=>array('admin')), +); +?> + +

Update AlbumArticleRelation id; ?>

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/albumArticleRelation/view.php b/web/protected/views/albumArticleRelation/view.php new file mode 100644 index 0000000..bc5d257 --- /dev/null +++ b/web/protected/views/albumArticleRelation/view.php @@ -0,0 +1,28 @@ +breadcrumbs=array( + 'Album Article Relations'=>array('index'), + $model->id, +); + +$this->menu=array( + array('label'=>'List AlbumArticleRelation', 'url'=>array('index')), + array('label'=>'Create AlbumArticleRelation', 'url'=>array('create')), + array('label'=>'Update AlbumArticleRelation', 'url'=>array('update', 'id'=>$model->id)), + array('label'=>'Delete AlbumArticleRelation', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model->id),'confirm'=>'Are you sure you want to delete this item?')), + array('label'=>'Manage AlbumArticleRelation', 'url'=>array('admin')), +); +?> + +

View AlbumArticleRelation #id; ?>

+ +widget('zii.widgets.CDetailView', array( + 'data'=>$model, + 'attributes'=>array( + 'id', + 'albumName', + 'articleName', + ), +)); ?> diff --git a/web/protected/views/article/_form.php b/web/protected/views/article/_form.php new file mode 100644 index 0000000..3d8d344 --- /dev/null +++ b/web/protected/views/article/_form.php @@ -0,0 +1,70 @@ + + +
+ +beginWidget('CActiveForm', array( + 'id'=>'article-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, +)); ?> + +

Fields with * are required.

+ + errorSummary($model); ?> + +
+ labelEx($model,'name'); ?> + textArea($model,'name',array('rows'=>6, 'cols'=>50)); ?> + error($model,'name'); ?> +
+ +
+ labelEx($model,'type'); ?> + textField($model,'type'); ?> + error($model,'type'); ?> +
+ +
+ labelEx($model,'title'); ?> + textArea($model,'title',array('rows'=>6, 'cols'=>50)); ?> + error($model,'title'); ?> +
+ +
+ labelEx($model,'content'); ?> + textArea($model,'content',array('rows'=>6, 'cols'=>50)); ?> + error($model,'content'); ?> +
+ +
+ labelEx($model,'geoLat'); ?> + textField($model,'geoLat'); ?> + error($model,'geoLat'); ?> +
+ +
+ labelEx($model,'geoLon'); ?> + textField($model,'geoLon'); ?> + error($model,'geoLon'); ?> +
+ +
+ labelEx($model,'externalLink'); ?> + textArea($model,'externalLink',array('rows'=>6, 'cols'=>50)); ?> + error($model,'externalLink'); ?> +
+ +
+ isNewRecord ? 'Create' : 'Save'); ?> +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/article/_search.php b/web/protected/views/article/_search.php new file mode 100644 index 0000000..643b81e --- /dev/null +++ b/web/protected/views/article/_search.php @@ -0,0 +1,65 @@ + + +
+ +beginWidget('CActiveForm', array( + 'action'=>Yii::app()->createUrl($this->route), + 'method'=>'get', +)); ?> + +
+ label($model,'id'); ?> + textField($model,'id'); ?> +
+ +
+ label($model,'name'); ?> + textArea($model,'name',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'type'); ?> + textField($model,'type'); ?> +
+ +
+ label($model,'title'); ?> + textArea($model,'title',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'content'); ?> + textArea($model,'content',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'geoLat'); ?> + textField($model,'geoLat'); ?> +
+ +
+ label($model,'geoLon'); ?> + textField($model,'geoLon'); ?> +
+ +
+ label($model,'externalLink'); ?> + textArea($model,'externalLink',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'dateTime'); ?> + textField($model,'dateTime'); ?> +
+ +
+ +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/article/_view.php b/web/protected/views/article/_view.php new file mode 100644 index 0000000..3b92b4f --- /dev/null +++ b/web/protected/views/article/_view.php @@ -0,0 +1,47 @@ + + +
+ + getAttributeLabel('id')); ?>: + id), array('view', 'id'=>$data->id)); ?> +
+ + getAttributeLabel('name')); ?>: + name); ?> +
+ + getAttributeLabel('type')); ?>: + type); ?> +
+ + getAttributeLabel('title')); ?>: + title); ?> +
+ + getAttributeLabel('content')); ?>: + content); ?> +
+ + getAttributeLabel('geoLat')); ?>: + geoLat); ?> +
+ + getAttributeLabel('geoLon')); ?>: + geoLon); ?> +
+ + getAttributeLabel('externalLink')); ?>: + externalLink); ?> +
+ + getAttributeLabel('dateTime')); ?>: + dateTime); ?> +
+ + */ ?> + +
\ No newline at end of file diff --git a/web/protected/views/article/admin.php b/web/protected/views/article/admin.php new file mode 100644 index 0000000..8c81aef --- /dev/null +++ b/web/protected/views/article/admin.php @@ -0,0 +1,63 @@ +breadcrumbs=array( + 'Articles'=>array('index'), + 'Manage', +); + +$this->menu=array( + array('label'=>'List Article', 'url'=>array('index')), + array('label'=>'Create Article', 'url'=>array('create')), +); + +Yii::app()->clientScript->registerScript('search', " +$('.search-button').click(function(){ + $('.search-form').toggle(); + return false; +}); +$('.search-form form').submit(function(){ + $('#article-grid').yiiGridView('update', { + data: $(this).serialize() + }); + return false; +}); +"); +?> + +

Manage Articles

+ +

+You may optionally enter a comparison operator (<, <=, >, >=, <> +or =) at the beginning of each of your search values to specify how the comparison should be done. +

+ +'search-button')); ?> + + +widget('zii.widgets.grid.CGridView', array( + 'id'=>'article-grid', + 'dataProvider'=>$model->search(), + 'filter'=>$model, + 'columns'=>array( + 'id', + 'name', + 'type', + 'title', + 'content', + 'geoLat', + /* + 'geoLon', + 'externalLink', + 'dateTime', + */ + array( + 'class'=>'CButtonColumn', + ), + ), +)); ?> diff --git a/web/protected/views/article/create.php b/web/protected/views/article/create.php new file mode 100644 index 0000000..8bb9a90 --- /dev/null +++ b/web/protected/views/article/create.php @@ -0,0 +1,18 @@ +breadcrumbs=array( + 'Articles'=>array('index'), + 'Create', +); + +$this->menu=array( + array('label'=>'List Article', 'url'=>array('index')), + array('label'=>'Manage Article', 'url'=>array('admin')), +); +?> + +

Create Article

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/article/index.php b/web/protected/views/article/index.php new file mode 100644 index 0000000..b73601b --- /dev/null +++ b/web/protected/views/article/index.php @@ -0,0 +1,20 @@ +breadcrumbs=array( + 'Articles', +); + +$this->menu=array( + array('label'=>'Create Article', 'url'=>array('create')), + array('label'=>'Manage Article', 'url'=>array('admin')), +); +?> + +

Articles

+ +widget('zii.widgets.CListView', array( + 'dataProvider'=>$dataProvider, + 'itemView'=>'_view', +)); ?> diff --git a/web/protected/views/article/update.php b/web/protected/views/article/update.php new file mode 100644 index 0000000..1a30294 --- /dev/null +++ b/web/protected/views/article/update.php @@ -0,0 +1,21 @@ +breadcrumbs=array( + 'Articles'=>array('index'), + $model->name=>array('view','id'=>$model->id), + 'Update', +); + +$this->menu=array( + array('label'=>'List Article', 'url'=>array('index')), + array('label'=>'Create Article', 'url'=>array('create')), + array('label'=>'View Article', 'url'=>array('view', 'id'=>$model->id)), + array('label'=>'Manage Article', 'url'=>array('admin')), +); +?> + +

Update Article id; ?>

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/article/view.php b/web/protected/views/article/view.php new file mode 100644 index 0000000..111d49f --- /dev/null +++ b/web/protected/views/article/view.php @@ -0,0 +1,34 @@ +breadcrumbs=array( + 'Articles'=>array('index'), + $model->name, +); + +$this->menu=array( + array('label'=>'List Article', 'url'=>array('index')), + array('label'=>'Create Article', 'url'=>array('create')), + array('label'=>'Update Article', 'url'=>array('update', 'id'=>$model->id)), + array('label'=>'Delete Article', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model->id),'confirm'=>'Are you sure you want to delete this item?')), + array('label'=>'Manage Article', 'url'=>array('admin')), +); +?> + +

View Article #id; ?>

+ +widget('zii.widgets.CDetailView', array( + 'data'=>$model, + 'attributes'=>array( + 'id', + 'name', + 'type', + 'title', + 'content', + 'geoLat', + 'geoLon', + 'externalLink', + 'dateTime', + ), +)); ?> diff --git a/web/protected/views/articleJournalRelation/_form.php b/web/protected/views/articleJournalRelation/_form.php new file mode 100644 index 0000000..9fa6e0e --- /dev/null +++ b/web/protected/views/articleJournalRelation/_form.php @@ -0,0 +1,40 @@ + + +
+ +beginWidget('CActiveForm', array( + 'id'=>'article-journal-relation-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, +)); ?> + +

Fields with * are required.

+ + errorSummary($model); ?> + +
+ labelEx($model,'articleName'); ?> + textArea($model,'articleName',array('rows'=>6, 'cols'=>50)); ?> + error($model,'articleName'); ?> +
+ +
+ labelEx($model,'journalName'); ?> + textArea($model,'journalName',array('rows'=>6, 'cols'=>50)); ?> + error($model,'journalName'); ?> +
+ +
+ isNewRecord ? 'Create' : 'Save'); ?> +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/articleJournalRelation/_search.php b/web/protected/views/articleJournalRelation/_search.php new file mode 100644 index 0000000..9ff7eaa --- /dev/null +++ b/web/protected/views/articleJournalRelation/_search.php @@ -0,0 +1,35 @@ + + +
+ +beginWidget('CActiveForm', array( + 'action'=>Yii::app()->createUrl($this->route), + 'method'=>'get', +)); ?> + +
+ label($model,'id'); ?> + textField($model,'id'); ?> +
+ +
+ label($model,'articleName'); ?> + textArea($model,'articleName',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'journalName'); ?> + textArea($model,'journalName',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/articleJournalRelation/_view.php b/web/protected/views/articleJournalRelation/_view.php new file mode 100644 index 0000000..e65da6e --- /dev/null +++ b/web/protected/views/articleJournalRelation/_view.php @@ -0,0 +1,21 @@ + + +
+ + getAttributeLabel('id')); ?>: + id), array('view', 'id'=>$data->id)); ?> +
+ + getAttributeLabel('articleName')); ?>: + articleName); ?> +
+ + getAttributeLabel('journalName')); ?>: + journalName); ?> +
+ + +
\ No newline at end of file diff --git a/web/protected/views/articleJournalRelation/admin.php b/web/protected/views/articleJournalRelation/admin.php new file mode 100644 index 0000000..5c45e05 --- /dev/null +++ b/web/protected/views/articleJournalRelation/admin.php @@ -0,0 +1,55 @@ +breadcrumbs=array( + 'Article Journal Relations'=>array('index'), + 'Manage', +); + +$this->menu=array( + array('label'=>'List ArticleJournalRelation', 'url'=>array('index')), + array('label'=>'Create ArticleJournalRelation', 'url'=>array('create')), +); + +Yii::app()->clientScript->registerScript('search', " +$('.search-button').click(function(){ + $('.search-form').toggle(); + return false; +}); +$('.search-form form').submit(function(){ + $('#article-journal-relation-grid').yiiGridView('update', { + data: $(this).serialize() + }); + return false; +}); +"); +?> + +

Manage Article Journal Relations

+ +

+You may optionally enter a comparison operator (<, <=, >, >=, <> +or =) at the beginning of each of your search values to specify how the comparison should be done. +

+ +'search-button')); ?> + + +widget('zii.widgets.grid.CGridView', array( + 'id'=>'article-journal-relation-grid', + 'dataProvider'=>$model->search(), + 'filter'=>$model, + 'columns'=>array( + 'id', + 'articleName', + 'journalName', + array( + 'class'=>'CButtonColumn', + ), + ), +)); ?> diff --git a/web/protected/views/articleJournalRelation/create.php b/web/protected/views/articleJournalRelation/create.php new file mode 100644 index 0000000..b85fdd7 --- /dev/null +++ b/web/protected/views/articleJournalRelation/create.php @@ -0,0 +1,18 @@ +breadcrumbs=array( + 'Article Journal Relations'=>array('index'), + 'Create', +); + +$this->menu=array( + array('label'=>'List ArticleJournalRelation', 'url'=>array('index')), + array('label'=>'Manage ArticleJournalRelation', 'url'=>array('admin')), +); +?> + +

Create ArticleJournalRelation

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/articleJournalRelation/index.php b/web/protected/views/articleJournalRelation/index.php new file mode 100644 index 0000000..faf7910 --- /dev/null +++ b/web/protected/views/articleJournalRelation/index.php @@ -0,0 +1,20 @@ +breadcrumbs=array( + 'Article Journal Relations', +); + +$this->menu=array( + array('label'=>'Create ArticleJournalRelation', 'url'=>array('create')), + array('label'=>'Manage ArticleJournalRelation', 'url'=>array('admin')), +); +?> + +

Article Journal Relations

+ +widget('zii.widgets.CListView', array( + 'dataProvider'=>$dataProvider, + 'itemView'=>'_view', +)); ?> diff --git a/web/protected/views/articleJournalRelation/update.php b/web/protected/views/articleJournalRelation/update.php new file mode 100644 index 0000000..7ffa88c --- /dev/null +++ b/web/protected/views/articleJournalRelation/update.php @@ -0,0 +1,21 @@ +breadcrumbs=array( + 'Article Journal Relations'=>array('index'), + $model->id=>array('view','id'=>$model->id), + 'Update', +); + +$this->menu=array( + array('label'=>'List ArticleJournalRelation', 'url'=>array('index')), + array('label'=>'Create ArticleJournalRelation', 'url'=>array('create')), + array('label'=>'View ArticleJournalRelation', 'url'=>array('view', 'id'=>$model->id)), + array('label'=>'Manage ArticleJournalRelation', 'url'=>array('admin')), +); +?> + +

Update ArticleJournalRelation id; ?>

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/articleJournalRelation/view.php b/web/protected/views/articleJournalRelation/view.php new file mode 100644 index 0000000..3c90a44 --- /dev/null +++ b/web/protected/views/articleJournalRelation/view.php @@ -0,0 +1,28 @@ +breadcrumbs=array( + 'Article Journal Relations'=>array('index'), + $model->id, +); + +$this->menu=array( + array('label'=>'List ArticleJournalRelation', 'url'=>array('index')), + array('label'=>'Create ArticleJournalRelation', 'url'=>array('create')), + array('label'=>'Update ArticleJournalRelation', 'url'=>array('update', 'id'=>$model->id)), + array('label'=>'Delete ArticleJournalRelation', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model->id),'confirm'=>'Are you sure you want to delete this item?')), + array('label'=>'Manage ArticleJournalRelation', 'url'=>array('admin')), +); +?> + +

View ArticleJournalRelation #id; ?>

+ +widget('zii.widgets.CDetailView', array( + 'data'=>$model, + 'attributes'=>array( + 'id', + 'articleName', + 'journalName', + ), +)); ?> diff --git a/web/protected/views/channel/_form.php b/web/protected/views/channel/_form.php new file mode 100644 index 0000000..ff5c916 --- /dev/null +++ b/web/protected/views/channel/_form.php @@ -0,0 +1,46 @@ + + +
+ +beginWidget('CActiveForm', array( + 'id'=>'channel-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, +)); ?> + +

Fields with * are required.

+ + errorSummary($model); ?> + +
+ labelEx($model,'name'); ?> + textArea($model,'name',array('rows'=>6, 'cols'=>50)); ?> + error($model,'name'); ?> +
+ +
+ labelEx($model,'title'); ?> + textArea($model,'title',array('rows'=>6, 'cols'=>50)); ?> + error($model,'title'); ?> +
+ +
+ labelEx($model,'description'); ?> + textArea($model,'description',array('rows'=>6, 'cols'=>50)); ?> + error($model,'description'); ?> +
+ +
+ isNewRecord ? 'Create' : 'Save'); ?> +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/channel/_search.php b/web/protected/views/channel/_search.php new file mode 100644 index 0000000..1a522e7 --- /dev/null +++ b/web/protected/views/channel/_search.php @@ -0,0 +1,40 @@ + + +
+ +beginWidget('CActiveForm', array( + 'action'=>Yii::app()->createUrl($this->route), + 'method'=>'get', +)); ?> + +
+ label($model,'id'); ?> + textField($model,'id'); ?> +
+ +
+ label($model,'name'); ?> + textArea($model,'name',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'title'); ?> + textArea($model,'title',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'description'); ?> + textArea($model,'description',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/channel/_view.php b/web/protected/views/channel/_view.php new file mode 100644 index 0000000..d2373f3 --- /dev/null +++ b/web/protected/views/channel/_view.php @@ -0,0 +1,25 @@ + + +
+ + getAttributeLabel('id')); ?>: + id), array('view', 'id'=>$data->id)); ?> +
+ + getAttributeLabel('name')); ?>: + name); ?> +
+ + getAttributeLabel('title')); ?>: + title); ?> +
+ + getAttributeLabel('description')); ?>: + description); ?> +
+ + +
\ No newline at end of file diff --git a/web/protected/views/channel/admin.php b/web/protected/views/channel/admin.php new file mode 100644 index 0000000..a6caafb --- /dev/null +++ b/web/protected/views/channel/admin.php @@ -0,0 +1,56 @@ +breadcrumbs=array( + 'Channels'=>array('index'), + 'Manage', +); + +$this->menu=array( + array('label'=>'List Channel', 'url'=>array('index')), + array('label'=>'Create Channel', 'url'=>array('create')), +); + +Yii::app()->clientScript->registerScript('search', " +$('.search-button').click(function(){ + $('.search-form').toggle(); + return false; +}); +$('.search-form form').submit(function(){ + $('#channel-grid').yiiGridView('update', { + data: $(this).serialize() + }); + return false; +}); +"); +?> + +

Manage Channels

+ +

+You may optionally enter a comparison operator (<, <=, >, >=, <> +or =) at the beginning of each of your search values to specify how the comparison should be done. +

+ +'search-button')); ?> + + +widget('zii.widgets.grid.CGridView', array( + 'id'=>'channel-grid', + 'dataProvider'=>$model->search(), + 'filter'=>$model, + 'columns'=>array( + 'id', + 'name', + 'title', + 'description', + array( + 'class'=>'CButtonColumn', + ), + ), +)); ?> diff --git a/web/protected/views/channel/create.php b/web/protected/views/channel/create.php new file mode 100644 index 0000000..41060ba --- /dev/null +++ b/web/protected/views/channel/create.php @@ -0,0 +1,18 @@ +breadcrumbs=array( + 'Channels'=>array('index'), + 'Create', +); + +$this->menu=array( + array('label'=>'List Channel', 'url'=>array('index')), + array('label'=>'Manage Channel', 'url'=>array('admin')), +); +?> + +

Create Channel

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/channel/index.php b/web/protected/views/channel/index.php new file mode 100644 index 0000000..1b15f95 --- /dev/null +++ b/web/protected/views/channel/index.php @@ -0,0 +1,20 @@ +breadcrumbs=array( + 'Channels', +); + +$this->menu=array( + array('label'=>'Create Channel', 'url'=>array('create')), + array('label'=>'Manage Channel', 'url'=>array('admin')), +); +?> + +

Channels

+ +widget('zii.widgets.CListView', array( + 'dataProvider'=>$dataProvider, + 'itemView'=>'_view', +)); ?> diff --git a/web/protected/views/channel/update.php b/web/protected/views/channel/update.php new file mode 100644 index 0000000..8e229d8 --- /dev/null +++ b/web/protected/views/channel/update.php @@ -0,0 +1,21 @@ +breadcrumbs=array( + 'Channels'=>array('index'), + $model->name=>array('view','id'=>$model->id), + 'Update', +); + +$this->menu=array( + array('label'=>'List Channel', 'url'=>array('index')), + array('label'=>'Create Channel', 'url'=>array('create')), + array('label'=>'View Channel', 'url'=>array('view', 'id'=>$model->id)), + array('label'=>'Manage Channel', 'url'=>array('admin')), +); +?> + +

Update Channel id; ?>

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/channel/view.php b/web/protected/views/channel/view.php new file mode 100644 index 0000000..db4ad03 --- /dev/null +++ b/web/protected/views/channel/view.php @@ -0,0 +1,29 @@ +breadcrumbs=array( + 'Channels'=>array('index'), + $model->name, +); + +$this->menu=array( + array('label'=>'List Channel', 'url'=>array('index')), + array('label'=>'Create Channel', 'url'=>array('create')), + array('label'=>'Update Channel', 'url'=>array('update', 'id'=>$model->id)), + array('label'=>'Delete Channel', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model->id),'confirm'=>'Are you sure you want to delete this item?')), + array('label'=>'Manage Channel', 'url'=>array('admin')), +); +?> + +

View Channel #id; ?>

+ +widget('zii.widgets.CDetailView', array( + 'data'=>$model, + 'attributes'=>array( + 'id', + 'name', + 'title', + 'description', + ), +)); ?> diff --git a/web/protected/views/channelArticleRelation/_form.php b/web/protected/views/channelArticleRelation/_form.php new file mode 100644 index 0000000..d47ddc6 --- /dev/null +++ b/web/protected/views/channelArticleRelation/_form.php @@ -0,0 +1,40 @@ + + +
+ +beginWidget('CActiveForm', array( + 'id'=>'channel-article-relation-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, +)); ?> + +

Fields with * are required.

+ + errorSummary($model); ?> + +
+ labelEx($model,'channelName'); ?> + textArea($model,'channelName',array('rows'=>6, 'cols'=>50)); ?> + error($model,'channelName'); ?> +
+ +
+ labelEx($model,'articleName'); ?> + textArea($model,'articleName',array('rows'=>6, 'cols'=>50)); ?> + error($model,'articleName'); ?> +
+ +
+ isNewRecord ? 'Create' : 'Save'); ?> +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/channelArticleRelation/_search.php b/web/protected/views/channelArticleRelation/_search.php new file mode 100644 index 0000000..91289f5 --- /dev/null +++ b/web/protected/views/channelArticleRelation/_search.php @@ -0,0 +1,35 @@ + + +
+ +beginWidget('CActiveForm', array( + 'action'=>Yii::app()->createUrl($this->route), + 'method'=>'get', +)); ?> + +
+ label($model,'id'); ?> + textField($model,'id'); ?> +
+ +
+ label($model,'channelName'); ?> + textArea($model,'channelName',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'articleName'); ?> + textArea($model,'articleName',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/channelArticleRelation/_view.php b/web/protected/views/channelArticleRelation/_view.php new file mode 100644 index 0000000..6facc33 --- /dev/null +++ b/web/protected/views/channelArticleRelation/_view.php @@ -0,0 +1,21 @@ + + +
+ + getAttributeLabel('id')); ?>: + id), array('view', 'id'=>$data->id)); ?> +
+ + getAttributeLabel('channelName')); ?>: + channelName); ?> +
+ + getAttributeLabel('articleName')); ?>: + articleName); ?> +
+ + +
\ No newline at end of file diff --git a/web/protected/views/channelArticleRelation/admin.php b/web/protected/views/channelArticleRelation/admin.php new file mode 100644 index 0000000..5ea0858 --- /dev/null +++ b/web/protected/views/channelArticleRelation/admin.php @@ -0,0 +1,55 @@ +breadcrumbs=array( + 'Channel Article Relations'=>array('index'), + 'Manage', +); + +$this->menu=array( + array('label'=>'List ChannelArticleRelation', 'url'=>array('index')), + array('label'=>'Create ChannelArticleRelation', 'url'=>array('create')), +); + +Yii::app()->clientScript->registerScript('search', " +$('.search-button').click(function(){ + $('.search-form').toggle(); + return false; +}); +$('.search-form form').submit(function(){ + $('#channel-article-relation-grid').yiiGridView('update', { + data: $(this).serialize() + }); + return false; +}); +"); +?> + +

Manage Channel Article Relations

+ +

+You may optionally enter a comparison operator (<, <=, >, >=, <> +or =) at the beginning of each of your search values to specify how the comparison should be done. +

+ +'search-button')); ?> + + +widget('zii.widgets.grid.CGridView', array( + 'id'=>'channel-article-relation-grid', + 'dataProvider'=>$model->search(), + 'filter'=>$model, + 'columns'=>array( + 'id', + 'channelName', + 'articleName', + array( + 'class'=>'CButtonColumn', + ), + ), +)); ?> diff --git a/web/protected/views/channelArticleRelation/create.php b/web/protected/views/channelArticleRelation/create.php new file mode 100644 index 0000000..52f5d41 --- /dev/null +++ b/web/protected/views/channelArticleRelation/create.php @@ -0,0 +1,18 @@ +breadcrumbs=array( + 'Channel Article Relations'=>array('index'), + 'Create', +); + +$this->menu=array( + array('label'=>'List ChannelArticleRelation', 'url'=>array('index')), + array('label'=>'Manage ChannelArticleRelation', 'url'=>array('admin')), +); +?> + +

Create ChannelArticleRelation

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/channelArticleRelation/index.php b/web/protected/views/channelArticleRelation/index.php new file mode 100644 index 0000000..baf8d84 --- /dev/null +++ b/web/protected/views/channelArticleRelation/index.php @@ -0,0 +1,20 @@ +breadcrumbs=array( + 'Channel Article Relations', +); + +$this->menu=array( + array('label'=>'Create ChannelArticleRelation', 'url'=>array('create')), + array('label'=>'Manage ChannelArticleRelation', 'url'=>array('admin')), +); +?> + +

Channel Article Relations

+ +widget('zii.widgets.CListView', array( + 'dataProvider'=>$dataProvider, + 'itemView'=>'_view', +)); ?> diff --git a/web/protected/views/channelArticleRelation/update.php b/web/protected/views/channelArticleRelation/update.php new file mode 100644 index 0000000..847aee6 --- /dev/null +++ b/web/protected/views/channelArticleRelation/update.php @@ -0,0 +1,21 @@ +breadcrumbs=array( + 'Channel Article Relations'=>array('index'), + $model->id=>array('view','id'=>$model->id), + 'Update', +); + +$this->menu=array( + array('label'=>'List ChannelArticleRelation', 'url'=>array('index')), + array('label'=>'Create ChannelArticleRelation', 'url'=>array('create')), + array('label'=>'View ChannelArticleRelation', 'url'=>array('view', 'id'=>$model->id)), + array('label'=>'Manage ChannelArticleRelation', 'url'=>array('admin')), +); +?> + +

Update ChannelArticleRelation id; ?>

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/channelArticleRelation/view.php b/web/protected/views/channelArticleRelation/view.php new file mode 100644 index 0000000..8f69463 --- /dev/null +++ b/web/protected/views/channelArticleRelation/view.php @@ -0,0 +1,28 @@ +breadcrumbs=array( + 'Channel Article Relations'=>array('index'), + $model->id, +); + +$this->menu=array( + array('label'=>'List ChannelArticleRelation', 'url'=>array('index')), + array('label'=>'Create ChannelArticleRelation', 'url'=>array('create')), + array('label'=>'Update ChannelArticleRelation', 'url'=>array('update', 'id'=>$model->id)), + array('label'=>'Delete ChannelArticleRelation', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model->id),'confirm'=>'Are you sure you want to delete this item?')), + array('label'=>'Manage ChannelArticleRelation', 'url'=>array('admin')), +); +?> + +

View ChannelArticleRelation #id; ?>

+ +widget('zii.widgets.CDetailView', array( + 'data'=>$model, + 'attributes'=>array( + 'id', + 'channelName', + 'articleName', + ), +)); ?> diff --git a/web/protected/views/journal/_form.php b/web/protected/views/journal/_form.php new file mode 100644 index 0000000..564718c --- /dev/null +++ b/web/protected/views/journal/_form.php @@ -0,0 +1,46 @@ + + +
+ +beginWidget('CActiveForm', array( + 'id'=>'journal-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, +)); ?> + +

Fields with * are required.

+ + errorSummary($model); ?> + +
+ labelEx($model,'name'); ?> + textArea($model,'name',array('rows'=>6, 'cols'=>50)); ?> + error($model,'name'); ?> +
+ +
+ labelEx($model,'title'); ?> + textArea($model,'title',array('rows'=>6, 'cols'=>50)); ?> + error($model,'title'); ?> +
+ +
+ labelEx($model,'description'); ?> + textArea($model,'description',array('rows'=>6, 'cols'=>50)); ?> + error($model,'description'); ?> +
+ +
+ isNewRecord ? 'Create' : 'Save'); ?> +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/journal/_search.php b/web/protected/views/journal/_search.php new file mode 100644 index 0000000..31086b4 --- /dev/null +++ b/web/protected/views/journal/_search.php @@ -0,0 +1,40 @@ + + +
+ +beginWidget('CActiveForm', array( + 'action'=>Yii::app()->createUrl($this->route), + 'method'=>'get', +)); ?> + +
+ label($model,'id'); ?> + textField($model,'id'); ?> +
+ +
+ label($model,'name'); ?> + textArea($model,'name',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'title'); ?> + textArea($model,'title',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'description'); ?> + textArea($model,'description',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/journal/_view.php b/web/protected/views/journal/_view.php new file mode 100644 index 0000000..cd72fb5 --- /dev/null +++ b/web/protected/views/journal/_view.php @@ -0,0 +1,25 @@ + + +
+ + getAttributeLabel('id')); ?>: + id), array('view', 'id'=>$data->id)); ?> +
+ + getAttributeLabel('name')); ?>: + name); ?> +
+ + getAttributeLabel('title')); ?>: + title); ?> +
+ + getAttributeLabel('description')); ?>: + description); ?> +
+ + +
\ No newline at end of file diff --git a/web/protected/views/journal/admin.php b/web/protected/views/journal/admin.php new file mode 100644 index 0000000..c138180 --- /dev/null +++ b/web/protected/views/journal/admin.php @@ -0,0 +1,56 @@ +breadcrumbs=array( + 'Journals'=>array('index'), + 'Manage', +); + +$this->menu=array( + array('label'=>'List Journal', 'url'=>array('index')), + array('label'=>'Create Journal', 'url'=>array('create')), +); + +Yii::app()->clientScript->registerScript('search', " +$('.search-button').click(function(){ + $('.search-form').toggle(); + return false; +}); +$('.search-form form').submit(function(){ + $('#journal-grid').yiiGridView('update', { + data: $(this).serialize() + }); + return false; +}); +"); +?> + +

Manage Journals

+ +

+You may optionally enter a comparison operator (<, <=, >, >=, <> +or =) at the beginning of each of your search values to specify how the comparison should be done. +

+ +'search-button')); ?> + + +widget('zii.widgets.grid.CGridView', array( + 'id'=>'journal-grid', + 'dataProvider'=>$model->search(), + 'filter'=>$model, + 'columns'=>array( + 'id', + 'name', + 'title', + 'description', + array( + 'class'=>'CButtonColumn', + ), + ), +)); ?> diff --git a/web/protected/views/journal/create.php b/web/protected/views/journal/create.php new file mode 100644 index 0000000..24780ce --- /dev/null +++ b/web/protected/views/journal/create.php @@ -0,0 +1,18 @@ +breadcrumbs=array( + 'Journals'=>array('index'), + 'Create', +); + +$this->menu=array( + array('label'=>'List Journal', 'url'=>array('index')), + array('label'=>'Manage Journal', 'url'=>array('admin')), +); +?> + +

Create Journal

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/journal/index.php b/web/protected/views/journal/index.php new file mode 100644 index 0000000..f14c5df --- /dev/null +++ b/web/protected/views/journal/index.php @@ -0,0 +1,20 @@ +breadcrumbs=array( + 'Journals', +); + +$this->menu=array( + array('label'=>'Create Journal', 'url'=>array('create')), + array('label'=>'Manage Journal', 'url'=>array('admin')), +); +?> + +

Journals

+ +widget('zii.widgets.CListView', array( + 'dataProvider'=>$dataProvider, + 'itemView'=>'_view', +)); ?> diff --git a/web/protected/views/journal/update.php b/web/protected/views/journal/update.php new file mode 100644 index 0000000..ddcb705 --- /dev/null +++ b/web/protected/views/journal/update.php @@ -0,0 +1,21 @@ +breadcrumbs=array( + 'Journals'=>array('index'), + $model->name=>array('view','id'=>$model->id), + 'Update', +); + +$this->menu=array( + array('label'=>'List Journal', 'url'=>array('index')), + array('label'=>'Create Journal', 'url'=>array('create')), + array('label'=>'View Journal', 'url'=>array('view', 'id'=>$model->id)), + array('label'=>'Manage Journal', 'url'=>array('admin')), +); +?> + +

Update Journal id; ?>

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/journal/view.php b/web/protected/views/journal/view.php new file mode 100644 index 0000000..f601432 --- /dev/null +++ b/web/protected/views/journal/view.php @@ -0,0 +1,29 @@ +breadcrumbs=array( + 'Journals'=>array('index'), + $model->name, +); + +$this->menu=array( + array('label'=>'List Journal', 'url'=>array('index')), + array('label'=>'Create Journal', 'url'=>array('create')), + array('label'=>'Update Journal', 'url'=>array('update', 'id'=>$model->id)), + array('label'=>'Delete Journal', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model->id),'confirm'=>'Are you sure you want to delete this item?')), + array('label'=>'Manage Journal', 'url'=>array('admin')), +); +?> + +

View Journal #id; ?>

+ +widget('zii.widgets.CDetailView', array( + 'data'=>$model, + 'attributes'=>array( + 'id', + 'name', + 'title', + 'description', + ), +)); ?> diff --git a/web/protected/views/layouts/column1.php b/web/protected/views/layouts/column1.php new file mode 100644 index 0000000..702fd65 --- /dev/null +++ b/web/protected/views/layouts/column1.php @@ -0,0 +1,6 @@ + +beginContent('//layouts/main'); ?> +
+ +
+endContent(); ?> \ No newline at end of file diff --git a/web/protected/views/layouts/column2.php b/web/protected/views/layouts/column2.php new file mode 100644 index 0000000..b588bf6 --- /dev/null +++ b/web/protected/views/layouts/column2.php @@ -0,0 +1,22 @@ + +beginContent('//layouts/main'); ?> +
+
+ +
+
+
+ +
+endContent(); ?> \ No newline at end of file diff --git a/web/protected/views/layouts/main.php b/web/protected/views/layouts/main.php new file mode 100644 index 0000000..1e03208 --- /dev/null +++ b/web/protected/views/layouts/main.php @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + <?php echo CHtml::encode($this->pageTitle); ?> + + + + +
+ + + + + breadcrumbs)):?> + widget('zii.widgets.CBreadcrumbs', array( + 'links'=>$this->breadcrumbs, + )); ?> + + + + +
+ + + +
+ + + diff --git a/web/protected/views/photo/_form.php b/web/protected/views/photo/_form.php new file mode 100644 index 0000000..6f768bf --- /dev/null +++ b/web/protected/views/photo/_form.php @@ -0,0 +1,58 @@ + + +
+ +beginWidget('CActiveForm', array( + 'id'=>'photo-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, +)); ?> + +

Fields with * are required.

+ + errorSummary($model); ?> + +
+ labelEx($model,'title'); ?> + textArea($model,'title',array('rows'=>6, 'cols'=>50)); ?> + error($model,'title'); ?> +
+ +
+ labelEx($model,'description'); ?> + textArea($model,'description',array('rows'=>6, 'cols'=>50)); ?> + error($model,'description'); ?> +
+ +
+ labelEx($model,'imageUrl'); ?> + textArea($model,'imageUrl',array('rows'=>6, 'cols'=>50)); ?> + error($model,'imageUrl'); ?> +
+ +
+ labelEx($model,'geoLat'); ?> + textField($model,'geoLat'); ?> + error($model,'geoLat'); ?> +
+ +
+ labelEx($model,'geoLon'); ?> + textField($model,'geoLon'); ?> + error($model,'geoLon'); ?> +
+ +
+ isNewRecord ? 'Create' : 'Save'); ?> +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/photo/_search.php b/web/protected/views/photo/_search.php new file mode 100644 index 0000000..9d94274 --- /dev/null +++ b/web/protected/views/photo/_search.php @@ -0,0 +1,50 @@ + + +
+ +beginWidget('CActiveForm', array( + 'action'=>Yii::app()->createUrl($this->route), + 'method'=>'get', +)); ?> + +
+ label($model,'id'); ?> + textField($model,'id'); ?> +
+ +
+ label($model,'title'); ?> + textArea($model,'title',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'description'); ?> + textArea($model,'description',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'imageUrl'); ?> + textArea($model,'imageUrl',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'geoLat'); ?> + textField($model,'geoLat'); ?> +
+ +
+ label($model,'geoLon'); ?> + textField($model,'geoLon'); ?> +
+ +
+ +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/photo/_view.php b/web/protected/views/photo/_view.php new file mode 100644 index 0000000..3ddbbbc --- /dev/null +++ b/web/protected/views/photo/_view.php @@ -0,0 +1,33 @@ + + +
+ + getAttributeLabel('id')); ?>: + id), array('view', 'id'=>$data->id)); ?> +
+ + getAttributeLabel('title')); ?>: + title); ?> +
+ + getAttributeLabel('description')); ?>: + description); ?> +
+ + getAttributeLabel('imageUrl')); ?>: + imageUrl); ?> +
+ + getAttributeLabel('geoLat')); ?>: + geoLat); ?> +
+ + getAttributeLabel('geoLon')); ?>: + geoLon); ?> +
+ + +
\ No newline at end of file diff --git a/web/protected/views/photo/admin.php b/web/protected/views/photo/admin.php new file mode 100644 index 0000000..fdb596d --- /dev/null +++ b/web/protected/views/photo/admin.php @@ -0,0 +1,58 @@ +breadcrumbs=array( + 'Photos'=>array('index'), + 'Manage', +); + +$this->menu=array( + array('label'=>'List Photo', 'url'=>array('index')), + array('label'=>'Create Photo', 'url'=>array('create')), +); + +Yii::app()->clientScript->registerScript('search', " +$('.search-button').click(function(){ + $('.search-form').toggle(); + return false; +}); +$('.search-form form').submit(function(){ + $('#photo-grid').yiiGridView('update', { + data: $(this).serialize() + }); + return false; +}); +"); +?> + +

Manage Photos

+ +

+You may optionally enter a comparison operator (<, <=, >, >=, <> +or =) at the beginning of each of your search values to specify how the comparison should be done. +

+ +'search-button')); ?> + + +widget('zii.widgets.grid.CGridView', array( + 'id'=>'photo-grid', + 'dataProvider'=>$model->search(), + 'filter'=>$model, + 'columns'=>array( + 'id', + 'title', + 'description', + 'imageUrl', + 'geoLat', + 'geoLon', + array( + 'class'=>'CButtonColumn', + ), + ), +)); ?> diff --git a/web/protected/views/photo/create.php b/web/protected/views/photo/create.php new file mode 100644 index 0000000..119d2c5 --- /dev/null +++ b/web/protected/views/photo/create.php @@ -0,0 +1,18 @@ +breadcrumbs=array( + 'Photos'=>array('index'), + 'Create', +); + +$this->menu=array( + array('label'=>'List Photo', 'url'=>array('index')), + array('label'=>'Manage Photo', 'url'=>array('admin')), +); +?> + +

Create Photo

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/photo/index.php b/web/protected/views/photo/index.php new file mode 100644 index 0000000..ca632b4 --- /dev/null +++ b/web/protected/views/photo/index.php @@ -0,0 +1,20 @@ +breadcrumbs=array( + 'Photos', +); + +$this->menu=array( + array('label'=>'Create Photo', 'url'=>array('create')), + array('label'=>'Manage Photo', 'url'=>array('admin')), +); +?> + +

Photos

+ +widget('zii.widgets.CListView', array( + 'dataProvider'=>$dataProvider, + 'itemView'=>'_view', +)); ?> diff --git a/web/protected/views/photo/update.php b/web/protected/views/photo/update.php new file mode 100644 index 0000000..6d8695b --- /dev/null +++ b/web/protected/views/photo/update.php @@ -0,0 +1,21 @@ +breadcrumbs=array( + 'Photos'=>array('index'), + $model->title=>array('view','id'=>$model->id), + 'Update', +); + +$this->menu=array( + array('label'=>'List Photo', 'url'=>array('index')), + array('label'=>'Create Photo', 'url'=>array('create')), + array('label'=>'View Photo', 'url'=>array('view', 'id'=>$model->id)), + array('label'=>'Manage Photo', 'url'=>array('admin')), +); +?> + +

Update Photo id; ?>

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/photo/view.php b/web/protected/views/photo/view.php new file mode 100644 index 0000000..4586d08 --- /dev/null +++ b/web/protected/views/photo/view.php @@ -0,0 +1,31 @@ +breadcrumbs=array( + 'Photos'=>array('index'), + $model->title, +); + +$this->menu=array( + array('label'=>'List Photo', 'url'=>array('index')), + array('label'=>'Create Photo', 'url'=>array('create')), + array('label'=>'Update Photo', 'url'=>array('update', 'id'=>$model->id)), + array('label'=>'Delete Photo', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model->id),'confirm'=>'Are you sure you want to delete this item?')), + array('label'=>'Manage Photo', 'url'=>array('admin')), +); +?> + +

View Photo #id; ?>

+ +widget('zii.widgets.CDetailView', array( + 'data'=>$model, + 'attributes'=>array( + 'id', + 'title', + 'description', + 'imageUrl', + 'geoLat', + 'geoLon', + ), +)); ?> diff --git a/web/protected/views/photoAlbumRelation/_form.php b/web/protected/views/photoAlbumRelation/_form.php new file mode 100644 index 0000000..26f2869 --- /dev/null +++ b/web/protected/views/photoAlbumRelation/_form.php @@ -0,0 +1,40 @@ + + +
+ +beginWidget('CActiveForm', array( + 'id'=>'photo-album-relation-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, +)); ?> + +

Fields with * are required.

+ + errorSummary($model); ?> + +
+ labelEx($model,'imageUrl'); ?> + textArea($model,'imageUrl',array('rows'=>6, 'cols'=>50)); ?> + error($model,'imageUrl'); ?> +
+ +
+ labelEx($model,'name'); ?> + textField($model,'name',array('size'=>45,'maxlength'=>45)); ?> + error($model,'name'); ?> +
+ +
+ isNewRecord ? 'Create' : 'Save'); ?> +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/photoAlbumRelation/_search.php b/web/protected/views/photoAlbumRelation/_search.php new file mode 100644 index 0000000..e5c89cd --- /dev/null +++ b/web/protected/views/photoAlbumRelation/_search.php @@ -0,0 +1,35 @@ + + +
+ +beginWidget('CActiveForm', array( + 'action'=>Yii::app()->createUrl($this->route), + 'method'=>'get', +)); ?> + +
+ label($model,'id'); ?> + textField($model,'id'); ?> +
+ +
+ label($model,'imageUrl'); ?> + textArea($model,'imageUrl',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'name'); ?> + textField($model,'name',array('size'=>45,'maxlength'=>45)); ?> +
+ +
+ +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/photoAlbumRelation/_view.php b/web/protected/views/photoAlbumRelation/_view.php new file mode 100644 index 0000000..e39e98a --- /dev/null +++ b/web/protected/views/photoAlbumRelation/_view.php @@ -0,0 +1,21 @@ + + +
+ + getAttributeLabel('id')); ?>: + id), array('view', 'id'=>$data->id)); ?> +
+ + getAttributeLabel('imageUrl')); ?>: + imageUrl); ?> +
+ + getAttributeLabel('name')); ?>: + name); ?> +
+ + +
\ No newline at end of file diff --git a/web/protected/views/photoAlbumRelation/admin.php b/web/protected/views/photoAlbumRelation/admin.php new file mode 100644 index 0000000..bcd323c --- /dev/null +++ b/web/protected/views/photoAlbumRelation/admin.php @@ -0,0 +1,55 @@ +breadcrumbs=array( + 'Photo Album Relations'=>array('index'), + 'Manage', +); + +$this->menu=array( + array('label'=>'List PhotoAlbumRelation', 'url'=>array('index')), + array('label'=>'Create PhotoAlbumRelation', 'url'=>array('create')), +); + +Yii::app()->clientScript->registerScript('search', " +$('.search-button').click(function(){ + $('.search-form').toggle(); + return false; +}); +$('.search-form form').submit(function(){ + $('#photo-album-relation-grid').yiiGridView('update', { + data: $(this).serialize() + }); + return false; +}); +"); +?> + +

Manage Photo Album Relations

+ +

+You may optionally enter a comparison operator (<, <=, >, >=, <> +or =) at the beginning of each of your search values to specify how the comparison should be done. +

+ +'search-button')); ?> + + +widget('zii.widgets.grid.CGridView', array( + 'id'=>'photo-album-relation-grid', + 'dataProvider'=>$model->search(), + 'filter'=>$model, + 'columns'=>array( + 'id', + 'imageUrl', + 'name', + array( + 'class'=>'CButtonColumn', + ), + ), +)); ?> diff --git a/web/protected/views/photoAlbumRelation/create.php b/web/protected/views/photoAlbumRelation/create.php new file mode 100644 index 0000000..3d531a9 --- /dev/null +++ b/web/protected/views/photoAlbumRelation/create.php @@ -0,0 +1,18 @@ +breadcrumbs=array( + 'Photo Album Relations'=>array('index'), + 'Create', +); + +$this->menu=array( + array('label'=>'List PhotoAlbumRelation', 'url'=>array('index')), + array('label'=>'Manage PhotoAlbumRelation', 'url'=>array('admin')), +); +?> + +

Create PhotoAlbumRelation

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/photoAlbumRelation/index.php b/web/protected/views/photoAlbumRelation/index.php new file mode 100644 index 0000000..2a3b062 --- /dev/null +++ b/web/protected/views/photoAlbumRelation/index.php @@ -0,0 +1,20 @@ +breadcrumbs=array( + 'Photo Album Relations', +); + +$this->menu=array( + array('label'=>'Create PhotoAlbumRelation', 'url'=>array('create')), + array('label'=>'Manage PhotoAlbumRelation', 'url'=>array('admin')), +); +?> + +

Photo Album Relations

+ +widget('zii.widgets.CListView', array( + 'dataProvider'=>$dataProvider, + 'itemView'=>'_view', +)); ?> diff --git a/web/protected/views/photoAlbumRelation/update.php b/web/protected/views/photoAlbumRelation/update.php new file mode 100644 index 0000000..8ea3077 --- /dev/null +++ b/web/protected/views/photoAlbumRelation/update.php @@ -0,0 +1,21 @@ +breadcrumbs=array( + 'Photo Album Relations'=>array('index'), + $model->name=>array('view','id'=>$model->id), + 'Update', +); + +$this->menu=array( + array('label'=>'List PhotoAlbumRelation', 'url'=>array('index')), + array('label'=>'Create PhotoAlbumRelation', 'url'=>array('create')), + array('label'=>'View PhotoAlbumRelation', 'url'=>array('view', 'id'=>$model->id)), + array('label'=>'Manage PhotoAlbumRelation', 'url'=>array('admin')), +); +?> + +

Update PhotoAlbumRelation id; ?>

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/photoAlbumRelation/view.php b/web/protected/views/photoAlbumRelation/view.php new file mode 100644 index 0000000..88d7b3a --- /dev/null +++ b/web/protected/views/photoAlbumRelation/view.php @@ -0,0 +1,28 @@ +breadcrumbs=array( + 'Photo Album Relations'=>array('index'), + $model->name, +); + +$this->menu=array( + array('label'=>'List PhotoAlbumRelation', 'url'=>array('index')), + array('label'=>'Create PhotoAlbumRelation', 'url'=>array('create')), + array('label'=>'Update PhotoAlbumRelation', 'url'=>array('update', 'id'=>$model->id)), + array('label'=>'Delete PhotoAlbumRelation', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model->id),'confirm'=>'Are you sure you want to delete this item?')), + array('label'=>'Manage PhotoAlbumRelation', 'url'=>array('admin')), +); +?> + +

View PhotoAlbumRelation #id; ?>

+ +widget('zii.widgets.CDetailView', array( + 'data'=>$model, + 'attributes'=>array( + 'id', + 'imageUrl', + 'name', + ), +)); ?> diff --git a/web/protected/views/site/contact.php b/web/protected/views/site/contact.php new file mode 100644 index 0000000..baad25e --- /dev/null +++ b/web/protected/views/site/contact.php @@ -0,0 +1,85 @@ +pageTitle=Yii::app()->name . ' - Contact Us'; +$this->breadcrumbs=array( + 'Contact', +); +?> + +

Contact Us

+ +user->hasFlash('contact')): ?> + +
+ user->getFlash('contact'); ?> +
+ + + +

+If you have business inquiries or other questions, please fill out the following form to contact us. Thank you. +

+ +
+ +beginWidget('CActiveForm', array( + 'id'=>'contact-form', + 'enableClientValidation'=>true, + 'clientOptions'=>array( + 'validateOnSubmit'=>true, + ), +)); ?> + +

Fields with * are required.

+ + errorSummary($model); ?> + +
+ labelEx($model,'name'); ?> + textField($model,'name'); ?> + error($model,'name'); ?> +
+ +
+ labelEx($model,'email'); ?> + textField($model,'email'); ?> + error($model,'email'); ?> +
+ +
+ labelEx($model,'subject'); ?> + textField($model,'subject',array('size'=>60,'maxlength'=>128)); ?> + error($model,'subject'); ?> +
+ +
+ labelEx($model,'body'); ?> + textArea($model,'body',array('rows'=>6, 'cols'=>50)); ?> + error($model,'body'); ?> +
+ + +
+ labelEx($model,'verifyCode'); ?> +
+ widget('CCaptcha'); ?> + textField($model,'verifyCode'); ?> +
+
Please enter the letters as they are shown in the image above. +
Letters are not case-sensitive.
+ error($model,'verifyCode'); ?> +
+ + +
+ +
+ +endWidget(); ?> + +
+ + \ No newline at end of file diff --git a/web/protected/views/site/error.php b/web/protected/views/site/error.php new file mode 100644 index 0000000..d0dcb80 --- /dev/null +++ b/web/protected/views/site/error.php @@ -0,0 +1,15 @@ +pageTitle=Yii::app()->name . ' - Error'; +$this->breadcrumbs=array( + 'Error', +); +?> + +

Error

+ +
+ +
\ No newline at end of file diff --git a/web/protected/views/site/index.php b/web/protected/views/site/index.php new file mode 100644 index 0000000..b11ab80 --- /dev/null +++ b/web/protected/views/site/index.php @@ -0,0 +1,34 @@ +pageTitle = Yii::app()->name; + +?> + +

Welcome home

+ +user->isGuest) +{ +$this->widget('zii.widgets.CMenu',array( + 'items'=>array( + array('label' => 'Photo', 'url' => array('photo/admin')), + array('label' => 'Album', 'url' => array('album/admin')), + array('label' => 'Manage Photo in Album', 'url' => array('photoAlbumRelation/admin')), + array('label' => 'Video', 'url' => array('video/admin')), + array('label' => 'Channel', 'url' => array('channel/admin')), + array('label' => 'Manage Video in Channel', 'url' => array('videoChannelRelation/admin')), + array('label' => 'Article', 'url' => array('article/admin')), + array('label' => 'Manage Album in Article', 'url' => array('albumArticleRelation/admin')), + array('label' => 'Manage Channel in Article', 'url' => array('channelArticleRelation/admin')), + array('label' => 'Journal', 'url' => array('journal/admin')), + array('label' => 'Manage Article in Journal', 'url' => array('articleJournalRelation/admin')), + ), + )); + + +} + + + ?> diff --git a/web/protected/views/site/login.php b/web/protected/views/site/login.php new file mode 100644 index 0000000..3c16748 --- /dev/null +++ b/web/protected/views/site/login.php @@ -0,0 +1,53 @@ +pageTitle=Yii::app()->name . ' - Login'; +$this->breadcrumbs=array( + 'Login', +); +?> + +

Login

+ +

Please fill out the following form with your login credentials:

+ +
+beginWidget('CActiveForm', array( + 'id'=>'login-form', + 'enableClientValidation'=>true, + 'clientOptions'=>array( + 'validateOnSubmit'=>true, + ), +)); ?> + +

Fields with * are required.

+ +
+ labelEx($model,'username'); ?> + textField($model,'username'); ?> + error($model,'username'); ?> +
+ +
+ labelEx($model,'password'); ?> + passwordField($model,'password'); ?> + error($model,'password'); ?> +

+ Hint: You may login with demo/demo or admin/admin. +

+
+ +
+ checkBox($model,'rememberMe'); ?> + label($model,'rememberMe'); ?> + error($model,'rememberMe'); ?> +
+ +
+ +
+ +endWidget(); ?> +
diff --git a/web/protected/views/site/pages/about.php b/web/protected/views/site/pages/about.php new file mode 100644 index 0000000..d8aa3c5 --- /dev/null +++ b/web/protected/views/site/pages/about.php @@ -0,0 +1,12 @@ +pageTitle=Yii::app()->name . ' - About'; +$this->breadcrumbs=array( + 'About', +); +?> +

About

+ +

This is a "static" page. You may change the content of this page +by updating the file .

diff --git a/web/protected/views/site/register.php b/web/protected/views/site/register.php new file mode 100644 index 0000000..e01c17e --- /dev/null +++ b/web/protected/views/site/register.php @@ -0,0 +1,57 @@ +pageTitle=Yii::t('app', Yii::app()->name) . ' - ' . Yii::t('app', 'Register'); +?> + +
+ +beginWidget('CActiveForm', array( + 'id'=>'register-form-register-form', + // Please note: When you enable ajax validation, make sure the corresponding + // controller action is handling ajax validation correctly. + // See class documentation of CActiveForm for details on this, + // you need to use the performAjaxValidation()-method described there. + 'enableAjaxValidation'=>false, +)); ?> +

+ +

+ +

'*'))?>

+ + errorSummary($model, Yii::t('app', 'Please, fix following errors:')); ?> + +
+ labelEx($model,'username'); ?> + textField($model,'username'); ?> + error($model,'username'); ?> +
+ +
+ labelEx($model,'password'); ?> + passwordField($model,'password'); ?> + error($model,'password'); ?> +
+ +
+ labelEx($model,'email'); ?> + emailField($model,'email'); ?> + error($model,'email'); ?> +
+ +
+ + widget('CCaptcha'); ?>
+ +
+ +
+ +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/video/_form.php b/web/protected/views/video/_form.php new file mode 100644 index 0000000..1e8553d --- /dev/null +++ b/web/protected/views/video/_form.php @@ -0,0 +1,59 @@ + + +
+ +beginWidget('CActiveForm', array( + 'id'=>'video-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, +)); ?> + +

Fields with * are required.

+ + errorSummary($model); ?> + +
+ labelEx($model,'type'); ?> + textField($model,'type'); ?> + error($model,'type'); ?> +
+ +
+ labelEx($model,'videoUrl'); ?> + textArea($model,'videoUrl',array('rows'=>6, 'cols'=>50)); ?> + error($model,'videoUrl'); ?> +
+ +
+ labelEx($model,'title'); ?> + textArea($model,'title',array('rows'=>6, 'cols'=>50)); ?> + error($model,'title'); ?> +
+ +
+ labelEx($model,'description'); ?> + textArea($model,'description',array('rows'=>6, 'cols'=>50)); ?> + error($model,'description'); ?> +
+ +
+ labelEx($model,'previewImageUrl'); ?> + textArea($model,'previewImageUrl',array('rows'=>6, 'cols'=>50)); ?> + error($model,'previewImageUrl'); ?> +
+ + +
+ isNewRecord ? 'Create' : 'Save'); ?> +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/video/_search.php b/web/protected/views/video/_search.php new file mode 100644 index 0000000..eae4dfc --- /dev/null +++ b/web/protected/views/video/_search.php @@ -0,0 +1,50 @@ + + +
+ +beginWidget('CActiveForm', array( + 'action'=>Yii::app()->createUrl($this->route), + 'method'=>'get', +)); ?> + +
+ label($model,'id'); ?> + textField($model,'id'); ?> +
+ +
+ label($model,'type'); ?> + textField($model,'type'); ?> +
+ +
+ label($model,'videoUrl'); ?> + textArea($model,'videoUrl',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'title'); ?> + textArea($model,'title',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'description'); ?> + textArea($model,'description',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'previewImageUrl'); ?> + textArea($model,'previewImageUrl',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/video/_view.php b/web/protected/views/video/_view.php new file mode 100644 index 0000000..3c3b30d --- /dev/null +++ b/web/protected/views/video/_view.php @@ -0,0 +1,34 @@ + + +
+ + getAttributeLabel('id')); ?>: + id), array('view', 'id'=>$data->id)); ?> +
+ + getAttributeLabel('type')); ?>: + type); ?> +
+ + getAttributeLabel('videoUrl')); ?>: + videoUrl); ?> +
+ + getAttributeLabel('title')); ?>: + title); ?> +
+ + getAttributeLabel('description')); ?>: + description); ?> +
+ + getAttributeLabel('previewImageUrl')); ?>: + previewImageUrl); ?> +
+ + + +
\ No newline at end of file diff --git a/web/protected/views/video/admin.php b/web/protected/views/video/admin.php new file mode 100644 index 0000000..0ab6f3b --- /dev/null +++ b/web/protected/views/video/admin.php @@ -0,0 +1,58 @@ +breadcrumbs=array( + 'Videos'=>array('index'), + 'Manage', +); + +$this->menu=array( + array('label'=>'List Video', 'url'=>array('index')), + array('label'=>'Create Video', 'url'=>array('create')), +); + +Yii::app()->clientScript->registerScript('search', " +$('.search-button').click(function(){ + $('.search-form').toggle(); + return false; +}); +$('.search-form form').submit(function(){ + $('#video-grid').yiiGridView('update', { + data: $(this).serialize() + }); + return false; +}); +"); +?> + +

Manage Videos

+ +

+You may optionally enter a comparison operator (<, <=, >, >=, <> +or =) at the beginning of each of your search values to specify how the comparison should be done. +

+ +'search-button')); ?> + + +widget('zii.widgets.grid.CGridView', array( + 'id'=>'video-grid', + 'dataProvider'=>$model->search(), + 'filter'=>$model, + 'columns'=>array( + 'id', + 'type', + 'videoUrl', + 'title', + 'description', + 'previewImageUrl', + array( + 'class'=>'CButtonColumn', + ), + ), +)); ?> diff --git a/web/protected/views/video/create.php b/web/protected/views/video/create.php new file mode 100644 index 0000000..fd78aa1 --- /dev/null +++ b/web/protected/views/video/create.php @@ -0,0 +1,18 @@ +breadcrumbs=array( + 'Videos'=>array('index'), + 'Create', +); + +$this->menu=array( + array('label'=>'List Video', 'url'=>array('index')), + array('label'=>'Manage Video', 'url'=>array('admin')), +); +?> + +

Create Video

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/video/index.php b/web/protected/views/video/index.php new file mode 100644 index 0000000..21f47ed --- /dev/null +++ b/web/protected/views/video/index.php @@ -0,0 +1,20 @@ +breadcrumbs=array( + 'Videos', +); + +$this->menu=array( + array('label'=>'Create Video', 'url'=>array('create')), + array('label'=>'Manage Video', 'url'=>array('admin')), +); +?> + +

Videos

+ +widget('zii.widgets.CListView', array( + 'dataProvider'=>$dataProvider, + 'itemView'=>'_view', +)); ?> diff --git a/web/protected/views/video/update.php b/web/protected/views/video/update.php new file mode 100644 index 0000000..0d5dbfc --- /dev/null +++ b/web/protected/views/video/update.php @@ -0,0 +1,21 @@ +breadcrumbs=array( + 'Videos'=>array('index'), + $model->title=>array('view','id'=>$model->id), + 'Update', +); + +$this->menu=array( + array('label'=>'List Video', 'url'=>array('index')), + array('label'=>'Create Video', 'url'=>array('create')), + array('label'=>'View Video', 'url'=>array('view', 'id'=>$model->id)), + array('label'=>'Manage Video', 'url'=>array('admin')), +); +?> + +

Update Video id; ?>

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/video/view.php b/web/protected/views/video/view.php new file mode 100644 index 0000000..604942f --- /dev/null +++ b/web/protected/views/video/view.php @@ -0,0 +1,31 @@ +breadcrumbs=array( + 'Videos'=>array('index'), + $model->title, +); + +$this->menu=array( + array('label'=>'List Video', 'url'=>array('index')), + array('label'=>'Create Video', 'url'=>array('create')), + array('label'=>'Update Video', 'url'=>array('update', 'id'=>$model->id)), + array('label'=>'Delete Video', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model->id),'confirm'=>'Are you sure you want to delete this item?')), + array('label'=>'Manage Video', 'url'=>array('admin')), +); +?> + +

View Video #id; ?>

+ +widget('zii.widgets.CDetailView', array( + 'data'=>$model, + 'attributes'=>array( + 'id', + 'type', + 'videoUrl', + 'title', + 'description', + 'previewImageUrl', + ), +)); ?> diff --git a/web/protected/views/videoChannelRelation/_form.php b/web/protected/views/videoChannelRelation/_form.php new file mode 100644 index 0000000..6c10a26 --- /dev/null +++ b/web/protected/views/videoChannelRelation/_form.php @@ -0,0 +1,46 @@ + + +
+ +beginWidget('CActiveForm', array( + 'id'=>'video-channel-relation-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, +)); ?> + +

Fields with * are required.

+ + errorSummary($model); ?> + +
+ labelEx($model,'id'); ?> + textField($model,'id'); ?> + error($model,'id'); ?> +
+ +
+ labelEx($model,'videoUrl'); ?> + textArea($model,'videoUrl',array('rows'=>6, 'cols'=>50)); ?> + error($model,'videoUrl'); ?> +
+ +
+ labelEx($model,'name'); ?> + textArea($model,'name',array('rows'=>6, 'cols'=>50)); ?> + error($model,'name'); ?> +
+ +
+ isNewRecord ? 'Create' : 'Save'); ?> +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/videoChannelRelation/_search.php b/web/protected/views/videoChannelRelation/_search.php new file mode 100644 index 0000000..66b21c2 --- /dev/null +++ b/web/protected/views/videoChannelRelation/_search.php @@ -0,0 +1,35 @@ + + +
+ +beginWidget('CActiveForm', array( + 'action'=>Yii::app()->createUrl($this->route), + 'method'=>'get', +)); ?> + +
+ label($model,'id'); ?> + textField($model,'id'); ?> +
+ +
+ label($model,'videoUrl'); ?> + textArea($model,'videoUrl',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ label($model,'name'); ?> + textArea($model,'name',array('rows'=>6, 'cols'=>50)); ?> +
+ +
+ +
+ +endWidget(); ?> + +
\ No newline at end of file diff --git a/web/protected/views/videoChannelRelation/_view.php b/web/protected/views/videoChannelRelation/_view.php new file mode 100644 index 0000000..88c440a --- /dev/null +++ b/web/protected/views/videoChannelRelation/_view.php @@ -0,0 +1,21 @@ + + +
+ + getAttributeLabel('id')); ?>: + id), array('view', 'id'=>$data->id)); ?> +
+ + getAttributeLabel('videoUrl')); ?>: + videoUrl); ?> +
+ + getAttributeLabel('name')); ?>: + name); ?> +
+ + +
\ No newline at end of file diff --git a/web/protected/views/videoChannelRelation/admin.php b/web/protected/views/videoChannelRelation/admin.php new file mode 100644 index 0000000..ec94391 --- /dev/null +++ b/web/protected/views/videoChannelRelation/admin.php @@ -0,0 +1,55 @@ +breadcrumbs=array( + 'Video Channel Relations'=>array('index'), + 'Manage', +); + +$this->menu=array( + array('label'=>'List VideoChannelRelation', 'url'=>array('index')), + array('label'=>'Create VideoChannelRelation', 'url'=>array('create')), +); + +Yii::app()->clientScript->registerScript('search', " +$('.search-button').click(function(){ + $('.search-form').toggle(); + return false; +}); +$('.search-form form').submit(function(){ + $('#video-channel-relation-grid').yiiGridView('update', { + data: $(this).serialize() + }); + return false; +}); +"); +?> + +

Manage Video Channel Relations

+ +

+You may optionally enter a comparison operator (<, <=, >, >=, <> +or =) at the beginning of each of your search values to specify how the comparison should be done. +

+ +'search-button')); ?> + + +widget('zii.widgets.grid.CGridView', array( + 'id'=>'video-channel-relation-grid', + 'dataProvider'=>$model->search(), + 'filter'=>$model, + 'columns'=>array( + 'id', + 'videoUrl', + 'name', + array( + 'class'=>'CButtonColumn', + ), + ), +)); ?> diff --git a/web/protected/views/videoChannelRelation/create.php b/web/protected/views/videoChannelRelation/create.php new file mode 100644 index 0000000..c7578cf --- /dev/null +++ b/web/protected/views/videoChannelRelation/create.php @@ -0,0 +1,18 @@ +breadcrumbs=array( + 'Video Channel Relations'=>array('index'), + 'Create', +); + +$this->menu=array( + array('label'=>'List VideoChannelRelation', 'url'=>array('index')), + array('label'=>'Manage VideoChannelRelation', 'url'=>array('admin')), +); +?> + +

Create VideoChannelRelation

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/videoChannelRelation/index.php b/web/protected/views/videoChannelRelation/index.php new file mode 100644 index 0000000..7ffb6b6 --- /dev/null +++ b/web/protected/views/videoChannelRelation/index.php @@ -0,0 +1,20 @@ +breadcrumbs=array( + 'Video Channel Relations', +); + +$this->menu=array( + array('label'=>'Create VideoChannelRelation', 'url'=>array('create')), + array('label'=>'Manage VideoChannelRelation', 'url'=>array('admin')), +); +?> + +

Video Channel Relations

+ +widget('zii.widgets.CListView', array( + 'dataProvider'=>$dataProvider, + 'itemView'=>'_view', +)); ?> diff --git a/web/protected/views/videoChannelRelation/update.php b/web/protected/views/videoChannelRelation/update.php new file mode 100644 index 0000000..9a9cd91 --- /dev/null +++ b/web/protected/views/videoChannelRelation/update.php @@ -0,0 +1,21 @@ +breadcrumbs=array( + 'Video Channel Relations'=>array('index'), + $model->name=>array('view','id'=>$model->id), + 'Update', +); + +$this->menu=array( + array('label'=>'List VideoChannelRelation', 'url'=>array('index')), + array('label'=>'Create VideoChannelRelation', 'url'=>array('create')), + array('label'=>'View VideoChannelRelation', 'url'=>array('view', 'id'=>$model->id)), + array('label'=>'Manage VideoChannelRelation', 'url'=>array('admin')), +); +?> + +

Update VideoChannelRelation id; ?>

+ +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/web/protected/views/videoChannelRelation/view.php b/web/protected/views/videoChannelRelation/view.php new file mode 100644 index 0000000..a86d9f6 --- /dev/null +++ b/web/protected/views/videoChannelRelation/view.php @@ -0,0 +1,28 @@ +breadcrumbs=array( + 'Video Channel Relations'=>array('index'), + $model->name, +); + +$this->menu=array( + array('label'=>'List VideoChannelRelation', 'url'=>array('index')), + array('label'=>'Create VideoChannelRelation', 'url'=>array('create')), + array('label'=>'Update VideoChannelRelation', 'url'=>array('update', 'id'=>$model->id)), + array('label'=>'Delete VideoChannelRelation', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model->id),'confirm'=>'Are you sure you want to delete this item?')), + array('label'=>'Manage VideoChannelRelation', 'url'=>array('admin')), +); +?> + +

View VideoChannelRelation #id; ?>

+ +widget('zii.widgets.CDetailView', array( + 'data'=>$model, + 'attributes'=>array( + 'id', + 'videoUrl', + 'name', + ), +)); ?> diff --git a/web/protected/yiic b/web/protected/yiic new file mode 100644 index 0000000..7f56f54 --- /dev/null +++ b/web/protected/yiic @@ -0,0 +1,4 @@ +#!/usr/bin/env php +