From: <al...@us...> - 2008-09-16 16:18:53
|
Revision: 681 http://sciret.svn.sourceforge.net/sciret/?rev=681&view=rev Author: alpeb Date: 2008-09-16 23:18:51 +0000 (Tue, 16 Sep 2008) Log Message: ----------- added some loader images to the todo ops Modified Paths: -------------- trunk/javascript/general.js trunk/templates/TodosDropdown.tpl Modified: trunk/javascript/general.js =================================================================== --- trunk/javascript/general.js 2008-09-16 23:09:03 UTC (rev 680) +++ trunk/javascript/general.js 2008-09-16 23:18:51 UTC (rev 681) @@ -537,10 +537,7 @@ }, showForm: function(todoId) { - if (!todoId) { - todoId = 0; - } - + showLoading("editTodoProgressImg_" + todoId); YAHOO.util.Connect.asyncRequest('GET', 'index.php?view=EditTodo&id=' + todoId, { @@ -579,6 +576,8 @@ $('todoDialog').style.display = "block"; this.todoDialog.show(); + + successAjax("editTodoProgressImg_" + responseObj.argument); }, showCalendar: function() { Modified: trunk/templates/TodosDropdown.tpl =================================================================== --- trunk/templates/TodosDropdown.tpl 2008-09-16 23:09:03 UTC (rev 680) +++ trunk/templates/TodosDropdown.tpl 2008-09-16 23:18:51 UTC (rev 681) @@ -33,6 +33,7 @@ <!-- BEGIN hasRelatedDraft_block --> <img src="images/article_draft.png" /> <!-- END hasRelatedDraft_block --> + <img id="editTodoProgressImg_{todoId}" src="images/progress.gif" style="visibility:hidden" /> </li> <!-- END todoItem_block --> </ul> @@ -41,5 +42,8 @@ <div class="headerLinks" style="text-align:center">[l]You have no To-Do's[/l]</div> <!-- END noTodos_block --> - <p class="add"><span class="button_green"><a href="javascript:void(0)" onclick="SCIRET.todos.showForm()">[l]Add new[/l]</a></span></p> + <p class="add"> + <span class="button_green"><a href="javascript:void(0)" onclick="SCIRET.todos.showForm(0)">[l]Add new[/l]</a></span> + <img id="editTodoProgressImg_0" src="images/progress.gif" style="visibility:hidden" /> + </p> </div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-09-18 09:29:40
|
Revision: 682 http://sciret.svn.sourceforge.net/sciret/?rev=682&view=rev Author: alpeb Date: 2008-09-18 16:29:19 +0000 (Thu, 18 Sep 2008) Log Message: ----------- - In home, separated categories and articles in tabs - Replaced jquery's tabs in the article view with YUI's Modified Paths: -------------- trunk/javascript/general.js trunk/style.css trunk/templates/MainView.tpl trunk/templates/ViewArticle.tpl trunk/templates/head.tpl Modified: trunk/javascript/general.js =================================================================== --- trunk/javascript/general.js 2008-09-16 23:18:51 UTC (rev 681) +++ trunk/javascript/general.js 2008-09-18 16:29:19 UTC (rev 682) @@ -966,25 +966,6 @@ }); // ********************************************************* -// ** TABS HANDLING ** -// ********************************************************* -$j(document).ready(function() { - $j(function () { - var tabContainers = $j('#tabs > div.tab'); - - $j('.view_mode a').click(function () { - tabContainers.hide(); - tabContainers.filter(this.hash).show(); - $j('.view_mode a').removeClass('active_tab'); - $j(this).addClass('active_tab'); - return false; - }).filter(':first').click(); - }); - -}); - - -// ********************************************************* // ** OTHER FUNCTIONS ** // ********************************************************* function saveDraft(form) { Modified: trunk/style.css =================================================================== --- trunk/style.css 2008-09-16 23:18:51 UTC (rev 681) +++ trunk/style.css 2008-09-18 16:29:19 UTC (rev 682) @@ -301,35 +301,6 @@ font-size: 1.3em; } -.view_mode { - margin-top: 20px; - margin-bottom: 20px; - padding-left: 100px; - padding-bottom: 5px; - padding-top: 7px; - background: url(images/bg_view_mode.jpg) no-repeat 0 bottom; - border-top-color: #e8e8e8; -} - -.view_mode span a { - margin-left: 3px; - padding: 5px 10px; - border-top: 1px solid #e4e4e4; - border-right: 1px solid #b2b2b2; - border-left: 1px solid #b2b2b2; - color: #4c4c4c; - font-weight: bold; -} - -.active_tab { - background-color: #fff; -} - -.view_mode span a:hover { - text-decoration: none; - padding-top: 7px; -} - .author { background: transparent url(images/bg_author.gif) no-repeat scroll right; color: #fff; @@ -836,3 +807,201 @@ #foot a:hover { border-bottom-color: #777; } + +/* ##################################################### */ +/* TABS */ +/* Customization of YUI's Sam skin for tabs: */ +/* yui/build/tabview/assets/skins/sam/tabbiew-skin.css */ +/* ##################################################### */ +/* .yui-navset defaults to .yui-navset-top */ +.yui-skin-sam .yui-navset .yui-nav, +.yui-skin-sam .yui-navset .yui-navset-top .yui-nav { /* protect nested tabviews from other orientations */ + border:none; /* color between tab list and content */ + margin-top: 20px; + margin-bottom: 20px; + padding-left: 100px; + padding-top: 7px; + background: url(images/bg_view_mode.jpg) no-repeat 0 bottom; + Xposition:relative; + zoom:1; +} + +.yui-skin-sam .yui-navset .yui-nav li, +.yui-skin-sam .yui-navset .yui-navset-top .yui-nav li { + margin:0 0.16em 0 0; /* space between tabs */ + padding:1px 0 0; /* gecko: make room for overflow */ + zoom:1; +} + +.yui-skin-sam .yui-navset .yui-nav .selected, +.yui-skin-sam .yui-navset .yui-navset-top .yui-nav .selected { + margin:0 0.16em -1px 0; /* for overlap */ +} + +.yui-skin-sam .yui-navset .yui-nav a, +.yui-skin-sam .yui-navset .yui-navset-top .yui-nav a { + position:relative; + text-decoration:none; + background:#d8d8d8 url(javascript/yui/build/assets/skins/sam/sprite.png) repeat-x; /* tab background */ + margin-left: 3px; + padding: 5px 10px; + border-top: 1px solid #e4e4e4; + border-right: 1px solid #b2b2b2; + border-left: 1px solid #b2b2b2; + border-bottom:none; + color: #4c4c4c; + font-weight: bold; +} + +.yui-skin-sam .yui-navset .yui-nav a em, +.yui-skin-sam .yui-navset .yui-navset-top .yui-nav a em { + border:solid #a3a3a3; + border-width:1px 0 0; + cursor:hand; + padding:0.25em .75em; + left:0; right: 0; bottom: 0; /* protect from other orientations */ + top:-1px; /* for 1px rounded corners */ + position:relative; +} + +.yui-skin-sam .yui-navset .yui-nav .selected a, +.yui-skin-sam .yui-navset .yui-nav .selected a:focus, /* no focus effect for selected */ +.yui-skin-sam .yui-navset .yui-nav .selected a:hover { /* no hover effect for selected */ + background:none; + color:#000; + background-color: #fff; +} + +.yui-skin-sam .yui-navset .yui-nav a:hover, +.yui-skin-sam .yui-navset .yui-nav a:focus { + background:none; + outline:0; +} + +.yui-skin-sam .yui-navset .yui-nav .selected a em { + padding:0.35em 0.75em; /* raise selected tab */ +} + +.yui-skin-sam .yui-navset .yui-nav .selected a, +.yui-skin-sam .yui-navset .yui-nav .selected a em { + border-top: 1px solid #e4e4e4; + border-right: 1px solid #b2b2b2; + border-left: 1px solid #b2b2b2; +} + +.yui-skin-sam .yui-navset .yui-content { + background:#fff; +} + +.yui-skin-sam .yui-navset .yui-content, +.yui-skin-sam .yui-navset .yui-navset-top .yui-content { + border:none; + padding:0; /* content padding */ +} + +/* left and right orientations */ +.yui-skin-sam .yui-navset-left .yui-nav, +.yui-skin-sam .yui-navset .yui-navset-left .yui-nav, +.yui-skin-sam .yui-navset .yui-navset-right .yui-nav, +.yui-skin-sam .yui-navset-right .yui-nav { + border-width:0 5px 0 0; + Xposition:absolute; /* from tabview-core; have to reiterate for skin-sam due to pos:rel on skin-sam yui-nav */ + top:0; bottom:0; /* stretch to fill content height */ +} + +.yui-skin-sam .yui-navset .yui-navset-right .yui-nav, +.yui-skin-sam .yui-navset-right .yui-nav { + border-width:0 0 0 5px; +} + +.yui-skin-sam .yui-navset-left .yui-nav li, +.yui-skin-sam .yui-navset .yui-navset-left .yui-nav li, +.yui-skin-sam .yui-navset-right .yui-nav li { + margin:0 0 0.16em; /* space between tabs */ + padding:0 0 0 1px; /* gecko: make room for overflow */ +} + +.yui-skin-sam .yui-navset-right .yui-nav li { + padding:0 1px 0 0; /* gecko: make room for overflow */ +} + +.yui-skin-sam .yui-navset-left .yui-nav .selected, +.yui-skin-sam .yui-navset .yui-navset-left .yui-nav .selected { + margin:0 -1px 0.16em 0; +} + +.yui-skin-sam .yui-navset-right .yui-nav .selected { + margin:0 0 0.16em -1px; +} + +.yui-skin-sam .yui-navset-left .yui-nav a, +.yui-skin-sam .yui-navset-right .yui-nav a { + border-width:1px 0; +} + +.yui-skin-sam .yui-navset-left .yui-nav a em, +.yui-skin-sam .yui-navset .yui-navset-left .yui-nav a em, +.yui-skin-sam .yui-navset-right .yui-nav a em { + border-width:0 0 0 1px; + padding:0.2em .75em; + top:auto; + left:-1px; /* for 1px rounded corners */ +} + +.yui-skin-sam .yui-navset-right .yui-nav a em { + border-width:0 1px 0 0; + left:auto; + right:-1px; /* for 1px rounded corners */ +} + +.yui-skin-sam .yui-navset-left .yui-nav a, +.yui-skin-sam .yui-navset-left .yui-nav .selected a, +.yui-skin-sam .yui-navset-left .yui-nav a:hover, +.yui-skin-sam .yui-navset-right .yui-nav a, +.yui-skin-sam .yui-navset-right .yui-nav .selected a, +.yui-skin-sam .yui-navset-right .yui-nav a:hover, +.yui-skin-sam .yui-navset-bottom .yui-nav a, +.yui-skin-sam .yui-navset-bottom .yui-nav .selected a, +.yui-skin-sam .yui-navset-bottom .yui-nav a:hover { + background-image:none; /* no left-right or bottom-top gradient */ +} + +.yui-skin-sam .yui-navset-left .yui-content { + border:1px solid #808080; /* content border */ + border-left-color:#243356; /* different border color */ +} + +/* bottom orientation */ +.yui-skin-sam .yui-navset-bottom .yui-nav, +.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav { + border-width:5px 0 0; /* color between tab list and content */ +} + +.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav .selected, +.yui-skin-sam .yui-navset-bottom .yui-nav .selected { + margin:-1px 0.16em 0 0; /* for overlap */ +} + +.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav li, +.yui-skin-sam .yui-navset-bottom .yui-nav li { + padding:0 0 1px 0; /* gecko: make room for overflow */ + vertical-align:top; +} + +.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav li a, +.yui-skin-sam .yui-navset-bottom .yui-nav li a { +} + +.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav a em, +.yui-skin-sam .yui-navset-bottom .yui-nav a em { + border-width:0 0 1px; + top:auto; + bottom:-1px; /* for 1px rounded corners */ +} + +.yui-skin-sam .yui-navset-bottom .yui-content, +.yui-skin-sam .yui-navset .yui-navset-bottom .yui-content { + border:1px solid #808080; /* content border */ + border-bottom-color:#243356; /* different border color */ +} + Modified: trunk/templates/MainView.tpl =================================================================== --- trunk/templates/MainView.tpl 2008-09-16 23:18:51 UTC (rev 681) +++ trunk/templates/MainView.tpl 2008-09-18 16:29:19 UTC (rev 682) @@ -8,62 +8,82 @@ * @packager Keyboard Monkeys */ --> -<table class="categoriesTable"> - <tr> - <td>{path}</td> - </tr> - <tr> - <td> - <table "width=100%" border="0"> - {categories} +<script type="text/javascript"> + YAHOO.util.Event.onDOMReady(function() { + var mainViewTabs = new YAHOO.widget.TabView("mainViewTabs"); + }); +</script> +<div id="mainViewTabs" > + <ul class="yui-nav"> + <li class="selected"> + <a href="#categories">[l]Categories[/l]</a> + </li> + <li> + <a href="#articles">[l]Articles[/l]</a> + </li> + </ul> + <div class="yui-content"> + <div> + <table class="categoriesTable"> + <tr> + <td>{path}</td> + </tr> + <tr> + <td> + <table "width=100%" border="0"> + {categories} + </table> + </td> + </tr> </table> - </td> - </tr> -</table> + </div> + <div> + <div class="title_view"> + <div class="title_content"> + <span> + {navigationTitle} + <a href="javascript:void(0)" onclick="addFavorite('location')"><img id="favoriteStarImg" src="images/star.png" alt="[l]Add location to favorites[/l]" title="[l]Add location to favorites[/l]" style="display:{favoriteLocationStarImgDisplay}" /><img id="unFavoriteStarImg" src="images/star_crossed.png" alt="[l]Remove location from favorites[/l]" title="[l]Remove location from favorites[/l]" style="display:{unFavoriteLocationStarImgDisplay}" /><img id="favoriteProgressImg" src="images/progress.gif" style="display:none" /></a> + </span> + </div> + <p class="view_left"> + <!-- BEGIN viewAllLink_block --> + <a href="{viewAllLink}" style="font-weight:bold; font-size:10px">[l]View All[/l]</a> + <!-- END viewAllLink_block --> + <!-- BEGIN viewArticlesLink_block --> + <a href="{viewArticlesLink}" style="font-weight:bold; font-size:10px">[l]Articles only[/l]</a> + <!-- END viewArticlesLink_block --> + <!-- BEGIN viewBookmarksLink_block --> + <a href="{viewBookmarksLink}" style="font-weight:bold; font-size:10px">[l]Bookmarks only[/l]</a> + <!-- END viewBookmarksLink_block --> + </p> + <p class="view_right">[l]Sort by:[/l] + <span class="button_gray"><a href="{sortByDateLink}">[l]Date[/l]</a>{sortByDateArrow}</span> + <span class="button_gray"><a href="{sortByViewsLink}">[l]Views[/l]</a>{sortByViewsArrow}</span> + </p> + </div><!--end title_view--> -<div class="title_view"> - <div class="title_content"> - <span> - {navigationTitle} - <a href="javascript:void(0)" onclick="addFavorite('location')"><img id="favoriteStarImg" src="images/star.png" alt="[l]Add location to favorites[/l]" title="[l]Add location to favorites[/l]" style="display:{favoriteLocationStarImgDisplay}" /><img id="unFavoriteStarImg" src="images/star_crossed.png" alt="[l]Remove location from favorites[/l]" title="[l]Remove location from favorites[/l]" style="display:{unFavoriteLocationStarImgDisplay}" /><img id="favoriteProgressImg" src="images/progress.gif" style="display:none" /></a> - </span> + <!-- BEGIN articles_block --> + <h2> + <i>({art_num}) </i> + <img src="images/{articleImage}" /> + <a href="{art_link}">{art_title}</a> {bookmark_edit} + <!-- BEGIN question_block --> + ({questionStr}) + <!-- END question_block --> + </h2> + <div> + {modifOrCreated} {art_date} - {img_stars} {attachment} + </div> + <div class="art_category">{art_category}</div> + <p>{art_excerpt}</p> + <div class="author"><span>{art_author}</span></div> + <!-- END articles_block --> + <!-- BEGIN noArticles_block --> + <div style="text-align:center; margin-top:15px"> + {noArticlesMessage} + </div> + <!-- END noArticles_block --> + {paginationLinks} + </div> </div> - <p class="view_left"> - <!-- BEGIN viewAllLink_block --> - <a href="{viewAllLink}" style="font-weight:bold; font-size:10px">[l]View All[/l]</a> - <!-- END viewAllLink_block --> - <!-- BEGIN viewArticlesLink_block --> - <a href="{viewArticlesLink}" style="font-weight:bold; font-size:10px">[l]Articles only[/l]</a> - <!-- END viewArticlesLink_block --> - <!-- BEGIN viewBookmarksLink_block --> - <a href="{viewBookmarksLink}" style="font-weight:bold; font-size:10px">[l]Bookmarks only[/l]</a> - <!-- END viewBookmarksLink_block --> - </p> - <p class="view_right">[l]Sort by:[/l] - <span class="button_gray"><a href="{sortByDateLink}">[l]Date[/l]</a>{sortByDateArrow}</span> - <span class="button_gray"><a href="{sortByViewsLink}">[l]Views[/l]</a>{sortByViewsArrow}</span> - </p> -</div><!--end title_view--> - -<!-- BEGIN articles_block --> -<h2> - <i>({art_num}) </i> - <img src="images/{articleImage}" /> - <a href="{art_link}">{art_title}</a> {bookmark_edit} - <!-- BEGIN question_block --> - ({questionStr}) - <!-- END question_block --> -</h2> -<div> - {modifOrCreated} {art_date} - {img_stars} {attachment} </div> -<div class="art_category">{art_category}</div> -<p>{art_excerpt}</p> -<div class="author"><span>{art_author}</span></div> -<!-- END articles_block --> -<!-- BEGIN noArticles_block --> -<div style="text-align:center; margin-top:15px"> - {noArticlesMessage} -</div> -<!-- END noArticles_block --> -{paginationLinks} Modified: trunk/templates/ViewArticle.tpl =================================================================== --- trunk/templates/ViewArticle.tpl 2008-09-16 23:18:51 UTC (rev 681) +++ trunk/templates/ViewArticle.tpl 2008-09-18 16:29:19 UTC (rev 682) @@ -10,6 +10,9 @@ --> <script type="text/javascript"> var artId = {art_id}; + YAHOO.util.Event.onDOMReady(function() { + var articleTabs = new YAHOO.widget.TabView("articleTabs"); + }); </script> <div class="title_view"> <div class="title_content"> @@ -58,76 +61,86 @@ </p> <span id="publishArticleStatusMessage" style="font-weight:bold; color:red"></span> </div><!--end title_view--> -<div id="tabs"> - <div class="view_mode"> - <span><a href="#tab_article">[l]Article[/l]</a></span> <span><a href="#tab_links">[l]Links & Files[/l]</a></span> <span><a href="#tab_history">[l]History[/l]</a></span> - </div> - <div id="tab_article" class="tab"> - <h2> - <a href="">{title}</a> - </h2> - <p>{content}</p> - <div id="commentsDiv"> - {commentsTable} +<div id="articleTabs"> + <ul class="yui-nav"> + <li class="selected"> + <a href="#article">[l]Article[/l]</a> + </li> + <li> + <a href="#links">[l]Links & Files[/l]</a> + </li> + <li> + <a href="#history">[l]History[/l]</a> + </li> + </ul> + <div class="yui-content"> + <div> + <h2> + <a href="">{title}</a> + </h2> + <p>{content}</p> + <div id="commentsDiv"> + {commentsTable} + </div> </div> - </div> - <div id="tab_links" class="tab"> - <h2> - [l]Attached Files[/l] - </h2> - <form method="POST" action="{form_del_action}"> - <ul> - <!-- BEGIN file_item_block --> - <li> - {img_delete} - <a href="{getFileLink}">{file_name}</a>: {file_comment} - </li> - <!-- END file_item_block --> - </ul> - </form> - <!-- BEGIN file_upload_block --> - <form method="POST" name="file_form" action="{uploadAction}" enctype="multipart/form-data"> - [l]Attach File[/l]: <input type='file' name='new_file'> - [l]comment[/l]: <input type="text" name="file_comment"> - <input type=submit name="upload" value="[l]Upload[/l]"> - ([l]Maximum file size[/l]: {maxFileSize}) - </form> - <!-- END file_upload_block --> - <div id="relatedArticlesDiv"> - {relatedArticlesTable} + <div> + <h2> + [l]Attached Files[/l] + </h2> + <form method="POST" action="{form_del_action}"> + <ul> + <!-- BEGIN file_item_block --> + <li> + {img_delete} + <a href="{getFileLink}">{file_name}</a>: {file_comment} + </li> + <!-- END file_item_block --> + </ul> + </form> + <!-- BEGIN file_upload_block --> + <form method="POST" name="file_form" action="{uploadAction}" enctype="multipart/form-data"> + [l]Attach File[/l]: <input type='file' name='new_file'> + [l]comment[/l]: <input type="text" name="file_comment"> + <input type=submit name="upload" value="[l]Upload[/l]"> + ([l]Maximum file size[/l]: {maxFileSize}) + </form> + <!-- END file_upload_block --> + <div id="relatedArticlesDiv"> + {relatedArticlesTable} + </div> </div> + <div> + <h2> + [l]History[/l] + </h2> + <table collspace="0" > + <tr> + <th scope="col" class="specth"> + [l]Date[/l] + </th> + <th scope="col"> + [l]User[/l] + </th> + <th scope="col"> + [l]Action[/l] + </th> + </tr> + <!-- BEGIN history_line_block --> + <tr> + <td class="spec"> + {historyDate} + </td> + <td> + {historyUser} + </td> + <td> + {historyAction} + </td> + </tr> + <!-- END history_line_block --> + </table> + </div> </div> - <div id="tab_history" class="tab"> - <h2> - [l]History[/l] - </h2> - <table collspace="0" > - <tr> - <th scope="col" class="specth"> - [l]Date[/l] - </th> - <th scope="col"> - [l]User[/l] - </th> - <th scope="col"> - [l]Action[/l] - </th> - </tr> - <!-- BEGIN history_line_block --> - <tr> - <td class="spec"> - {historyDate} - </td> - <td> - {historyUser} - </td> - <td> - {historyAction} - </td> - </tr> - <!-- END history_line_block --> - </table> - </div> </div><!--end tabs--> <!-- BEGIN img_delete_block --> Modified: trunk/templates/head.tpl =================================================================== --- trunk/templates/head.tpl 2008-09-16 23:18:51 UTC (rev 681) +++ trunk/templates/head.tpl 2008-09-18 16:29:19 UTC (rev 682) @@ -28,12 +28,12 @@ <script type="text/javascript" src="javascript/yui/build/calendar/calendar-min.js"></script> <script type="text/javascript" src="javascript/yui/build/logger/logger-min.js"></script> <script type="text/javascript" src="javascript/yui/build/json/json-min.js"></script> + <script type="text/javascript" src="javascript/yui/build/tabview/tabview-min.js"></script> <!-- required by effects.js --> <script type="text/javascript" src="javascript/effects-min.js"></script> <script src="javascript/jquery.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript" src="javascript/general.js"></script> - <script type="text/javascript" src="javascript/simModal.js"></script> <script type="text/javascript" src="javascript/overlib.js"></script> <!-- BEGIN rtl_block --> <style> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-09-18 10:39:22
|
Revision: 683 http://sciret.svn.sourceforge.net/sciret/?rev=683&view=rev Author: alpeb Date: 2008-09-18 17:39:20 +0000 (Thu, 18 Sep 2008) Log Message: ----------- some fixes to the tabs Modified Paths: -------------- trunk/style.css trunk/templates/MainView.tpl trunk/templates/ViewArticle.tpl Modified: trunk/style.css =================================================================== --- trunk/style.css 2008-09-18 16:29:19 UTC (rev 682) +++ trunk/style.css 2008-09-18 17:39:20 UTC (rev 683) @@ -855,10 +855,8 @@ .yui-skin-sam .yui-navset .yui-nav a em, .yui-skin-sam .yui-navset .yui-navset-top .yui-nav a em { - border:solid #a3a3a3; - border-width:1px 0 0; - cursor:hand; - padding:0.25em .75em; + border:none; + padding:0.15em .55em; left:0; right: 0; bottom: 0; /* protect from other orientations */ top:-1px; /* for 1px rounded corners */ position:relative; @@ -879,16 +877,19 @@ } .yui-skin-sam .yui-navset .yui-nav .selected a em { - padding:0.35em 0.75em; /* raise selected tab */ + padding:0.25em .55em; /* raise selected tab */ } -.yui-skin-sam .yui-navset .yui-nav .selected a, -.yui-skin-sam .yui-navset .yui-nav .selected a em { +.yui-skin-sam .yui-navset .yui-nav .selected a { border-top: 1px solid #e4e4e4; border-right: 1px solid #b2b2b2; border-left: 1px solid #b2b2b2; } +.yui-skin-sam .yui-navset .yui-nav .selected a em { + border:none; +} + .yui-skin-sam .yui-navset .yui-content { background:#fff; } Modified: trunk/templates/MainView.tpl =================================================================== --- trunk/templates/MainView.tpl 2008-09-18 16:29:19 UTC (rev 682) +++ trunk/templates/MainView.tpl 2008-09-18 17:39:20 UTC (rev 683) @@ -16,10 +16,10 @@ <div id="mainViewTabs" > <ul class="yui-nav"> <li class="selected"> - <a href="#categories">[l]Categories[/l]</a> + <a href="#categories"><em>[l]Categories[/l]</em></a> </li> <li> - <a href="#articles">[l]Articles[/l]</a> + <a href="#articles"><em>[l]Articles[/l]</em></a> </li> </ul> <div class="yui-content"> Modified: trunk/templates/ViewArticle.tpl =================================================================== --- trunk/templates/ViewArticle.tpl 2008-09-18 16:29:19 UTC (rev 682) +++ trunk/templates/ViewArticle.tpl 2008-09-18 17:39:20 UTC (rev 683) @@ -64,13 +64,13 @@ <div id="articleTabs"> <ul class="yui-nav"> <li class="selected"> - <a href="#article">[l]Article[/l]</a> + <a href="#article"><em>[l]Article[/l]</em></a> </li> <li> - <a href="#links">[l]Links & Files[/l]</a> + <a href="#links"><em>[l]Links & Files[/l]</em></a> </li> <li> - <a href="#history">[l]History[/l]</a> + <a href="#history"><em>[l]History[/l]</em></a> </li> </ul> <div class="yui-content"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-09-23 15:39:09
|
Revision: 688 http://sciret.svn.sourceforge.net/sciret/?rev=688&view=rev Author: alpeb Date: 2008-09-23 15:39:01 +0000 (Tue, 23 Sep 2008) Log Message: ----------- added categories and articles counter under the categories tab in the mainview Modified Paths: -------------- trunk/templates/MainView.tpl trunk/views/MainView.php Modified: trunk/templates/MainView.tpl =================================================================== --- trunk/templates/MainView.tpl 2008-09-19 23:04:59 UTC (rev 687) +++ trunk/templates/MainView.tpl 2008-09-23 15:39:01 UTC (rev 688) @@ -36,6 +36,15 @@ </td> </tr> </table> + [l]Total Number of Categories:[/l] + {numCats}<br /> + <!-- BEGIN totalNumArts_block --> + [l]Total Number of Articles:[/l] + <!-- END totalNumArts_block --> + <!-- BEGIN totalNumArtsCat_block --> + [l]Total Number of Articles in this Category:[/l] + <!-- END totalNumArtsCat_block --> + {numArts} </div> <div> <div class="title_view"> Modified: trunk/views/MainView.php =================================================================== --- trunk/views/MainView.php 2008-09-19 23:04:59 UTC (rev 687) +++ trunk/views/MainView.php 2008-09-23 15:39:01 UTC (rev 688) @@ -51,6 +51,8 @@ $this->tpl->set_block('mostViewedArts_block', 'mostViewedArtsItem_block', 'mostViewedArtsItem'); $this->tpl->set_block('unansweredQuestions_block', 'unansweredQuestionsItem_block', 'unansweredQuestionsItem'); + $this->tpl->set_block('main', 'totalNumArts_block', 'totalNumArts'); + $this->tpl->set_block('main', 'totalNumArtsCat_block', 'totalNumArtsCat'); $this->tpl->set_block('main', 'viewAllLink_block', 'viewAllLink'); $this->tpl->set_block('main', 'viewArticlesLink_block', 'viewArticlesLink'); $this->tpl->set_block('main', 'viewBookmarksLink_block', 'viewBookmarksLink'); @@ -124,14 +126,23 @@ $articleGateway = new ArticleGateway; $categoryGateway = new CategoryGateway; $this->categories = $categoryGateway->getCategories(); + $numCats = count($categoryGateway->getSubcategoriesIds($this->categories[$catId])); if ($catId > 0) { $path = $this->_getCategoryPath($catId, 'MainView', true); $this->tpl->set_var('path', $this->user->lang('You are in %s', $path)); + $this->tpl->parse('totalNumArtsCat', 'totalNumArtsCat_block'); + $this->tpl->set_var('totalNumArts', ''); + + // don't include current cat in the counter + $numCats--; } else { $this->tpl->set_var('path', ''); + $this->tpl->parse('totalNumArts', 'totalNumArts_block'); + $this->tpl->set_var('totalNumArtsCat', ''); } $this->tpl->set_var(array( 'categories' => $this->_getCategoriesHTML($this->categories[$catId]->getChildren(), 'MainView'), + 'numCats' => $numCats, )); // ** ARTICLES LIST ** @@ -144,6 +155,7 @@ $this->user->getPreference('articlesPerPage'), isset($_GET['set'])? $_GET['set'] : 'all', isset($_GET['sort'])? $_GET['sort'] : false); + $this->tpl->set_var('numArts', $articles->getNumItems()); $firstIteration = true; while ($article = $articles->fetch()) { unset($this->tPath); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-09-23 17:11:35
|
Revision: 689 http://sciret.svn.sourceforge.net/sciret/?rev=689&view=rev Author: alpeb Date: 2008-09-23 17:11:08 +0000 (Tue, 23 Sep 2008) Log Message: ----------- make the virus warning more visible Modified Paths: -------------- trunk/actions/UploadFile.php trunk/style.css trunk/templates/header.tpl Modified: trunk/actions/UploadFile.php =================================================================== --- trunk/actions/UploadFile.php 2008-09-23 15:39:01 UTC (rev 688) +++ trunk/actions/UploadFile.php 2008-09-23 17:11:08 UTC (rev 689) @@ -39,7 +39,9 @@ try { if ($file->hasVirus($_FILES['new_file']['tmp_name'])) { - $_SESSION['message'] = $this->user->lang('*** THE UPLOADED FILE HAD A VIRUS. The file has been discarded ***'); + $_SESSION['message'] = '<div id="virusWarning">' + . $this->user->lang('*** THE UPLOADED FILE HAD A VIRUS OR SOME KIND OF MALWARE. The file has been discarded ***') + . '</div>'; Library::redirect(Library::getLink(array('view' => 'ViewArticle', 'id' => $artId))); } $file->setVirusChecked(true); Modified: trunk/style.css =================================================================== --- trunk/style.css 2008-09-23 15:39:01 UTC (rev 688) +++ trunk/style.css 2008-09-23 17:11:08 UTC (rev 689) @@ -50,6 +50,22 @@ font-size: 1.2em; } +#statusMessage { + display: inline; + margin: 5px 0; + font-weight: bold; + text-align: center; + color: red +} + +#virusWarning { + display: block; + text-align: center; + padding: 5px; + background-color: yellow; + border: 1px dotted red; +} + /* head_keyboard */ #head_keyboard { Modified: trunk/templates/header.tpl =================================================================== --- trunk/templates/header.tpl 2008-09-23 15:39:01 UTC (rev 688) +++ trunk/templates/header.tpl 2008-09-23 17:11:08 UTC (rev 689) @@ -64,5 +64,5 @@ </div><!-- end menu --> <div id="content_left"> - <div id="statusMessage" style='display:inline; margin:5px 0; font-weight:bold; text-align:center; color:red'>{message}</div> + <div id="statusMessage">{message}</div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-09-23 22:36:03
|
Revision: 691 http://sciret.svn.sourceforge.net/sciret/?rev=691&view=rev Author: alpeb Date: 2008-09-23 22:35:56 +0000 (Tue, 23 Sep 2008) Log Message: ----------- [#16] added RSS for categories Modified Paths: -------------- trunk/flowMap.php trunk/templates/MainView.tpl trunk/views/MainView.php Added Paths: ----------- trunk/templates/Rss.tpl trunk/views/Rss.php Modified: trunk/flowMap.php =================================================================== --- trunk/flowMap.php 2008-09-23 20:41:51 UTC (rev 690) +++ trunk/flowMap.php 2008-09-23 22:35:56 UTC (rev 691) @@ -18,6 +18,7 @@ 'InstallOk' => array(User::ROLE_ANONYMOUS, true, true, false, false), 'Login' => array(User::ROLE_ANONYMOUS, true, true, true, false), 'MainView' => array(User::ROLE_ANONYMOUS, true, true, true, true), + 'Rss' => array(User::ROLE_ANONYMOUS, true, false, false, true), 'EditArticle' => array(User::ROLE_REGISTERED, true, true, true), 'EditBookmark' => array(User::ROLE_REGISTERED, true, true, true), 'ViewArticle' => array(User::ROLE_ANONYMOUS, true, true, true, true), Modified: trunk/templates/MainView.tpl =================================================================== --- trunk/templates/MainView.tpl 2008-09-23 20:41:51 UTC (rev 690) +++ trunk/templates/MainView.tpl 2008-09-23 22:35:56 UTC (rev 691) @@ -48,11 +48,13 @@ </div> <div> <div class="title_view"> - <div class="title_content"> + <div class="title_content" style="position:relative"> <span> {navigationTitle} <a href="javascript:void(0)" onclick="addFavorite('location')"><img id="favoriteStarImg" src="images/star.png" alt="[l]Add location to favorites[/l]" title="[l]Add location to favorites[/l]" style="display:{favoriteLocationStarImgDisplay}" /><img id="unFavoriteStarImg" src="images/star_crossed.png" alt="[l]Remove location from favorites[/l]" title="[l]Remove location from favorites[/l]" style="display:{unFavoriteLocationStarImgDisplay}" /><img id="favoriteProgressImg" src="images/progress.gif" style="display:none" /></a> </span> + <span style="position:absolute; right:0; top:7px"> + <a href="{rssLink}"><img src="images/rss.gif" /></a></span> </div> <p class="view_left"> <!-- BEGIN viewAllLink_block --> Added: trunk/templates/Rss.tpl =================================================================== --- trunk/templates/Rss.tpl (rev 0) +++ trunk/templates/Rss.tpl 2008-09-23 22:35:56 UTC (rev 691) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<rss version="2.0"> + <channel> + <title> + [l]Knowledge Base Articles[/l] {category} + </title> + <link>{link}</link> + <description> + [l]Knowledge Base Articles[/l]{category} + </description> + <generator>Sciret version {version}</generator> + <!-- BEGIN articles_block --> + <item> + <title>{art_title} [l]by[/l] {art_author}</title> + <link>{art_link}</link> + <description>{art_excerpt}</description> + <pubDate>{art_date}</pubDate> + </item> + <!-- END articles_block --> + </channel> +</rss> Modified: trunk/views/MainView.php =================================================================== --- trunk/views/MainView.php 2008-09-23 20:41:51 UTC (rev 690) +++ trunk/views/MainView.php 2008-09-23 22:35:56 UTC (rev 691) @@ -71,6 +71,7 @@ 'viewBookmarksLink' => Library::getLink(array('view' => 'MainView', 'set' => 'bookmarks')), 'sortByDateLink' => Library::getLink(array('view' => 'MainView', 'sort' => 'created_'.($order == 'created' && $direction == 'desc'? 'asc' : 'desc'))), 'sortByViewsLink' => Library::getLink(array('view' => 'MainView', 'sort' => 'views_'.($order == 'views' && $direction == 'desc'? 'asc' : 'desc'))), + 'rssLink' => Library::getLink(array('view' => 'Rss', 'catId' => $catId, 'items' => 10)), )); if ($catId != 0) { Added: trunk/views/Rss.php =================================================================== --- trunk/views/Rss.php (rev 0) +++ trunk/views/Rss.php 2008-09-23 22:35:56 UTC (rev 691) @@ -0,0 +1,72 @@ +<?php + +/* +* @copyright Copyright (C) 2005-2008 Keyboard Monkeys Ltd http://www.kb-m.com +* @license http://www.fsf.org/copyleft/lgpl.html GNU Lesser General Public License +* @author Alejandro Pedraza +* @since Sciret 1.0 +* @package Sciret +* @packager Keyboard Monkeys +*/ + +require_once 'views/View.php'; +require_once 'models/ArticleGateway.php'; + +class Rss extends View +{ + const DEFAULT_NUM_ITEMS = 10; + private $_allowedNumItems = array(3, 5, 10, 20); + + public function dispatch() + { + $this->tpl->set_file('main', 'Rss.tpl'); + $this->tpl->set_block('main', 'articles_block', 'articles'); + + if (isset($_GET['catId']) && $_GET['catId'] > 0) { + $catId = (int)$_GET['catId']; + $category = new Category($catId); + $this->tpl->set_var('category', ' - ' . $this->user->lang('Category %s', $category->getLabel())); + } else { + $catId = 0; + $this->tpl->set_var('category', ''); + } + + if (!isset($_GET['items']) || !in_array($_GET['items'], $this->_allowedNumItems)) { + $_GET['items'] = self::DEFAULT_NUM_ITEMS; + } + + $config = new Configuration(); + + $this->tpl->set_var(array( + 'link' => htmlspecialchars(Library::getLink()), + 'version' => $config->getConfigValue('version'), + )); + + $articleGateway = new ArticleGateway; + $articles = $articleGateway->getArticles( $catId, + $this->user->getPreference('navigationType') == 'catAndSubCats', + false, + false, + false, + 0, + $_GET['items'], + isset($_GET['set'])? $_GET['set'] : 'all', + isset($_GET['sort'])? $_GET['sort'] : false); + $firstIteration = true; + while ($article = $articles->fetch()) { + unset($this->tPath); + $this->tpl->set_var(array( + 'art_link' => htmlspecialchars($article->isBookmark()? $article->getURL(true) : Library::getLink(array('view' => 'ViewArticle', 'id' => $article->getId()))), + 'art_title' => htmlspecialchars($article->getTitle()), + 'art_date' => date('r', strtotime($article->getModifiedByUserId() > 0? $article->getModificationDate() : $article->getCreationDate())), + 'art_excerpt' => strip_tags($article->getExcerpt()).($article->isBookmark()? '' : '...'), + 'art_author' => htmlspecialchars($article->getCreatedBy()), + )); + + $this->tpl->parse('articles', 'articles_block', !$firstIteration); + $firstIteration = false; + } + + $this->tpl->pparse('out', 'main'); + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-09-24 22:07:45
|
Revision: 697 http://sciret.svn.sourceforge.net/sciret/?rev=697&view=rev Author: alpeb Date: 2008-09-24 22:07:30 +0000 (Wed, 24 Sep 2008) Log Message: ----------- fixed more RSS issues Modified Paths: -------------- trunk/templates/Rss.tpl trunk/views/Rss.php Modified: trunk/templates/Rss.tpl =================================================================== --- trunk/templates/Rss.tpl 2008-09-24 22:05:30 UTC (rev 696) +++ trunk/templates/Rss.tpl 2008-09-24 22:07:30 UTC (rev 697) @@ -2,12 +2,10 @@ <rss version="2.0"> <channel> <title> - [l]Knowledge Base Articles[/l] {category} + [l]Knowledge Base Articles[/l] </title> <link>{link}</link> - <description> - [l]Knowledge Base Articles[/l]{category} - </description> + <description>{category}</description> <generator>Sciret version {version}</generator> <!-- BEGIN articles_block --> <item> Modified: trunk/views/Rss.php =================================================================== --- trunk/views/Rss.php 2008-09-24 22:05:30 UTC (rev 696) +++ trunk/views/Rss.php 2008-09-24 22:07:30 UTC (rev 697) @@ -27,7 +27,7 @@ if (isset($_GET['catId']) && $_GET['catId'] > 0) { $catId = (int)$_GET['catId']; $category = new Category($catId); - $this->tpl->set_var('category', ' - ' . $this->user->lang('Category %s', $category->getLabel())); + $this->tpl->set_var('category', $this->user->lang('Category %s', $category->getLabel())); } else { $catId = 0; $this->tpl->set_var('category', ''); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-09-24 22:35:23
|
Revision: 698 http://sciret.svn.sourceforge.net/sciret/?rev=698&view=rev Author: alpeb Date: 2008-09-24 22:35:17 +0000 (Wed, 24 Sep 2008) Log Message: ----------- added copyright info Modified Paths: -------------- trunk/style.css trunk/templates/footer.tpl Modified: trunk/style.css =================================================================== --- trunk/style.css 2008-09-24 22:07:30 UTC (rev 697) +++ trunk/style.css 2008-09-24 22:35:17 UTC (rev 698) @@ -820,6 +820,14 @@ border-bottom: 2px solid #d6d6d6; } +#foot p { + margin-left: 15px; + margin-right: 15px; + padding-bottom: 5px; + color: #595959; + font-size: 0.7em; +} + #foot a:hover { border-bottom-color: #777; } Modified: trunk/templates/footer.tpl =================================================================== --- trunk/templates/footer.tpl 2008-09-24 22:07:30 UTC (rev 697) +++ trunk/templates/footer.tpl 2008-09-24 22:35:17 UTC (rev 698) @@ -143,7 +143,9 @@ </div><!--end content--> </div><!--end container--> -<div id="foot"></div><!--end foot--> +<div id="foot"> + <p>Copyright (C) 2005-2008 Keyboard Monkeys Ltd.</p> +</div> </body> </html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-09-24 22:51:27
|
Revision: 699 http://sciret.svn.sourceforge.net/sciret/?rev=699&view=rev Author: alpeb Date: 2008-09-24 22:51:12 +0000 (Wed, 24 Sep 2008) Log Message: ----------- refactored mail functionality to its own class Modified Paths: -------------- trunk/actions/MailArticle.php Added Paths: ----------- trunk/models/EmailGateway.php Modified: trunk/actions/MailArticle.php =================================================================== --- trunk/actions/MailArticle.php 2008-09-24 22:35:17 UTC (rev 698) +++ trunk/actions/MailArticle.php 2008-09-24 22:51:12 UTC (rev 699) @@ -11,7 +11,6 @@ require 'actions/Action.php'; require 'models/Article.php'; -require 'models/class.phpmailer.inc.php'; class MailArticle extends Action { @@ -36,7 +35,7 @@ Library::redirect(Library::getLink(array('view' => 'MailArticle', 'artId' => $articleId))); } - $mail = $this->setUpMailer(); + $mail = new EmailGateway($this->configuration); if ($_POST['replyTo'] != '') { $mail->AddReplyTo($_POST['replyTo']); @@ -60,30 +59,6 @@ $_SESSION['message'] = $this->user->lang('E-mail has been successfuly sent'); Library::redirect(Library::getLink(array('view' => 'ViewArticle', 'id' => $articleId))); } - - function setUpMailer() { - $mail = new PHPMailer(); - - $config = $this->configuration; - $transport = $config->getConfigValue('mailTransport'); - - if ($transport == 'smtp') { - $mail->IsSMTP(); - $mail->Host = $config->getConfigValue('smtpServer'); - $mail->Username = $config->getConfigValue('smtpUser'); - $mail->Password = $config->getConfigValue('smtpPassword'); - $mail->Port = $config->getConfigValue('smtpPort'); - } else if ($transport == 'sendmail') { - $mail->IsSendmail(); - } - - $mail->CharSet = "utf-8"; - $mail->FromName = $config->getConfigValue('mailFromName'); - $mail->From = $config->getConfigValue('mailFromMail'); - - return $mail; - } - } ?> Added: trunk/models/EmailGateway.php =================================================================== --- trunk/models/EmailGateway.php (rev 0) +++ trunk/models/EmailGateway.php 2008-09-24 22:51:12 UTC (rev 699) @@ -0,0 +1,29 @@ +<?php + +require 'models/class.phpmailer.inc.php'; + +class EmailGateway extends PHPMailer +{ + private $_config; + + function __construct($config) + { + $this->_config = $config; + + $transport = $this->_config->getConfigValue('mailTransport'); + + if ($transport == 'smtp') { + $this->IsSMTP(); + $this->Host = $this->_config->getConfigValue('smtpServer'); + $this->Username = $this->_config->getConfigValue('smtpUser'); + $this->Password = $this->_config->getConfigValue('smtpPassword'); + $this->Port = $this->_config->getConfigValue('smtpPort'); + } else if ($transport == 'sendmail') { + $this->IsSendmail(); + } + + $this->CharSet = "utf-8"; + $this->FromName = $this->_config->getConfigValue('mailFromName'); + $this->From = $this->_config->getConfigValue('mailFromMail'); + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-09-24 22:53:38
|
Revision: 701 http://sciret.svn.sourceforge.net/sciret/?rev=701&view=rev Author: alpeb Date: 2008-09-24 22:53:27 +0000 (Wed, 24 Sep 2008) Log Message: ----------- added ability for users to request the creation of a category Modified Paths: -------------- trunk/actions/SavePreferences.php trunk/flowMap.php trunk/templates/EditPreferences.tpl trunk/templates/MainView.tpl trunk/views/EditPreferences.php trunk/views/MainView.php Added Paths: ----------- trunk/actions/SaveRequestCategory.php trunk/forms/ trunk/forms/RequestCategoryForm.php trunk/templates/RequestCategory.tpl trunk/views/RequestCategory.php Modified: trunk/actions/SavePreferences.php =================================================================== --- trunk/actions/SavePreferences.php 2008-09-24 22:51:52 UTC (rev 700) +++ trunk/actions/SavePreferences.php 2008-09-24 22:53:27 UTC (rev 701) @@ -47,6 +47,7 @@ $this->configuration->setConfigValue('mailTransport', $_POST['mailTransport'] == 'smtp' ? 'smtp' : 'sendmail'); $this->configuration->setConfigValue('mailFromName', $_POST['mailFromName']); $this->configuration->setConfigValue('mailFromMail', $_POST['mailFromMail']); + $this->configuration->setConfigValue('mailCategoryRequest', $_POST['mailCategoryRequest']); $this->configuration->setConfigValue('smtpServer', $_POST['smtpServer']); $this->configuration->setConfigValue('smtpUser', $_POST['smtpUser']); $this->configuration->setConfigValue('smtpPassword', $_POST['smtpPassword']); Added: trunk/actions/SaveRequestCategory.php =================================================================== --- trunk/actions/SaveRequestCategory.php (rev 0) +++ trunk/actions/SaveRequestCategory.php 2008-09-24 22:53:27 UTC (rev 701) @@ -0,0 +1,73 @@ +<?php + +/* +* @copyright Copyright (C) 2005-2008 Keyboard Monkeys Ltd. http://www.kb-m.com +* @license http://www.fsf.org/copyleft/lgpl.html GNU Lesser General Public License +* @author Alejandro Pedraza +* @since Sciret 1.2 +* @package Sciret +* @packager Keyboard Monkeys +*/ + +require 'actions/Action.php'; + +class SaveRequestCategory extends Action +{ + public function dispatch() + { + if (!$this->configuration->getConfigValue('mailCategoryRequest')) { + $_SESSION['message'] = $this->user->lang('System Error: The admininstrator hasn\'t configured that option yet.'); + Library::redirect(Library::getLink(array('view' => 'MainView'))); + } + + $categoryGateway = new CategoryGateway(); + $form = new RequestCategoryForm(null, $this->user, $categoryGateway->getCategories()); + $this->_validateForm($form); + + $mail = new EmailGateway($this->configuration); + + $mail->AddAddress($this->configuration->getConfigValue('mailCategoryRequest')); + $mail->Subject = $this->user->lang('A user has requested a category'); + $parentCategory = new Category($form->getValue('parentCategory')); + $mail->Body = $this->user->lang('The user %s (%s) has requested the inclusion in the Knowledge Base of a category named "%s", under the category "%s"', + $form->getValue('name'), + $form->getValue('email'), + $form->getValue('newCategoryName'), + $parentCategory->getId()? $parentCategory->getLabel() : $this->user->lang('Root')); + if ($comments = $form->getValue('comments')) { + $mail->Body .= "\r\n\r\n" . $this->user->lang('The user provided these comments:'); + $mail->Body .= "\r\n\r\n$comments"; + } + + if (!$mail->Send()) { + $_SESSION['message'] = $this->user->lang('Sorry, there was a problem notifying the administrator. Please try again later.'); + Library::redirect(Library::getLink(array('view' => 'MainView'))); + } + + $_SESSION['message'] = $this->user->lang('The administrator has been notified of your request.'); + Library::redirect(Library::getLink(array('view' => 'MainView'))); + } + + private function _validateForm($form) + { + $formData = array( + 'parentCategory' => $_POST['parentCategory'], + 'newCategoryName' => $_POST['newCategoryName'], + 'comments' => $_POST['comments'], + ); + + if (!$this->user->isAnonymous()) { + $formData['name'] = $this->user->getFullName(); + $formData['email'] = $this->user->email; + } else { + $formData['name'] = $_POST['name']; + $formData['email'] = $_POST['email']; + } + + if (!$form->isValid($formData)) { + $appSession = Zend_Registry::get('appSession'); + $appSession->requestCategoryForm = $form; + Library::redirect(Library::getLink(array('view' => 'RequestCategory'))); + } + } +} Modified: trunk/flowMap.php =================================================================== --- trunk/flowMap.php 2008-09-24 22:51:52 UTC (rev 700) +++ trunk/flowMap.php 2008-09-24 22:53:27 UTC (rev 701) @@ -28,6 +28,7 @@ 'AddQuestion' => array(User::ROLE_ANONYMOUS, true, true, true, true), 'EditCategories' => array(User::ROLE_ANONYMOUS, true, true, true, true), 'EditCategory' => array(User::ROLE_ADMIN, true, true, true), + 'RequestCategory' => array(User::ROLE_ANONYMOUS, true, true, true, false), 'EditPreferences' => array(User::ROLE_ANONYMOUS, true, true, true, true), 'ManageArticles' => array(User::ROLE_REGISTERED, true, true, false), 'ManageQuestions' => array(User::ROLE_REGISTERED, true, true, true), @@ -65,6 +66,7 @@ 'DeleteUser' => array(User::ROLE_ADMIN, true), 'AddQuestion' => array(User::ROLE_ANONYMOUS, true, true), 'SaveCategory' => array(User::ROLE_ADMIN, true), + 'SaveRequestCategory' => array(User::ROLE_ANONYMOUS, true, false), 'DeleteCategory' => array(User::ROLE_ADMIN, true), 'SavePreferences' => array(User::ROLE_ANONYMOUS, true, true), 'DeleteArticle' => array(User::ROLE_REGISTERED, true), Added: trunk/forms/RequestCategoryForm.php =================================================================== --- trunk/forms/RequestCategoryForm.php (rev 0) +++ trunk/forms/RequestCategoryForm.php 2008-09-24 22:53:27 UTC (rev 701) @@ -0,0 +1,71 @@ +<?php + +class RequestCategoryForm extends Zend_Form +{ + private $_parentCategory; + + public function __construct($options = null, $user = null, $categories = array()) + { + $this->_parentCategory = new Zend_Form_Element_Select('parentCategory'); + $this->_parentCategory->setLabel('Parent Category') + ->setIsArray(false) + ->addMultiOption(0, $user->lang('Root Category')); + + foreach ($categories[0]->getChildren() as $category) { + $this->_parseCategoriesDropdown($category, 0); + } + + parent::__construct($options); + } + + private function _parseCategoriesDropdown($category, $depth = 0) + { + $indent = str_repeat(' ', $depth); + + $this->_parentCategory->addMultiOption($category->getId(), $indent . $category->getLabel()); + + if ($category->hasChildren()) { + ++$depth; + foreach ($category->getChildren() as $childCategory) { + $this->_parseCategoriesDropdown($childCategory, $depth); + } + } + } + + public function init() + { + $name = new Zend_Form_Element_Text('name'); + $name->setLabel('Your name') + ->setRequired(true); + + $email = new Zend_Form_Element_Text('email'); + $email->setLabel('E-mail') + ->addFilter('StringToLower') + ->setRequired(true) + ->addValidator('EmailAddress'); + + $newCategoryName= new Zend_Form_Element_Text('newCategoryName'); + $newCategoryName->setLabel('The name of the category you want to be included') + ->setRequired(true); + + $comments = new Zend_Form_Element_Textarea('comments'); + $comments->setLabel('Comments') + ->setAttrib('rows', 4); + + $this->AddElements(array($name, $email, $this->_parentCategory, $newCategoryName, $comments)); + } + + + /** + * Overrides Zend_Form method to fix issue + * @see http://www.nabble.com/Zend_Form-without-MVC-problem-td17375245.html + */ + public function setView(Zend_View_Interface $view) + { + parent::setView($view); + foreach ($this as $item) { + $item->setView($view); + } + return $this; + } +} Modified: trunk/templates/EditPreferences.tpl =================================================================== --- trunk/templates/EditPreferences.tpl 2008-09-24 22:51:52 UTC (rev 700) +++ trunk/templates/EditPreferences.tpl 2008-09-24 22:53:27 UTC (rev 701) @@ -156,6 +156,12 @@ </td> </tr> <tr class="row_on"> + <td style="text-align:right; font-weight:bold">[l]Send category creation request to (email)[/l]:</td> + <td> + <input type="text" name="mailCategoryRequest" value="{mailCategoryRequest}"/> + </td> + </tr> + <tr class="row_off"> <td style="text-align:right; font-weight:bold">[l]Send mail using[/l]:</td> <td> <select name="mailTransport" onchange="javascript:toggleSMTPSettings(value);"> @@ -164,7 +170,7 @@ </select> </td> </tr> - <tr class="row_off" id="smtp_options" {showSMTPOptions}> + <tr class="row_on" id="smtp_options" {showSMTPOptions}> <td colspan="2"> <p style="text-align:center; font-weight:bold">[l]SMTP settings[/l]:</p> <ul> @@ -175,7 +181,7 @@ </ul> </td> </tr> - <tr class="row_on"> + <tr class="row_off"> <td style="text-align:right; font-weight:bold"> [l]Check uploaded files for viruses[/l]:<br /> [l](You need to have <a href="http://www.clamav.net">ClamAV</a> in your system)[/l] Modified: trunk/templates/MainView.tpl =================================================================== --- trunk/templates/MainView.tpl 2008-09-24 22:51:52 UTC (rev 700) +++ trunk/templates/MainView.tpl 2008-09-24 22:53:27 UTC (rev 701) @@ -45,6 +45,11 @@ [l]Total Number of Articles in this Category:[/l] <!-- END totalNumArtsCat_block --> {numArts} + <!-- BEGIN requestCat_block --> + <div style="margin-top:10px"> + <a href="{requestCatLink}">[l]Request the creation of a category[/l]</a> + </div> + <!-- END requestCat_block --> </div> <div> <div class="title_view"> Added: trunk/templates/RequestCategory.tpl =================================================================== --- trunk/templates/RequestCategory.tpl (rev 0) +++ trunk/templates/RequestCategory.tpl 2008-09-24 22:53:27 UTC (rev 701) @@ -0,0 +1,22 @@ +<!-- +/* +* @copyright Copyright (C) 2005-2008 Keyboard Monkeys Ltd. http://www.kb-m.com +* @license http://www.fsf.org/copyleft/lgpl.html GNU Lesser General Public License +* @author Alejandro Pedraza +* @since Sciret 1.2 +* @package Sciret +* @packager Keyboard Monkeys +*/ +--> + +<form method="post" action="{formAction}"> + {formName} + {formEmail} + {formParentCategory} + {formNewCategoryName} + {formComments} + <input type="submit" id="submitRequest" value="[l]Send[/l]" /> + <script> + new YAHOO.widget.Button("submitRequest"); + </script> +</form> Modified: trunk/views/EditPreferences.php =================================================================== --- trunk/views/EditPreferences.php 2008-09-24 22:51:52 UTC (rev 700) +++ trunk/views/EditPreferences.php 2008-09-24 22:53:27 UTC (rev 701) @@ -55,6 +55,7 @@ 'passwordExpirationDays' => $this->configuration->getConfigValue('passwordExpirationDays'), 'mailFromName' => $this->configuration->getConfigValue('mailFromName'), 'mailFromMail' => $this->configuration->getConfigValue('mailFromMail'), + 'mailCategoryRequest' => $this->configuration->getConfigValue('mailCategoryRequest'), 'sendMailUsing_sendmail_selected' => $this->configuration->getConfigValue('mailTransport') == 'sendmail' ? 'selected="true" ': '', 'sendMailUsing_smtp_selected' => $this->configuration->getConfigValue('mailTransport') == 'smtp' ? 'selected="true" ': '', 'showSMTPOptions' => $this->configuration->getConfigValue('mailTransport') == 'smtp' ? '' : 'style="display:none;"', Modified: trunk/views/MainView.php =================================================================== --- trunk/views/MainView.php 2008-09-24 22:51:52 UTC (rev 700) +++ trunk/views/MainView.php 2008-09-24 22:53:27 UTC (rev 701) @@ -56,6 +56,7 @@ $this->tpl->set_block('main', 'viewAllLink_block', 'viewAllLink'); $this->tpl->set_block('main', 'viewArticlesLink_block', 'viewArticlesLink'); $this->tpl->set_block('main', 'viewBookmarksLink_block', 'viewBookmarksLink'); + $this->tpl->set_block('main', 'requestCat_block', 'requestCat'); $this->tpl->set_block('articles_block', 'question_block', 'question'); $this->tpl->set_block('unansweredQuestionsItem_block', 'answerLink_block', 'answerLink'); @@ -146,6 +147,14 @@ 'numCats' => $numCats, )); + if (!$this->user->isAdmin()) { + $this->tpl->set_var('requestCatLink', Library::getLink(array('view' => 'RequestCategory', + 'catId' => $catId))); + $this->tpl->parse('requestCat', 'requestCat_block'); + } else { + $this->tpl->set_var('requestCat', ''); + } + // ** ARTICLES LIST ** $articles = $articleGateway->getArticles( $catId, $this->user->getPreference('navigationType') == 'catAndSubCats', Added: trunk/views/RequestCategory.php =================================================================== --- trunk/views/RequestCategory.php (rev 0) +++ trunk/views/RequestCategory.php 2008-09-24 22:53:27 UTC (rev 701) @@ -0,0 +1,65 @@ +<?php + +/* +* @copyright Copyright (C) 2005-2008 Keyboard Monkeys Ltd http://www.kb-m.com +* @license http://www.fsf.org/copyleft/lgpl.html GNU Lesser General Public License +* @author Alejandro Pedraza +* @since Sciret 1.0 +* @package Sciret +* @packager Keyboard Monkeys +*/ + +require_once 'views/View.php'; + +class RequestCategory extends View +{ + public function dispatch() + { + if (!isset($_GET['catId'])) { + $_GET['catId'] = 0; + } + $_GET['catId'] = (int)$_GET['catId']; + + $this->tpl->set_file('main', 'RequestCategory.tpl'); + $this->tpl->set_var(array( + 'formAction' => Library::getLink(array('action' => 'SaveRequestCategory')), + )); + + $categoryGateway = new CategoryGateway(); + + $appSession = Zend_Registry::get('appSession'); + if (isset($appSession->requestCategoryForm)) { + $form = $appSession->requestCategoryForm; + unset($appSession->requestCategoryForm); + } else { + $form = new RequestCategoryForm(null, $this->user, $categoryGateway->getCategories()); + $form->parentCategory->setValue($_GET['catId']); + } + + $view = new Zend_View(); + + // to avoid the being escaped in the categories dropdown + $view->setEscape('stripslashes'); + + $form->setView($view); + $this->tpl->set_var(array( + 'formParentCategory' => $form->parentCategory, + 'formNewCategoryName' => $form->newCategoryName, + 'formComments' => $form->comments, + )); + + if ($this->user->isAnonymous()) { + $this->tpl->set_var(array( + 'formName' => $form->name, + 'formEmail' => $form->email, + )); + } else { + $this->tpl->set_var(array( + 'formName' => '', + 'formEmail' => '', + )); + } + + $this->tpl->pparse('out', 'main'); + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-09-29 21:18:34
|
Revision: 710 http://sciret.svn.sourceforge.net/sciret/?rev=710&view=rev Author: alpeb Date: 2008-09-29 21:17:58 +0000 (Mon, 29 Sep 2008) Log Message: ----------- added ability to report articles (offensive articles, unaccurate content, etc) Modified Paths: -------------- trunk/actions/SavePreferences.php trunk/flowMap.php trunk/setup/final.sql trunk/style.css trunk/templates/EditPreferences.tpl trunk/templates/ViewArticle.tpl trunk/views/EditPreferences.php trunk/views/ViewArticle.php Added Paths: ----------- trunk/actions/SendReportArticle.php trunk/forms/ReportArticleForm.php trunk/images/flag.png trunk/templates/ReportArticle.tpl trunk/views/ReportArticle.php Modified: trunk/actions/SavePreferences.php =================================================================== --- trunk/actions/SavePreferences.php 2008-09-29 16:53:06 UTC (rev 709) +++ trunk/actions/SavePreferences.php 2008-09-29 21:17:58 UTC (rev 710) @@ -49,6 +49,7 @@ $this->configuration->setConfigValue('mailFromName', $_POST['mailFromName']); $this->configuration->setConfigValue('mailFromMail', $_POST['mailFromMail']); $this->configuration->setConfigValue('mailCategoryRequest', $_POST['mailCategoryRequest']); + $this->configuration->setConfigValue('mailArticleReports', $_POST['mailArticleReports']); $this->configuration->setConfigValue('smtpServer', $_POST['smtpServer']); $this->configuration->setConfigValue('smtpUser', $_POST['smtpUser']); $this->configuration->setConfigValue('smtpPassword', $_POST['smtpPassword']); Added: trunk/actions/SendReportArticle.php =================================================================== --- trunk/actions/SendReportArticle.php (rev 0) +++ trunk/actions/SendReportArticle.php 2008-09-29 21:17:58 UTC (rev 710) @@ -0,0 +1,77 @@ +<?php + +/* +* @copyright Copyright (C) 2005-2008 Keyboard Monkeys Ltd. http://www.kb-m.com +* @license http://www.fsf.org/copyleft/lgpl.html GNU Lesser General Public License +* @author Alejandro Pedraza +* @since Sciret 1.2 +* @package Sciret +* @packager Keyboard Monkeys +*/ + +require 'actions/Action.php'; + +class SendReportArticle extends Action +{ + private $_artId; + + public function dispatch() + { + $this->_artId = (int)$_POST['artId']; + + if (!$this->_artId) { + $_SESSION['message'] = $this->user->lang('Bad article ID'); + Library::redirect(Library::getLink(array('view' => 'MainView'))); + } + + $form = new ReportArticleForm(null, $this->user); + $this->_validateForm($form); + + $article = new Article($this->_artId); + + $mail = new EmailGateway($this->configuration); + + $mail->AddAddress($this->configuration->getConfigValue('mailArticleReports')); + $mail->Subject = $this->user->lang('Article has been reported in the Knowledge Base'); + $mail->Body = $this->user->lang("The article #%s (%s), located at %s, has been reported in the Knowledge Base, by user %s (%s), with the following comment:\r\n\r\n%s", + $this->_artId, + $article->getTitle(), + 'http://'.$_SERVER['HTTP_HOST'].substr($_SERVER['REQUEST_URI'], 0, strrpos($_SERVER['REQUEST_URI'], '/')).'/index.php?view=ViewArticle&id='.$this->_artId, + $form->getValue('name'), + $form->getValue('email'), + $form->getValue('comments')); + + if (!$mail->Send()) { + $_SESSION['message'] = $this->user->lang('Sorry, there was a problem sending the report to the administrators, please try again later'); + Library::redirect(Library::getLink(array('view' => 'MainView'))); + } + + $_SESSION['message'] = $this->user->lang('Thank you for your input. The administrators have been sent your report.'); + Library::redirect(Library::getLink(array('view' => 'ViewArticle', 'id' => $this->_artId))); + } + + private function _validateForm($form) + { + $formData = array( + 'comments' => $_POST['comments'], + ); + + if (!$this->user->isAnonymous()) { + $formData['name'] = $this->user->getFullName(); + + // Some users might not have an E-mail registered + $formData['email'] = $this->user->email? + $this->user->email + : $this->user->lang('No registered E-mail'); + } else { + $formData['name'] = $_POST['name']; + $formData['email'] = $_POST['email']; + } + + if (!$form->isValid($formData)) { + $appSession = Zend_Registry::get('appSession'); + $appSession->reportArticleForm = $form; + Library::redirect(Library::getLink(array('view' => 'ReportArticle', 'artId' => $this->_artId))); + } + } +} Modified: trunk/flowMap.php =================================================================== --- trunk/flowMap.php 2008-09-29 16:53:06 UTC (rev 709) +++ trunk/flowMap.php 2008-09-29 21:17:58 UTC (rev 710) @@ -45,6 +45,7 @@ 'EditTodo' => array(User::ROLE_REGISTERED, true, false, false), 'Upgrade' => array(User::ROLE_ANONYMOUS, true, true, true, false), 'UpgradeOk' => array(User::ROLE_ANONYMOUS, true, true, true, false), + 'ReportArticle' => array(User::ROLE_ANONYMOUS, true, true, true, false), ); // ClassName => array(minimumRole, loadConfiguration, allowOnlyIfPublicKB(for User::ROLE_ANONYMOUS)?) @@ -89,6 +90,7 @@ 'Upgrade' => array(User::ROLE_ANONYMOUS, true, false), 'HideCategory' => array(User::ROLE_ANONYMOUS, true, true), 'ShowCategory' => array(User::ROLE_ANONYMOUS, true, true), + 'SendReportArticle' => array(User::ROLE_ANONYMOUS, true, true), ); ?> Added: trunk/forms/ReportArticleForm.php =================================================================== --- trunk/forms/ReportArticleForm.php (rev 0) +++ trunk/forms/ReportArticleForm.php 2008-09-29 21:17:58 UTC (rev 710) @@ -0,0 +1,46 @@ +<?php + +class ReportArticleForm extends Zend_Form +{ + private $_user; + + public function __construct($options = null, $user) + { + $this->_user = $user; + + parent::__construct($options); + } + + public function init() + { + $name = new Zend_Form_Element_Text('name'); + $name->setLabel($this->_user->lang('Your name')) + ->setRequired(true); + + $email = new Zend_Form_Element_Text('email'); + $email->setLabel($this->_user->lang('E-mail')) + ->addFilter('StringToLower') + ->setRequired(true); + //->addValidator('EmailAddress'); // The Admin user doesn't have an E-mail by default :S + + $comments = new Zend_Form_Element_Textarea('comments'); + $comments->setLabel($this->_user->lang('What do you want to report? The administrators will receive this message')) + ->setRequired(true) + ->setAttrib('rows', 4); + + $this->AddElements(array($name, $email, $comments)); + } + + /** + * Overrides Zend_Form method to fix issue + * @see http://www.nabble.com/Zend_Form-without-MVC-problem-td17375245.html + */ + public function setView(Zend_View_Interface $view) + { + parent::setView($view); + foreach ($this as $item) { + $item->setView($view); + } + return $this; + } +} Property changes on: trunk/images/flag.png ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Modified: trunk/setup/final.sql =================================================================== --- trunk/setup/final.sql 2008-09-29 16:53:06 UTC (rev 709) +++ trunk/setup/final.sql 2008-09-29 21:17:58 UTC (rev 710) @@ -58,7 +58,7 @@ CREATE TABLE `configuration` ( `field` varchar(25) NOT NULL default '', - `value` varchar(25) NOT NULL default '', + `value` varchar(50) NOT NULL default '', PRIMARY KEY (`field`) ) ENGINE=MyISAM; Modified: trunk/style.css =================================================================== --- trunk/style.css 2008-09-29 16:53:06 UTC (rev 709) +++ trunk/style.css 2008-09-29 21:17:58 UTC (rev 710) @@ -296,6 +296,7 @@ background: transparent url(images/bg_title_article.gif) no-repeat scroll right; color: #fff; display: block; + position: relative; height: 30px; text-decoration: none; margin-right: 0; Modified: trunk/templates/EditPreferences.tpl =================================================================== --- trunk/templates/EditPreferences.tpl 2008-09-29 16:53:06 UTC (rev 709) +++ trunk/templates/EditPreferences.tpl 2008-09-29 21:17:58 UTC (rev 710) @@ -165,12 +165,18 @@ </td> </tr> <tr class="row_off"> + <td style="text-align:right; font-weight:bold">[l]Send article reports to (email)[/l]:</td> + <td> + <input type="text" name="mailArticleReports" value="{mailArticleReports}"/> + </td> + </tr> + <tr class="row_off"> <td style="text-align:right; font-weight:bold">[l]Send category creation request to (email)[/l]:</td> <td> <input type="text" name="mailCategoryRequest" value="{mailCategoryRequest}"/> </td> </tr> - <tr class="row_on"> + <tr class="row_of"> <td style="text-align:right; font-weight:bold">[l]Send mail using[/l]:</td> <td> <select name="mailTransport" onchange="javascript:toggleSMTPSettings(value);"> @@ -179,7 +185,7 @@ </select> </td> </tr> - <tr class="row_off" id="smtp_options" {showSMTPOptions}> + <tr class="row_on" id="smtp_options" {showSMTPOptions}> <td colspan="2"> <p style="text-align:center; font-weight:bold">[l]SMTP settings[/l]:</p> <ul> @@ -190,7 +196,7 @@ </ul> </td> </tr> - <tr class="row_on"> + <tr class="row_off"> <td style="text-align:right; font-weight:bold"> [l]Check uploaded files for viruses[/l]:<br /> [l](You need to have <a href="http://www.clamav.net">ClamAV</a> in your system)[/l] Added: trunk/templates/ReportArticle.tpl =================================================================== --- trunk/templates/ReportArticle.tpl (rev 0) +++ trunk/templates/ReportArticle.tpl 2008-09-29 21:17:58 UTC (rev 710) @@ -0,0 +1,18 @@ +<!-- BEGIN reportForm_block --> +<strong> + [l]Report Article[/l] #{artId}: {artTitle} +</strong> +<form action="{reportArticleFormAction}" method="post" style="margin-top:10px"> + <input type="hidden" name="artId" value="{artId}" /> + {formName} + {formEmail} + {formComments} + <input type="submit" id="submitReport" value="[l]Send[/l]" /> + <script> + new YAHOO.widget.Button("submitReport"); + </script> +</form> +<!-- END reportForm_block --> +<!-- BEGIN reportsNotConfigured_block --> +[l]Sorry, but the Article Report functionality is not enabled. Please contact your administrator.[/l] +<!-- END reportsNotConfigured_block --> Modified: trunk/templates/ViewArticle.tpl =================================================================== --- trunk/templates/ViewArticle.tpl 2008-09-29 16:53:06 UTC (rev 709) +++ trunk/templates/ViewArticle.tpl 2008-09-29 21:17:58 UTC (rev 710) @@ -29,6 +29,7 @@ <a href="javascript:void(0);" onclick="addFavorite('article', {art_id});"><img id="favoriteStarImg" src="images/icon_favorite_16.png" alt="[l]Add article to favorites[/l]" title="[l]Add article to favorites[/l]" style="display:{favoriteArticleStarImgDisplay}" /><img id="unFavoriteStarImg" src="images/star_crossed.png" alt="[l]Remove article from favorites[/l]" title="[l]Remove article from favorites[/l]" style="display:{unFavoriteArticleStarImgDisplay}"/><img id="favoriteProgressImg" src="images/progress.gif" style="display:none" /></a> <!-- END favoriteArticle_block --> </span> + <a href="{reportArticleLink}"><img src="images/flag.png" alt="[l]Report article[/l]" title="[l]Report article[/l]" style="position:absolute; right:5px; top:5px" /></a> </div> <p class="view_left"> <strong>[l]Title[/l]:</strong> {title}<br /> Modified: trunk/views/EditPreferences.php =================================================================== --- trunk/views/EditPreferences.php 2008-09-29 16:53:06 UTC (rev 709) +++ trunk/views/EditPreferences.php 2008-09-29 21:17:58 UTC (rev 710) @@ -58,6 +58,7 @@ 'mailFromName' => $this->configuration->getConfigValue('mailFromName'), 'mailFromMail' => $this->configuration->getConfigValue('mailFromMail'), 'mailCategoryRequest' => $this->configuration->getConfigValue('mailCategoryRequest'), + 'mailArticleReports' => $this->configuration->getConfigValue('mailArticleReports'), 'sendMailUsing_sendmail_selected' => $this->configuration->getConfigValue('mailTransport') == 'sendmail' ? 'selected="true" ': '', 'sendMailUsing_smtp_selected' => $this->configuration->getConfigValue('mailTransport') == 'smtp' ? 'selected="true" ': '', 'showSMTPOptions' => $this->configuration->getConfigValue('mailTransport') == 'smtp' ? '' : 'style="display:none;"', Added: trunk/views/ReportArticle.php =================================================================== --- trunk/views/ReportArticle.php (rev 0) +++ trunk/views/ReportArticle.php 2008-09-29 21:17:58 UTC (rev 710) @@ -0,0 +1,78 @@ +<?php + +/* +* @copyright Copyright (C) 2005-2008 Keyboard Monkeys Ltd http://www.kb-m.com +* @license http://www.fsf.org/copyleft/lgpl.html GNU Lesser General Public License +* @author Alejandro Pedraza +* @since Sciret 1.0 +* @package Sciret +* @packager Keyboard Monkeys +*/ + +require_once 'views/View.php'; + +class ReportArticle extends View +{ + private $_artId; + + public function preDispatch() + { + $this->_artId = (int)$_GET['artId']; + + if (!$this->_artId) { + $_SESSION['message'] = $this->user->lang('Bad article ID'); + Library::redirect(Library::getLink(array('view' => 'MainView'))); + } + } + + public function dispatch() + { + $article = new Article($this->_artId); + + $this->tpl->set_file('main', 'ReportArticle.tpl'); + $this->tpl->set_block('main', 'reportForm_block', 'reportForm'); + $this->tpl->set_block('main', 'reportsNotConfigured_block', 'reportsNotConfigured'); + + if (!$this->configuration->getConfigValue('mailArticleReports')) { + $this->tpl->set_var('reportForm', ''); + $this->tpl->parse('reportsNotConfigured', 'reportsNotConfigured_block'); + } else { + $this->tpl->set_var(array( + 'reportsNotConfigured' => '', + 'reportArticleFormAction' => Library::getLink(array('action' => 'SendReportArticle')), + 'artId' => $this->_artId, + 'artTitle' => $article->getTitle(), + )); + + $appSession = Zend_Registry::get('appSession'); + if (isset($appSession->reportArticleForm)) { + $form = $appSession->reportArticleForm; + unset($appSession->reportArticleForm); + } else { + $form = new ReportArticleForm(null, $this->user); + } + + $view = new Zend_View(); + $form->setView($view); + $this->tpl->set_var(array( + 'formComments' => $form->comments->render(), + )); + + if ($this->user->isAnonymous()) { + $this->tpl->set_var(array( + 'formName' => $form->name->render(), + 'formEmail' => $form->email->render(), + )); + } else { + $this->tpl->set_var(array( + 'formName' => '', + 'formEmail' => '', + )); + } + + $this->tpl->parse('reportForm', 'reportForm_block'); + } + + $this->tpl->pparse('out', 'main'); + } +} Modified: trunk/views/ViewArticle.php =================================================================== --- trunk/views/ViewArticle.php 2008-09-29 16:53:06 UTC (rev 709) +++ trunk/views/ViewArticle.php 2008-09-29 21:17:58 UTC (rev 710) @@ -151,6 +151,7 @@ 'editArticleLink' => Library::getLink(array('view' => 'EditArticle', 'id' => $this->article->getId())), 'addCommentsAction' => Library::getLink(array('action' => 'AddCommentAndRating', 'artId' => $this->article->getId())), 'addRelatedAction' => Library::getLink(array('action' => 'AddRelatedArticles', 'artId' => $this->article->getId())), + 'reportArticleLink' => Library::getLink(array('view' => 'ReportArticle', 'artId' => $this->article->getId())), 'art_id' => $this->article->getId(), 'category' => $this->_getCategoryPath($this->article->getCategoryId(), 'MainView', true), 'lang_status' => $status, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-09-29 21:35:17
|
Revision: 711 http://sciret.svn.sourceforge.net/sciret/?rev=711&view=rev Author: alpeb Date: 2008-09-29 21:35:00 +0000 (Mon, 29 Sep 2008) Log Message: ----------- added Article Report functionality to bookmarks as well Modified Paths: -------------- trunk/templates/ReportArticle.tpl trunk/templates/ViewBookmark.tpl trunk/views/ReportArticle.php trunk/views/ViewBookmark.php Modified: trunk/templates/ReportArticle.tpl =================================================================== --- trunk/templates/ReportArticle.tpl 2008-09-29 21:17:58 UTC (rev 710) +++ trunk/templates/ReportArticle.tpl 2008-09-29 21:35:00 UTC (rev 711) @@ -1,6 +1,12 @@ <!-- BEGIN reportForm_block --> <strong> - [l]Report Article[/l] #{artId}: {artTitle} + <!-- BEGIN reportArticle_block --> + [l]Report Article[/l] + <!-- END reportArticle_block --> + <!-- BEGIN reportBookmark_block --> + [l]Report Bookmark[/l] + <!-- END reportBookmark_block --> + #{artId}: {artTitle} </strong> <form action="{reportArticleFormAction}" method="post" style="margin-top:10px"> <input type="hidden" name="artId" value="{artId}" /> Modified: trunk/templates/ViewBookmark.tpl =================================================================== --- trunk/templates/ViewBookmark.tpl 2008-09-29 21:17:58 UTC (rev 710) +++ trunk/templates/ViewBookmark.tpl 2008-09-29 21:35:00 UTC (rev 711) @@ -25,6 +25,7 @@ <!-- BEGIN favoriteArticle_block --> <a href="javascript:void(0);" onclick="addFavorite('article', {bookmark_id});"><img id="favoriteStarImg" src="images/star.png" alt="[l]Add bookmark to favorites[/l]" title="[l]Add bookmark to favorites[/l]" style="display:{favoriteArticleStarImgDisplay}" /><img id="unFavoriteStarImg" src="images/star_crossed.png" alt="[l]Remove bookmark from favorites[/l]" title="[l]Remove bookmark from favorites[/l]" style="display:{unFavoriteArticleStarImgDisplay}"/><img id="favoriteProgressImg" src="images/progress.gif" style="display:none" /></a> <!-- END favoriteArticle_block --> + <a href="{reportArticleLink}"><img src="images/flag.png" alt="[l]Report article[/l]" title="[l]Report article[/l]" /> </span> </div> </td> Modified: trunk/views/ReportArticle.php =================================================================== --- trunk/views/ReportArticle.php 2008-09-29 21:17:58 UTC (rev 710) +++ trunk/views/ReportArticle.php 2008-09-29 21:35:00 UTC (rev 711) @@ -31,6 +31,8 @@ $this->tpl->set_file('main', 'ReportArticle.tpl'); $this->tpl->set_block('main', 'reportForm_block', 'reportForm'); + $this->tpl->set_block('reportForm_block', 'reportArticle_block', 'reportArticle'); + $this->tpl->set_block('reportForm_block', 'reportBookmark_block', 'reportBookmark'); $this->tpl->set_block('main', 'reportsNotConfigured_block', 'reportsNotConfigured'); if (!$this->configuration->getConfigValue('mailArticleReports')) { @@ -70,6 +72,13 @@ )); } + if ($article->isBookmark()) { + $this->tpl->set_var('reportArticle', ''); + $this->tpl->parse('reportBookmark', 'reportBookmark_block'); + } else { + $this->tpl->set_var('reportBookmark', ''); + $this->tpl->parse('reportArticle', 'reportArticle_block'); + } $this->tpl->parse('reportForm', 'reportForm_block'); } Modified: trunk/views/ViewBookmark.php =================================================================== --- trunk/views/ViewBookmark.php 2008-09-29 21:17:58 UTC (rev 710) +++ trunk/views/ViewBookmark.php 2008-09-29 21:35:00 UTC (rev 711) @@ -67,6 +67,7 @@ $this->tpl->set_var(array( 'category' => $this->_getCategoryPath($article->getCategoryId(), 'MainView', true), + 'reportArticleLink' => Library::getLink(array('view' => 'ReportArticle', 'artId' => $article->getId())), 'lang_status' => $status, 'name' => $article->getTitle(), 'urlHref' => $article->getURL(true), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-09-30 16:07:27
|
Revision: 715 http://sciret.svn.sourceforge.net/sciret/?rev=715&view=rev Author: alpeb Date: 2008-09-30 16:06:57 +0000 (Tue, 30 Sep 2008) Log Message: ----------- added 'share this article' section Modified Paths: -------------- trunk/classes/Library.php trunk/style.css trunk/templates/footer.tpl trunk/views/View.php Added Paths: ----------- trunk/images/icon-blinklist.png trunk/images/icon-delicious.png trunk/images/icon-digg.png trunk/images/icon-facebook.png trunk/images/icon-furl.png trunk/images/icon-google.png trunk/images/icon-magnolia.png trunk/images/icon-mixx.png trunk/images/icon-myweb.png trunk/images/icon-reddit.png trunk/images/icon-stumbleupon.png trunk/images/icon-technorati.png trunk/images/icon-twitter.png trunk/images/icon-windowslive.png Modified: trunk/classes/Library.php =================================================================== --- trunk/classes/Library.php 2008-09-30 15:41:28 UTC (rev 714) +++ trunk/classes/Library.php 2008-09-30 16:06:57 UTC (rev 715) @@ -69,6 +69,17 @@ return $url; } + + /** + * @return string + */ + public static function getBaseURL() + { + $url = 'http://'.$_SERVER['HTTP_HOST'] + .substr($_SERVER['REQUEST_URI'], 0, strrpos($_SERVER['REQUEST_URI'], '/')); + + return $url; + } } ?> Property changes on: trunk/images/icon-blinklist.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/images/icon-delicious.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/images/icon-digg.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/images/icon-facebook.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/images/icon-furl.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/images/icon-google.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/images/icon-magnolia.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/images/icon-mixx.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/images/icon-myweb.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/images/icon-reddit.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/images/icon-stumbleupon.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/images/icon-technorati.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/images/icon-twitter.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: trunk/images/icon-windowslive.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/style.css =================================================================== --- trunk/style.css 2008-09-30 15:41:28 UTC (rev 714) +++ trunk/style.css 2008-09-30 16:06:57 UTC (rev 715) @@ -643,6 +643,11 @@ float: left; } +#shareArticle img { + border: none; + margin: 5px; +} + /* end panel_right */ Modified: trunk/templates/footer.tpl =================================================================== --- trunk/templates/footer.tpl 2008-09-30 15:41:28 UTC (rev 714) +++ trunk/templates/footer.tpl 2008-09-30 16:06:57 UTC (rev 715) @@ -49,6 +49,32 @@ </div> </div> <div class="panel_bottom"></div> + + <!-- BEGIN shareArticle_block --> + <div class="panel" id="shareArticle"> + <div class="panel_title"> + <a>[l]Share this article[/l]</a> + </div> + <div class="inside_panel"> + <a href="http://digg.com/submit?url={articleURL}&title={articleTitle}" rel="nofollow" title="Digg"><img alt="Digg" height="16" src="images/icon-digg.png" width="16"/></a> + <a href="http://reddit.com/submit?url={articleURL}&title={articleTitle}" rel="nofollow" title="Reddit"><img alt="Reddit" height="16" src="images/icon-reddit.png" width="16"/></a> + <a href="http://del.icio.us/post?url={articleURL}&title={articleTitle}" rel="nofollow" title="Del.icio.us"><img alt="Del.icio.us" height="16" src="images/icon-delicious.png" width="16"/></a> + <a href="http://ma.gnolia.com/bookmarklet/add?url={articleURL}&title={articleTitle}" rel="nofollow" title="Ma.gnolia"><img alt="Ma.gnolia" height="16" src="images/icon-magnolia.png" width="16"/></a> + <a href="http://www.stumbleupon.com/submit?url={articleURL}&title={articleTitle}" rel="nofollow" title="Stumble Upon"><img alt="Stumble Upon" height="16" src="images/icon-stumbleupon.png" width="16"/></a> + + <a href="http://www.facebook.com/sharer.php?u={articleURL}" rel="nofollow" title="Facebook"><img alt="Facebook" height="16" src="images/icon-facebook.png" width="16"/></a> + <a href="http://twitter.com/home?status={articleURL}" rel="nofollow" title="Twitter"><img alt="Twitter" height="16" src="images/icon-twitter.png" width="16"/></a> + <a href="http://www.google.com/bookmarks/mark?op=edit&bkmk={articleURL}&title={articleTitle}" rel="nofollow" title="Google"><img alt="Google" height="16" src="images/icon-google.png" width="16"/></a> + <a href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u={articleURL}&t={articleTitle}" rel="nofollow" title="Yahoo! MyWeb"><img alt="Yahoo! MyWeb" height="16" src="images/icon-myweb.png" width="16"/></a> + <a href="http://furl.net/storeIt.jsp?u={articleURL}&t={articleTitle}" rel="nofollow" title="Furl"><img alt=Furl" height="16" src="images/icon-furl.png" width="16"/></a> + <a href="http://blinklist.com/index.php?Action=Blink/addblink.php&Url={articleURL}&Title={articleTitle}" rel="nofollow" title="BlinkList"><img alt="BlinkList" height="16" src="images/icon-blinklist.png" width="16"/></a> + <a href="http://www.technorati.com/faves?add={articleURL}" rel="nofollow" title="Technorati"><img alt="Technorati" height="16" src="images/icon-technorati.png" width="16"/></a> + <a href="http://www.mixx.com/submit?page_url={articleURL}" rel="nofollow" title="Mixx"><img alt="Mixx" height="16" src="images/icon-mixx.png" width="16"/></a> + <a href="https://favorites.live.com/quickadd.aspx?marklet=1&mkt=en-us&url={articleURL}&top=1" rel="nofollow" title="Windows Live"><img alt="Windows Live" height="16" src="images/icon-windowslive.png" width="16"/></a> + </div> + </div> + <div class="panel_bottom"></div> + <!-- END shareArticle_block --> <!-- BEGIN favoritesLink_block --> <div class="panel" id="favorites"> Modified: trunk/views/View.php =================================================================== --- trunk/views/View.php 2008-09-30 15:41:28 UTC (rev 714) +++ trunk/views/View.php 2008-09-30 16:06:57 UTC (rev 715) @@ -181,7 +181,20 @@ 'advancedSearchLink' => Library::getLink(array('view' => 'AdvancedSearch')), )); + $this->tpl->set_block('footer', 'shareArticle_block', 'shareArticle'); $this->tpl->set_block('footer', 'favoritesLink_block', 'favoritesLink'); + if (strtolower(get_class($this)) == 'viewarticle' + && !$this->article->isBookmark() + && $this->configuration->getConfigValue('publishKB')) + { + $this->tpl->set_var(array( + 'articleURL' => Library::getBaseURL() . urlencode('/index.php?view=ViewArticle&id=' . $this->article->getId()), + 'articleTitle' => urlencode($this->article->getTitle()) + )); + $this->tpl->parse('shareArticle', 'shareArticle_block'); + } else { + $this->tpl->set_var('shareArticle', ''); + } if (!$this->user->isAnonymous()) { $this->tpl->parse('favoritesLink', 'favoritesLink_block'); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-09-29 16:53:32
|
Revision: 709 http://sciret.svn.sourceforge.net/sciret/?rev=709&view=rev Author: alpeb Date: 2008-09-29 16:53:06 +0000 (Mon, 29 Sep 2008) Log Message: ----------- added ability to let anonymous users open an account. Disabled by default Modified Paths: -------------- trunk/actions/SavePreferences.php trunk/flowMap.php trunk/forms/RequestCategoryForm.php trunk/models/Configuration.php trunk/models/User.php trunk/models/Users.php trunk/templates/EditPreferences.tpl trunk/templates/Login.tpl trunk/templates/header.tpl trunk/views/EditPreferences.php trunk/views/Login.php trunk/views/View.php Added Paths: ----------- trunk/actions/SaveRegistration.php trunk/forms/RegistrationForm.php trunk/templates/Register.tpl trunk/views/Register.php Modified: trunk/actions/SavePreferences.php =================================================================== --- trunk/actions/SavePreferences.php 2008-09-29 15:56:51 UTC (rev 708) +++ trunk/actions/SavePreferences.php 2008-09-29 16:53:06 UTC (rev 709) @@ -36,6 +36,7 @@ $clamavError = ''; if (($this->user->role & User::ROLE_ADMIN) == User::ROLE_ADMIN) { $this->configuration->setConfigValue('publishKB', $_POST['publishKB'] == '1'? '1' : '0'); + $this->configuration->setConfigValue('anonymousRegistration', $_POST['anonymousRegistration'] == '1'? '1' : '0'); $this->configuration->setConfigValue('publishArticlesAuto', $_POST['publishArticlesAuto'] == '1'? '1' : '0'); $this->configuration->setConfigValue('publishBookmarksAuto', $_POST['publishBookmarksAuto'] == '1'? '1' : '0'); $this->configuration->setConfigValue('publishCommentsAuto', $_POST['publishCommentsAuto'] == '1'? '1' : '0'); Added: trunk/actions/SaveRegistration.php =================================================================== --- trunk/actions/SaveRegistration.php (rev 0) +++ trunk/actions/SaveRegistration.php 2008-09-29 16:53:06 UTC (rev 709) @@ -0,0 +1,106 @@ +<?php + +/* +* @copyright Copyright (C) 2005-2008 Keyboard Monkeys Ltd. http://www.kb-m.com +* @license http://www.fsf.org/copyleft/lgpl.html GNU Lesser General Public License +* @author Alejandro Pedraza +* @since Sciret 1.2 +* @package Sciret +* @packager Keyboard Monkeys +*/ + +require 'actions/Action.php'; + +class SaveRegistration extends Action +{ + private $_users; + + public function dispatch() + { + if (!$this->configuration->getConfigValue('anonymousRegistration')) { + $_SESSION['message'] = $this->user->lang('Anonymous registration is disabled'); + Library::redirect(Library::getLink(array('view' => 'MainView'))); + } + + $this->_users = new Users(); + + $form = new RegistrationForm(null, $this->user); + $formData = array( + 'firstName' => $_POST['firstName'], + 'lastName' => $_POST['lastName'], + 'userName' => $_POST['userName'], + 'email' => $_POST['email'], + ); + $form->populate($formData); + if (!$form->isValid($formData)) { + $this->_redirectInvalidForm($form); + } + + if ($this->_userNameExists($form->getValue('userName'))) { + $form->userName->addError($this->user->lang('This User Name is already used by someone else')); + $this->_redirectInvalidForm($form); + } + + if ($this->_emailExists($form->getValue('email'))) { + $form->email->addError($this->user->lang('This E-mail is already used by someone else')); + $this->_redirectInvalidForm($form); + } + + $user = $this->_users->createRow(); + $user->firstname = $form->getValue('firstName'); + $user->lastname = $form->getValue('lastName'); + $user->username = $form->getValue('userName'); + $user->email = $form->getValue('email'); + $user->setAdmin(false); + + // have the password expire now, so after the user logs in + // he's asked to change it + $password = $user->generateRandomPassword(); + $user->setPassword($password); + $user->password_changed = '1900-01-01'; + + $mail = new EmailGateway($this->configuration); + + $mail->AddAddress($user->email); + $mail->Subject = $this->user->lang('Welcome to the Knowledge Base'); + $mail->Body = $this->user->lang("Thank you for opening an account in the Knowledge Base.\r\n\r\nYour UserName is: %s\r\nYour Password is: %s\r\n\r\nYou will be prompted to change the password when you log in.\r\n\r\nThank you.", + $user->username, + $password); + + if (!$mail->Send()) { + $_SESSION['message'] = $this->user->lang('Sorry, there was a problem sending the confirmation E-mail, please try again later'); + Library::redirect(Library::getLink(array('view' => 'MainView'))); + } + + $user->save(); + + $_SESSION['message'] = $this->user->lang('Thank you for registering. You will receive an E-mail with your account details.'); + Library::redirect(Library::getLink(array('view' => 'MainView'))); + } + + /** + * @return bool + */ + private function _userNameExists($userName) + { + return $this->_users->getUserGivenUsername($userName); + } + + /** + * @return bool + */ + private function _emailExists($email) + { + return $this->_users->getUserGivenEmail($email); + } + + /** + * @return void + */ + private function _redirectInvalidForm($form) + { + $appSession = Zend_Registry::get('appSession'); + $appSession->registrationForm = $form; + Library::redirect(Library::getLink(array('view' => 'Register'))); + } +} Modified: trunk/flowMap.php =================================================================== --- trunk/flowMap.php 2008-09-29 15:56:51 UTC (rev 708) +++ trunk/flowMap.php 2008-09-29 16:53:06 UTC (rev 709) @@ -17,6 +17,7 @@ 'InstallEnterCredentials' => array(User::ROLE_ANONYMOUS, false, true, false, false), 'InstallOk' => array(User::ROLE_ANONYMOUS, true, true, false, false), 'Login' => array(User::ROLE_ANONYMOUS, true, true, true, false), + 'Register' => array(User::ROLE_ANONYMOUS, true, true, true, false), 'MainView' => array(User::ROLE_ANONYMOUS, true, true, true, true), 'Rss' => array(User::ROLE_ANONYMOUS, true, false, false, true), 'EditArticle' => array(User::ROLE_REGISTERED, true, true, true), @@ -50,6 +51,7 @@ $actions = array( 'Install' => array(User::ROLE_ANONYMOUS, false, false), 'Login' => array(User::ROLE_ANONYMOUS, true, false), + 'SaveRegistration' => array(User::ROLE_ANONYMOUS, true, false), 'Logout' => array(User::ROLE_REGISTERED, true), 'SaveArticle' => array(User::ROLE_REGISTERED, true), 'SaveBookmark' => array(User::ROLE_REGISTERED, true), Added: trunk/forms/RegistrationForm.php =================================================================== --- trunk/forms/RegistrationForm.php (rev 0) +++ trunk/forms/RegistrationForm.php 2008-09-29 16:53:06 UTC (rev 709) @@ -0,0 +1,49 @@ +<?php + +class RegistrationForm extends Zend_Form +{ + private $_user; + + public function __construct($options = null, $user) + { + $this->_user = $user; + + parent::__construct($options); + } + + public function init() + { + $firstName = new Zend_Form_Element_Text('firstName'); + $firstName->setLabel($this->_user->lang('First Name')) + ->setRequired(true); + + $lastName = new Zend_Form_Element_Text('lastName'); + $lastName->setLabel($this->_user->lang('Last Name')) + ->setRequired(true); + + $userName = new Zend_Form_Element_Text('userName'); + $userName->setLabel($this->_user->lang('User Name')) + ->setRequired(true); + + $email = new Zend_Form_Element_Text('email'); + $email->setLabel($this->_user->lang('E-mail')) + ->addFilter('StringToLower') + ->setRequired(true) + ->addValidator('EmailAddress'); + + $this->addElements(array($firstName, $lastName, $userName, $email)); + } + + /** + * Overrides Zend_Form method to fix issue + * @see http://www.nabble.com/Zend_Form-without-MVC-problem-td17375245.html + */ + public function setView(Zend_View_Interface $view) + { + parent::setView($view); + foreach ($this as $item) { + $item->setView($view); + } + return $this; + } +} Modified: trunk/forms/RequestCategoryForm.php =================================================================== --- trunk/forms/RequestCategoryForm.php 2008-09-29 15:56:51 UTC (rev 708) +++ trunk/forms/RequestCategoryForm.php 2008-09-29 16:53:06 UTC (rev 709) @@ -55,7 +55,6 @@ $this->AddElements(array($name, $email, $this->_parentCategory, $newCategoryName, $comments)); } - /** * Overrides Zend_Form method to fix issue * @see http://www.nabble.com/Zend_Form-without-MVC-problem-td17375245.html Modified: trunk/models/Configuration.php =================================================================== --- trunk/models/Configuration.php 2008-09-29 15:56:51 UTC (rev 708) +++ trunk/models/Configuration.php 2008-09-29 16:53:06 UTC (rev 709) @@ -14,6 +14,7 @@ var $configurationArray = array( // var name => array(defaultValue, isHidden) 'publishKB' => 1, + 'anonymousRegistration' => 0, 'publishArticlesAuto' => 1, 'publishBookmarksAuto' => 1, 'publishCommentsAuto' => 1, Modified: trunk/models/User.php =================================================================== --- trunk/models/User.php 2008-09-29 15:56:51 UTC (rev 708) +++ trunk/models/User.php 2008-09-29 16:53:06 UTC (rev 709) @@ -289,6 +289,11 @@ return vsprintf($phrase, $args); } + public function generateRandomPassword() + { + return substr(md5($this->getFullName() . time()), 0, 6); + } + function isPasswordExpired($expirationDays) { // there are 86400 seconds in one day Modified: trunk/models/Users.php =================================================================== --- trunk/models/Users.php 2008-09-29 15:56:51 UTC (rev 708) +++ trunk/models/Users.php 2008-09-29 16:53:06 UTC (rev 709) @@ -33,6 +33,14 @@ return $this->fetchRow($select); } + public function getUserGivenEmail($email) + { + $select = $this->select() + ->where('email=?', $email); + + return $this->fetchRow($select); + } + function getUsersList() { $select = $this->select(); Modified: trunk/templates/EditPreferences.tpl =================================================================== --- trunk/templates/EditPreferences.tpl 2008-09-29 15:56:51 UTC (rev 708) +++ trunk/templates/EditPreferences.tpl 2008-09-29 16:53:06 UTC (rev 709) @@ -75,6 +75,15 @@ </td> </tr> <tr class="row_on"> + <td style="text-align:right; font-weight:bold">[l]Let users open an account[/l]:</td> + <td> + <select name="anonymousRegistration"> + <option value="1" {anonymousRegistration_yes_selected}>[l]Yes[/l]</option> + <option value="0" {anonymousRegistration_no_selected}>[l]No[/l]</option> + </select> + </td> + </tr> + <tr class="row_off"> <td style="text-align:right; font-weight:bold">[l]Publish articles automatically[/l]:</td> <td> <select name="publishArticlesAuto"> @@ -83,7 +92,7 @@ </select> </td> </tr> - <tr class="row_off"> + <tr class="row_on"> <td style="text-align:right; font-weight:bold">[l]Publish bookmarks automatically[/l]:</td> <td> <select name="publishBookmarksAuto"> @@ -92,7 +101,7 @@ </select> </td> </tr> - <tr class="row_on"> + <tr class="row_off"> <td style="text-align:right; font-weight:bold">[l]Publish comments automatically[/l]:</td> <td> <select name="publishCommentsAuto"> @@ -101,7 +110,7 @@ </select> </td> </tr> - <tr class="row_off"> + <tr class="row_on"> <td style="text-align:right; font-weight:bold">[l]Publish questions automatically[/l]:</td> <td> <select name="publishQuestionsAuto"> @@ -110,7 +119,7 @@ </select> </td> </tr> - <tr class="row_on"> + <tr class="row_off"> <td style="text-align:right; font-weight:bold">[l]Internal article by default[/l]:</td> <td> <select name="internalByDefault"> @@ -119,7 +128,7 @@ </select> </td> </tr> - <tr class="row_off"> + <tr class="row_on"> <td style="text-align:right; font-weight:bold">[l]Allow comments and ratings[/l]:</td> <td> <select name="allowCommentsRatings"> @@ -128,7 +137,7 @@ </select> </td> </tr> - <tr class="row_on"> + <tr class="row_off"> <td style="text-align:right; font-weight:bold">[l]Only admin and author can modify an article[/l]:</td> <td> <select name="restrictEditDelete"> @@ -137,31 +146,31 @@ </select> </td> </tr> - <tr class="row_off"> + <tr class="row_on"> <td style="text-align:right; font-weight:bold">[l]Days before password expires[/l]:</td> <td> <input type="text" name="passwordExpirationDays" value="{passwordExpirationDays}" size="2" /> </td> </tr> - <tr class="row_on"> + <tr class="row_off"> <td style="text-align:right; font-weight:bold">[l]Send mail from (name)[/l]:</td> <td> <input type="text" name="mailFromName" value="{mailFromName}"/> </td> </tr> - <tr class="row_off"> + <tr class="row_on"> <td style="text-align:right; font-weight:bold">[l]Send mail from (email)[/l]:</td> <td> <input type="text" name="mailFromMail" value="{mailFromMail}"/> </td> </tr> - <tr class="row_on"> + <tr class="row_off"> <td style="text-align:right; font-weight:bold">[l]Send category creation request to (email)[/l]:</td> <td> <input type="text" name="mailCategoryRequest" value="{mailCategoryRequest}"/> </td> </tr> - <tr class="row_off"> + <tr class="row_on"> <td style="text-align:right; font-weight:bold">[l]Send mail using[/l]:</td> <td> <select name="mailTransport" onchange="javascript:toggleSMTPSettings(value);"> @@ -170,7 +179,7 @@ </select> </td> </tr> - <tr class="row_on" id="smtp_options" {showSMTPOptions}> + <tr class="row_off" id="smtp_options" {showSMTPOptions}> <td colspan="2"> <p style="text-align:center; font-weight:bold">[l]SMTP settings[/l]:</p> <ul> @@ -181,7 +190,7 @@ </ul> </td> </tr> - <tr class="row_off"> + <tr class="row_on"> <td style="text-align:right; font-weight:bold"> [l]Check uploaded files for viruses[/l]:<br /> [l](You need to have <a href="http://www.clamav.net">ClamAV</a> in your system)[/l] Modified: trunk/templates/Login.tpl =================================================================== --- trunk/templates/Login.tpl 2008-09-29 15:56:51 UTC (rev 708) +++ trunk/templates/Login.tpl 2008-09-29 16:53:06 UTC (rev 709) @@ -23,4 +23,10 @@ <td colspan="2" style="text-align:right"><input type="submit" value="[l]Login[/l]" /></td> </tr> </table> + <!-- BEGIN register_block --> + <div> + You don't have an account? + <a href="{registerLink}">[l]Register now[/l]</a> + </div> + <!-- END register_block --> </form> Added: trunk/templates/Register.tpl =================================================================== --- trunk/templates/Register.tpl (rev 0) +++ trunk/templates/Register.tpl 2008-09-29 16:53:06 UTC (rev 709) @@ -0,0 +1,21 @@ +<!-- +/* +* @copyright Copyright (C) 2005-2008 Keyboard Monkeys Ltd. http://www.kb-m.com +* @license http://www.fsf.org/copyleft/lgpl.html GNU Lesser General Public License +* @author Alejandro Pedraza +* @since Sciret 1.2 +* @package Sciret +* @packager Keyboard Monkeys +*/ +--> + +<form method="post" action="{formAction}"> + {formFirstName} + {formLastName} + {formUserName} + {formEmail} + <input type="submit" id="submitForm" value="[l]Save[/l]" /> + <script> + new YAHOO.widget.Button("submitForm"); + </script> +</form> Modified: trunk/templates/header.tpl =================================================================== --- trunk/templates/header.tpl 2008-09-29 15:56:51 UTC (rev 708) +++ trunk/templates/header.tpl 2008-09-29 16:53:06 UTC (rev 709) @@ -23,6 +23,9 @@ <!-- BEGIN loginLink_block --> <span class="button_green"><a href="index.php?view=Login">[l]Login[/l]</a></span> <!-- END loginLink_block --> + <!-- BEGIN registerLink_block --> + <span class="button_green"><a href="index.php?view=Register">[l]Register[/l]</a></span> + <!-- END registerLink_block --> <!-- BEGIN logoutLink_block --> <span class="button_green"><a href="index.php?action=Logout">[l]Logout[/l]</a></span> <!-- END logoutLink_block --> Modified: trunk/views/EditPreferences.php =================================================================== --- trunk/views/EditPreferences.php 2008-09-29 15:56:51 UTC (rev 708) +++ trunk/views/EditPreferences.php 2008-09-29 16:53:06 UTC (rev 709) @@ -38,6 +38,8 @@ 'catAndSubCats_selected' => $this->user->getPreference('navigationType') == 'catAndSubCats'? 'selected="true" ' : '', 'publishKB_yes_selected' => $this->configuration->getConfigValue('publishKB') == '1'? 'selected="true"' : '', 'publishKB_no_selected' => $this->configuration->getConfigValue('publishKB') == '0'? 'selected="true"' : '', + 'anonymousRegistration_yes_selected' => $this->configuration->getConfigValue('anonymousRegistration') == '1'? 'selected="true"' : '', + 'anonymousRegistration_no_selected' => $this->configuration->getConfigValue('anonymousRegistration') == '0'? 'selected="true"' : '', 'publishArticlesAuto_yes_selected' => $this->configuration->getConfigValue('publishArticlesAuto') == '1'? 'selected="true" ': '', 'publishArticlesAuto_no_selected' => $this->configuration->getConfigValue('publishArticlesAuto') == '0'? 'selected="true" ': '', 'publishBookmarksAuto_yes_selected' => $this->configuration->getConfigValue('publishBookmarksAuto') == '1'? 'selected="true" ': '', Modified: trunk/views/Login.php =================================================================== --- trunk/views/Login.php 2008-09-29 15:56:51 UTC (rev 708) +++ trunk/views/Login.php 2008-09-29 16:53:06 UTC (rev 709) @@ -15,6 +15,14 @@ function dispatch() { $this->tpl->set_file('login', 'Login.tpl'); + $this->tpl->set_block('login', 'register_block', 'register'); + if ($this->configuration->getConfigValue('anonymousRegistration')) { + $this->tpl->set_var('registerLink', Library::getLink(array('view' => 'Register'))); + $this->tpl->parse('register', 'register_block'); + } else { + $this->tpl->set_var('register', ''); + } + $this->tpl->pparse('out', 'login'); } } Added: trunk/views/Register.php =================================================================== --- trunk/views/Register.php (rev 0) +++ trunk/views/Register.php 2008-09-29 16:53:06 UTC (rev 709) @@ -0,0 +1,52 @@ +<?php + +/* +* @copyright Copyright (C) 2005-2008 Keyboard Monkeys Ltd http://www.kb-m.com +* @license http://www.fsf.org/copyleft/lgpl.html GNU Lesser General Public License +* @author Alejandro Pedraza +* @since Sciret 1.0 +* @package Sciret +* @packager Keyboard Monkeys +*/ + +require 'views/View.php'; + +class Register extends View +{ + function preDispatch() + { + if (!$this->configuration->getConfigValue('anonymousRegistration')) { + $_SESSION['message'] = $this->user->lang('Anonymous registration is disabled'); + Library::redirect(Library::getLink(array('view' => 'MainView'))); + } + } + + public function dispatch() + { + $this->tpl->set_file('register', 'Register.tpl'); + + $appSession = Zend_Registry::get('appSession'); + if (isset($appSession->registrationForm)) { + $form = $appSession->registrationForm; + unset($appSession->registrationForm); + } else { + $form = new RegistrationForm(null, $this->user); + } + + $view = new Zend_View(); + $form->setView($view); + + $this->tpl->set_var(array( + 'formAction' => Library::getLink(array('action' => 'SaveRegistration')), + 'formFirstName' => $form->firstName->render(), + 'formLastName' => $form->lastName->render(), + 'formUserName' => $form->userName->render(), + 'formEmail' => $form->email->render(), + )); + + + + + $this->tpl->pparse('out', 'register'); + } +} Modified: trunk/views/View.php =================================================================== --- trunk/views/View.php 2008-09-29 15:56:51 UTC (rev 708) +++ trunk/views/View.php 2008-09-29 16:53:06 UTC (rev 709) @@ -71,6 +71,7 @@ $this->tpl->set_file('header', 'header.tpl'); $this->tpl->set_block('header', 'loginLink_block', 'loginLink'); + $this->tpl->set_block('header', 'registerLink_block', 'registerLink'); $this->tpl->set_block('header', 'welcome_block', 'welcome'); $this->tpl->set_block('header', 'manageQuestionsLink_block', 'manageQuestionsLink'); @@ -88,6 +89,14 @@ $this->tpl->parse('manageQuestionsLink', 'manageQuestionsLink_block'); } + if ($this->user->isAnonymous() + && $this->configuration->getConfigValue('anonymousRegistration')) + { + $this->tpl->parse('registerLink', 'registerLink_block'); + } else { + $this->tpl->set_var('registerLink', ''); + } + $this->tpl->set_block('header', 'logoutLink_block', 'logoutLink'); if ($this->user->isAnonymous()) { $this->tpl->set_var('logoutLink', ''); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-10-01 23:04:26
|
Revision: 720 http://sciret.svn.sourceforge.net/sciret/?rev=720&view=rev Author: alpeb Date: 2008-10-01 23:04:13 +0000 (Wed, 01 Oct 2008) Log Message: ----------- implemented support for TypePad AntiSpam check for comments Modified Paths: -------------- trunk/actions/AddCommentAndRating.php trunk/actions/SavePreferences.php trunk/models/Configuration.php trunk/templates/EditPreferences.tpl trunk/views/EditPreferences.php Added Paths: ----------- trunk/models/AntiSpam.php Modified: trunk/actions/AddCommentAndRating.php =================================================================== --- trunk/actions/AddCommentAndRating.php 2008-10-01 23:03:32 UTC (rev 719) +++ trunk/actions/AddCommentAndRating.php 2008-10-01 23:04:13 UTC (rev 720) @@ -22,12 +22,36 @@ $message = ''; if ($_POST['comment_box'] != '') { - require 'models/Comment.php'; + $antiSpam = new AntiSpam($this->configuration); + + try { + $data = array( + 'user_ip' => $_SERVER['REMOTE_ADDR'], + 'user_agent' => $_SERVER['HTTP_USER_AGENT'], + 'referer' => isset($_SERVER['HTTP_REFERER'])? $_SERVER['HTTP_REFERER'] : '', + 'permalink' => Library::getBaseURL() . "/view=ViewArticle&id=$artId", + 'comment_type' => 'comment', + 'comment_author' => $_POST['commentUserName'], + 'comment_content' => $_POST['comment_box'], + ); + if ($antiSpam->isSpam($data)) { + $message = $this->user->lang('Comment detected as spam. ** DISCARDED **'); + Library::redirect(Library::getLink(array( + 'view' => 'ViewComments', + 'artId' => $artId, + 'commentsMessage' => urlencode($message) + ))); + } + } catch (Exception $e) { + // TypePad AntiSpam API Key is wrong, so nothing to do in this case :( + } + $comment = new Comment; $comment->setUserName($_POST['commentUserName']); $comment->setEntered(date('Y-m-d h:i:s')); $comment->setContents($_POST['comment_box']); $comment->setArticleId($artId); + $comment->setPublished($this->configuration->getConfigValue('publishCommentsAuto')); $comment->save(); $this->addHistoryEntry($artId, $this->user->lang('Added comment'), false, $_POST['commentUserName']); $message = $this->user->lang('Comment saved successfully'); Modified: trunk/actions/SavePreferences.php =================================================================== --- trunk/actions/SavePreferences.php 2008-10-01 23:03:32 UTC (rev 719) +++ trunk/actions/SavePreferences.php 2008-10-01 23:04:13 UTC (rev 720) @@ -33,7 +33,7 @@ $this->user->setPreference('navigationType', $_POST['navigationType']); } - $clamavError = ''; + $errors = array(); if (($this->user->role & User::ROLE_ADMIN) == User::ROLE_ADMIN) { $this->configuration->setConfigValue('publishKB', $_POST['publishKB'] == '1'? '1' : '0'); $this->configuration->setConfigValue('anonymousRegistration', $_POST['anonymousRegistration'] == '1'? '1' : '0'); @@ -54,18 +54,24 @@ $this->configuration->setConfigValue('smtpUser', $_POST['smtpUser']); $this->configuration->setConfigValue('smtpPassword', $_POST['smtpPassword']); $this->configuration->setConfigValue('smtpPort', $_POST['smtpPort']); + $this->configuration->setConfigValue('useClamAV', $_POST['useClamAV']); + $this->configuration->setConfigValue('typePadAntiSpamKey', $_POST['typePadAntiSpamKey']); if ($_POST['useClamAV'] == '1') { $clamav = new ClamAV(); if (!$clamav->canExecuteClamscan()) { - $clamavError = $this->user->lang('Couldn\'t attempt to use ClamAV: clamscan was not found (looking for %s)', - $clamav->getClamscanLocation()); - } else { - $this->configuration->setConfigValue('useClamAV', '1'); + $errors[] = $this->user->lang('Couldn\'t attempt to use ClamAV: clamscan was not found (looking for %s)', + $clamav->getClamscanLocation()); + $this->configuration->setConfigValue('useClamAV', '0'); } } - if ($_POST['useClamAV'] == '0' || $clamavError) { - $this->configuration->setConfigValue('useClamAV', '0'); + + if ($_POST['typePadAntiSpamKey'] != '') { + $antiSpam = new AntiSpam($this->configuration); + if (!$antiSpam->verifyKey()) { + $errors[] = $this->user->lang('Your TypePad AntiSpam key is wrong. Please verify.'); + $this->configuration->setConfigValue('typePadAntiSpamKey', ''); + } } $this->configuration->save(); @@ -74,8 +80,9 @@ $this->user->save(); $_SESSION['message'] = $this->user->lang('Preferences saved successfully'); - if ($clamavError) { - $_SESSION['message'] .= '<br />' . $clamavError; + if ($errors) { + $errors = implode('<br />', $errors); + $_SESSION['message'] .= '<br />' . $errors; Library::redirect(Library::getLink(array('view' => 'EditPreferences'))); } else { Library::redirect(Library::getLink(array('view' => 'MainView', 'set' => $this->user->getPreference('startBrowsing')))); Added: trunk/models/AntiSpam.php =================================================================== --- trunk/models/AntiSpam.php (rev 0) +++ trunk/models/AntiSpam.php 2008-10-01 23:04:13 UTC (rev 720) @@ -0,0 +1,47 @@ +<?php + +/* +* @copyright Copyright (C) 2005-2008 Keyboard Monkeys Ltd. http://www.kb-m.com +* @license http://www.fsf.org/copyleft/lgpl.html GNU Lesser General Public License +* @author Alejandro Pedraza +* @since Sciret 1.2 +* @package Sciret +* @packager Keyboard Monkeys +*/ + +class AntiSpam extends Zend_Service_Akismet +{ + const API_URL = 'api.antispam.typepad.com'; + + private $_config; + + public function __construct($config) + { + $this->_config = $config; + + parent::__construct($config->getConfigValue('typePadAntiSpamKey'), + Library::getBaseURL()); + } + + protected function _post($host, $path, array $params) + { + $caller = $this->_getCallerMethod(); + if (strtolower($caller) == 'verifykey') { + $host = self::API_URL; + } else { + $host = $this->getApiKey() . '.' . self::API_URL; + } + + return parent::_post($host, $path, $params); + } + + /** + * @return string + */ + private function _getCallerMethod() + { + $backTrace = debug_backtrace(); + + return $backTrace[2]['function']; + } +} Modified: trunk/models/Configuration.php =================================================================== --- trunk/models/Configuration.php 2008-10-01 23:03:32 UTC (rev 719) +++ trunk/models/Configuration.php 2008-10-01 23:04:13 UTC (rev 720) @@ -22,6 +22,7 @@ 'passwordExpirationDays'=> 60, 'version' => 0, 'useClamAV' => 0, + 'useTypePadAntiSpam' => '', ); function Configuration() { Modified: trunk/templates/EditPreferences.tpl =================================================================== --- trunk/templates/EditPreferences.tpl 2008-10-01 23:03:32 UTC (rev 719) +++ trunk/templates/EditPreferences.tpl 2008-10-01 23:04:13 UTC (rev 720) @@ -138,6 +138,15 @@ </td> </tr> <tr class="row_off"> + <td style="text-align:right; font-weight:bold"> + [l]Enter your TypePad AntiSpam API key to be able to discard spam comments[/l]:<br /> + [l](You can get a free key <a href="http://antispam.typepad.com/info/get-api-key.html">here</a>)[/l] + </td> + <td> + <input type="text" name="typePadAntiSpamKey" value="{typePadAntiSpamKey}"/> + </td> + </tr> + <tr class="row_on"> <td style="text-align:right; font-weight:bold">[l]Only admin and author can modify an article[/l]:</td> <td> <select name="restrictEditDelete"> @@ -146,25 +155,25 @@ </select> </td> </tr> - <tr class="row_on"> + <tr class="row_off"> <td style="text-align:right; font-weight:bold">[l]Days before password expires[/l]:</td> <td> <input type="text" name="passwordExpirationDays" value="{passwordExpirationDays}" size="2" /> </td> </tr> - <tr class="row_off"> + <tr class="row_on"> <td style="text-align:right; font-weight:bold">[l]Send mail from (name)[/l]:</td> <td> <input type="text" name="mailFromName" value="{mailFromName}"/> </td> </tr> - <tr class="row_on"> + <tr class="row_off"> <td style="text-align:right; font-weight:bold">[l]Send mail from (email)[/l]:</td> <td> <input type="text" name="mailFromMail" value="{mailFromMail}"/> </td> </tr> - <tr class="row_off"> + <tr class="row_on"> <td style="text-align:right; font-weight:bold">[l]Send article reports to (email)[/l]:</td> <td> <input type="text" name="mailArticleReports" value="{mailArticleReports}"/> @@ -176,7 +185,7 @@ <input type="text" name="mailCategoryRequest" value="{mailCategoryRequest}"/> </td> </tr> - <tr class="row_of"> + <tr class="row_on"> <td style="text-align:right; font-weight:bold">[l]Send mail using[/l]:</td> <td> <select name="mailTransport" onchange="javascript:toggleSMTPSettings(value);"> @@ -185,7 +194,7 @@ </select> </td> </tr> - <tr class="row_on" id="smtp_options" {showSMTPOptions}> + <tr class="row_off" id="smtp_options" {showSMTPOptions}> <td colspan="2"> <p style="text-align:center; font-weight:bold">[l]SMTP settings[/l]:</p> <ul> @@ -196,7 +205,7 @@ </ul> </td> </tr> - <tr class="row_off"> + <tr class="row_on"> <td style="text-align:right; font-weight:bold"> [l]Check uploaded files for viruses[/l]:<br /> [l](You need to have <a href="http://www.clamav.net">ClamAV</a> in your system)[/l] Modified: trunk/views/EditPreferences.php =================================================================== --- trunk/views/EditPreferences.php 2008-10-01 23:03:32 UTC (rev 719) +++ trunk/views/EditPreferences.php 2008-10-01 23:04:13 UTC (rev 720) @@ -68,6 +68,7 @@ 'smtpPort' => $this->configuration->getConfigValue('smtpPort'), 'useClamAV_yes_selected' => $this->configuration->getConfigValue('useClamAV') == '1'? 'selected="true"' : '', 'useClamAV_no_selected' => $this->configuration->getConfigValue('useClamAV') == '0'? 'selected="true"' : '', + 'typePadAntiSpamKey' => $this->configuration->getConfigValue('typePadAntiSpamKey'), )); // *** LANGUAGES *** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-10-06 17:14:10
|
Revision: 723 http://sciret.svn.sourceforge.net/sciret/?rev=723&view=rev Author: alpeb Date: 2008-10-06 17:13:07 +0000 (Mon, 06 Oct 2008) Log Message: ----------- added ability for the admin to choose whether to use Askimet, TypePad Antispam, or Bad-Behavior Modified Paths: -------------- trunk/actions/AddCommentAndRating.php trunk/actions/SavePreferences.php trunk/javascript/general.js trunk/models/AntiSpam.php trunk/templates/EditPreferences.tpl trunk/views/EditPreferences.php Modified: trunk/actions/AddCommentAndRating.php =================================================================== --- trunk/actions/AddCommentAndRating.php 2008-10-06 17:11:43 UTC (rev 722) +++ trunk/actions/AddCommentAndRating.php 2008-10-06 17:13:07 UTC (rev 723) @@ -11,9 +11,15 @@ require 'actions/Action.php'; -class AddCommentAndRating extends Action { +class AddCommentAndRating extends Action +{ - function dispatch() { + function dispatch() + { + if ($this->configuration->getConfigValue('badBehaviorEnabled')) { + require 'libs/bad-behavior/bad-behavior-generic.php'; + } + $artId = isset($_GET['artId'])? (int)$_GET['artId'] : 0; if ($_POST['comment_box'] != '' && $_POST['commentUserName'] == '') { exit; @@ -22,30 +28,17 @@ $message = ''; if ($_POST['comment_box'] != '') { - $antiSpam = new AntiSpam($this->configuration); - try { - $data = array( - 'user_ip' => $_SERVER['REMOTE_ADDR'], - 'user_agent' => $_SERVER['HTTP_USER_AGENT'], - 'referer' => isset($_SERVER['HTTP_REFERER'])? $_SERVER['HTTP_REFERER'] : '', - 'permalink' => Library::getBaseURL() . "/view=ViewArticle&id=$artId", - 'comment_type' => 'comment', - 'comment_author' => $_POST['commentUserName'], - 'comment_content' => $_POST['comment_box'], - ); - if ($antiSpam->isSpam($data)) { - $message = $this->user->lang('Comment detected as spam. ** DISCARDED **'); - Library::redirect(Library::getLink(array( - 'view' => 'ViewComments', - 'artId' => $artId, - 'commentsMessage' => urlencode($message) - ))); - } - } catch (Exception $e) { - // TypePad AntiSpam API Key is wrong, so nothing to do in this case :( + if ($this->configuration->getConfigValue('akismetEnabled')) { + $antiSpam = new AntiSpam($this->configuration, AntiSpam::TYPE_AKISMET); + $this->_checkForSpam($antiSpam, $artId); } + if ($this->configuration->getConfigValue('typePadAntiSpamEnabled')) { + $antiSpam = new AntiSpam($this->configuration, AntiSpam::TYPE_TYPEPAD); + $this->_checkForSpam($antiSpam, $artId); + } + $comment = new Comment; $comment->setUserName($_POST['commentUserName']); $comment->setEntered(date('Y-m-d h:i:s')); @@ -73,6 +66,30 @@ Library::redirect(Library::getLink(array('view' => 'ViewComments', 'artId' => $artId, 'commentsMessage' => urlencode($message)))); } + + private function _checkForSpam($antiSpam, $artId) + { + $data = array( + 'user_ip' => $_SERVER['REMOTE_ADDR'], + 'user_agent' => $_SERVER['HTTP_USER_AGENT'], + 'referer' => isset($_SERVER['HTTP_REFERER'])? $_SERVER['HTTP_REFERER'] : '', + 'permalink' => Library::getBaseURL() . "/view=ViewArticle&id=$artId", + 'comment_type' => 'comment', + 'comment_author' => $_POST['commentUserName'], + 'comment_content' => $_POST['comment_box'], + ); + + try { + if ($antiSpam->isSpam($data)) { + $message = $this->user->lang('Comment detected as spam. ** DISCARDED **'); + Library::redirect(Library::getLink(array( + 'view' => 'ViewComments', + 'artId' => $artId, + 'commentsMessage' => urlencode($message) + ))); + } + } catch (Exception $e) { + // TypePad AntiSpam API Key is wrong, so nothing to do in this case :( + } + } } - -?> Modified: trunk/actions/SavePreferences.php =================================================================== --- trunk/actions/SavePreferences.php 2008-10-06 17:11:43 UTC (rev 722) +++ trunk/actions/SavePreferences.php 2008-10-06 17:13:07 UTC (rev 723) @@ -55,6 +55,10 @@ $this->configuration->setConfigValue('smtpPassword', $_POST['smtpPassword']); $this->configuration->setConfigValue('smtpPort', $_POST['smtpPort']); $this->configuration->setConfigValue('useClamAV', $_POST['useClamAV']); + $this->configuration->setConfigValue('akismetEnabled', isset($_POST['akismetEnabled'])); + $this->configuration->setConfigValue('typePadAntiSpamEnabled', isset($_POST['typePadAntiSpamEnabled'])); + $this->configuration->setConfigValue('badBehaviorEnabled', isset($_POST['badBehaviorEnabled'])); + $this->configuration->setConfigValue('akismetKey', $_POST['akismetKey']); $this->configuration->setConfigValue('typePadAntiSpamKey', $_POST['typePadAntiSpamKey']); if ($_POST['useClamAV'] == '1') { @@ -66,14 +70,24 @@ } } - if ($_POST['typePadAntiSpamKey'] != '') { - $antiSpam = new AntiSpam($this->configuration); + if (isset($_POST['typePadAntiSpamEnabled'])) { + $antiSpam = new AntiSpam($this->configuration, AntiSpam::TYPE_TYPEPAD); if (!$antiSpam->verifyKey()) { $errors[] = $this->user->lang('Your TypePad AntiSpam key is wrong. Please verify.'); + $this->configuration->setConfigValue('typePadAntiSpamEnabled', false); $this->configuration->setConfigValue('typePadAntiSpamKey', ''); } } + if (isset($_POST['akismetEnabled'])) { + $antiSpam = new AntiSpam($this->configuration, AntiSpam::TYPE_AKISMET); + if (!$antiSpam->verifyKey()) { + $errors[] = $this->user->lang('Your Akismet key is wrong. Please verify.'); + $this->configuration->setConfigValue('akismetEnabled', false); + $this->configuration->setConfigValue('akismetKey', ''); + } + } + $this->configuration->save(); } Modified: trunk/javascript/general.js =================================================================== --- trunk/javascript/general.js 2008-10-06 17:11:43 UTC (rev 722) +++ trunk/javascript/general.js 2008-10-06 17:13:07 UTC (rev 723) @@ -58,6 +58,22 @@ replaceContent: function(responseObj, elId) { $(elId).innerHTML = responseObj.responseText; SCIRET.utils.evalScripts(elId); + }, + + show: function(elId, useEffects) { + if (useEffects) { + new YAHOO.widget.Effects.Appear(elId, {seconds: 0.5}); + } else { + $(elId).style.display = ""; + } + }, + + hide: function(elId, useEffects) { + if (useEffects) { + new YAHOO.widget.Effects.Fade(elId, {seconds: 0.5}); + } else { + $(elId).style.display = "none"; + } } }; }(); @@ -290,14 +306,31 @@ } } -function toggleSMTPSettings(smtp) -{ - if (smtp == 'smtp') { - new YAHOO.widget.Effects.Appear('smtp_options', {seconds: 0.5}); - } else { - new YAHOO.widget.Effects.Fade('smtp_options', {seconds: 0.5}); +SCIRET.preferences = function() { + return { + toggleKeyFields: function(useEffects) { + if (document.preferencesForm.akismetEnabled.checked) { + SCIRET.utils.show("trAkismetKey", useEffects); + } else { + SCIRET.utils.hide("trAkismetKey", useEffects); + } + + if (document.preferencesForm.typePadAntiSpamEnabled.checked) { + SCIRET.utils.show("trTypePadAntiSpamKey", useEffects); + } else { + SCIRET.utils.hide("trTypePadAntiSpamKey", useEffects); + } + }, + + toggleSMTPSettings: function(smtp) { + if (smtp == 'smtp') { + SCIRET.utils.show('smtp_options', true); + } else { + SCIRET.utils.hide('smtp_options', true); + } + } } -} +}(); // ********************************************************* // ** CALENDAR FUNCTIONS ** Modified: trunk/models/AntiSpam.php =================================================================== --- trunk/models/AntiSpam.php 2008-10-06 17:11:43 UTC (rev 722) +++ trunk/models/AntiSpam.php 2008-10-06 17:13:07 UTC (rev 723) @@ -11,25 +11,42 @@ class AntiSpam extends Zend_Service_Akismet { - const API_URL = 'api.antispam.typepad.com'; + const TYPE_AKISMET = 1; + const TYPE_TYPEPAD = 2; + const TYPEPAD_API_URL = 'api.antispam.typepad.com'; + private $_config; + private $_type; - public function __construct($config) + public function __construct($config, $type) { $this->_config = $config; + $this->_type = $type; - parent::__construct($config->getConfigValue('typePadAntiSpamKey'), - Library::getBaseURL()); + switch ($type) { + case self::TYPE_AKISMET: + parent::__construct($config->getConfigValue('akismetKey'), + Library::getBaseURL()); + break; + case self::TYPE_TYPEPAD: + parent::__construct($config->getConfigValue('typePadAntiSpamKey'), + Library::getBaseURL()); + break; + default: + throw new Exception('Wrong spam service type'); + } } protected function _post($host, $path, array $params) { - $caller = $this->_getCallerMethod(); - if (strtolower($caller) == 'verifykey') { - $host = self::API_URL; - } else { - $host = $this->getApiKey() . '.' . self::API_URL; + if ($this->_type == self::TYPE_TYPEPAD) { + $caller = $this->_getCallerMethod(); + if (strtolower($caller) == 'verifykey') { + $host = self::TYPEPAD_API_URL; + } else { + $host = $this->getApiKey() . '.' . self::TYPEPAD_API_URL; + } } return parent::_post($host, $path, $params); Modified: trunk/templates/EditPreferences.tpl =================================================================== --- trunk/templates/EditPreferences.tpl 2008-10-06 17:11:43 UTC (rev 722) +++ trunk/templates/EditPreferences.tpl 2008-10-06 17:13:07 UTC (rev 723) @@ -9,7 +9,7 @@ */ --> -<form method="post" action="{formAction}"> +<form name="preferencesForm" method="post" action="{formAction}"> <table cellpadding="3" cellspacing="2" border="0" style="margin:5px auto; border:1px solid black"> <tr class="row_on"> <td style="text-align:right; font-weight:bold">[l]Always start browsing[/l]:</td> @@ -139,7 +139,26 @@ </tr> <tr class="row_off"> <td style="text-align:right; font-weight:bold"> - [l]Enter your TypePad AntiSpam API key to be able to discard spam comments[/l]:<br /> + [l]Enable the following spam filtering services[/l]: + </td> + <td> + <input type="checkbox" name="akismetEnabled" {akismetEnabled} onclick="SCIRET.preferences.toggleKeyFields(true)" />Akismet<br /> + <input type="checkbox" name="typePadAntiSpamEnabled" {typePadAntiSpamEnabled} onclick="SCIRET.preferences.toggleKeyFields(true)" />TypePad AntiSpam<br /> + <input type="checkbox" name="badBehaviorEnabled" {badBehaviorEnabled} onclick="SCIRET.preferences.toggleKeyFields(true)" />Bad-Behavior + </td> + </tr> + <tr id="trAkismetKey" class="row_off" style="display:none"> + <td style="text-align:right; font-weight:bold"> + [l]Enter your Akismet API key[/l]:<br /> + [l](You can get a free key <a href="http://akismet.com/personal/">here</a>)[/l] + </td> + <td> + <input type="text" name="akismetKey" value="{akismetKey}"/> + </td> + </tr> + <tr id="trTypePadAntiSpamKey" class="row_off" style="display:none"> + <td style="text-align:right; font-weight:bold"> + [l]Enter your TypePad AntiSpam API key[/l]:<br /> [l](You can get a free key <a href="http://antispam.typepad.com/info/get-api-key.html">here</a>)[/l] </td> <td> @@ -188,7 +207,7 @@ <tr class="row_on"> <td style="text-align:right; font-weight:bold">[l]Send mail using[/l]:</td> <td> - <select name="mailTransport" onchange="javascript:toggleSMTPSettings(value);"> + <select name="mailTransport" onchange="SCIRET.preferences.toggleSMTPSettings(value);"> <option value="sendmail" {sendMailUsing_sendmail_selected}>Sendmail</option> <option value="smtp" {sendMailUsing_smtp_selected}>SMTP</option> </select> @@ -223,3 +242,6 @@ </tr> </table> </form> +<script> + SCIRET.preferences.toggleKeyFields(false); +</script> Modified: trunk/views/EditPreferences.php =================================================================== --- trunk/views/EditPreferences.php 2008-10-06 17:11:43 UTC (rev 722) +++ trunk/views/EditPreferences.php 2008-10-06 17:13:07 UTC (rev 723) @@ -68,6 +68,10 @@ 'smtpPort' => $this->configuration->getConfigValue('smtpPort'), 'useClamAV_yes_selected' => $this->configuration->getConfigValue('useClamAV') == '1'? 'selected="true"' : '', 'useClamAV_no_selected' => $this->configuration->getConfigValue('useClamAV') == '0'? 'selected="true"' : '', + 'akismetEnabled' => $this->configuration->getConfigValue('akismetEnabled') == '1'? 'checked="true"' : '', + 'typePadAntiSpamEnabled' => $this->configuration->getConfigValue('typePadAntiSpamEnabled') == '1'? 'checked="true"' : '', + 'badBehaviorEnabled' => $this->configuration->getConfigValue('badBehaviorEnabled') == '1'? 'checked="true"' : '', + 'akismetKey' => $this->configuration->getConfigValue('akismetKey'), 'typePadAntiSpamKey' => $this->configuration->getConfigValue('typePadAntiSpamKey'), )); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-10-15 18:57:38
|
Revision: 725 http://sciret.svn.sourceforge.net/sciret/?rev=725&view=rev Author: alpeb Date: 2008-10-15 18:57:19 +0000 (Wed, 15 Oct 2008) Log Message: ----------- implemented REST API Modified Paths: -------------- trunk/flowMap.php trunk/models/ArticleGateway.php Added Paths: ----------- trunk/models/RestApi.php trunk/views/Api.php Modified: trunk/flowMap.php =================================================================== --- trunk/flowMap.php 2008-10-15 18:25:37 UTC (rev 724) +++ trunk/flowMap.php 2008-10-15 18:57:19 UTC (rev 725) @@ -46,6 +46,7 @@ 'Upgrade' => array(User::ROLE_ANONYMOUS, true, true, true, false), 'UpgradeOk' => array(User::ROLE_ANONYMOUS, true, true, true, false), 'ReportArticle' => array(User::ROLE_ANONYMOUS, true, true, true, false), + 'Api' => array(User::ROLE_ANONYMOUS, true, false, false, true), ); // ClassName => array(minimumRole, loadConfiguration, allowOnlyIfPublicKB(for User::ROLE_ANONYMOUS)?) Modified: trunk/models/ArticleGateway.php =================================================================== --- trunk/models/ArticleGateway.php 2008-10-15 18:25:37 UTC (rev 724) +++ trunk/models/ArticleGateway.php 2008-10-15 18:57:19 UTC (rev 725) @@ -329,13 +329,13 @@ return new ArticleIterator($resultSet, $totalNumItems); } - public function getArticlesForUser($user) + public function getArticlesForUser($userId) { $query = 'SELECT art_id, is_bookmark, q_id, title, url, expires, question, SUBSTRING(content, 1, '.EXCERPT_LENGTH.') AS excerpt, cat_id, published, draft, user_id, views, created, modified, modified_user_id, votes_1, votes_2, votes_3, votes_4, votes_5 ' . 'FROM articles ' . 'WHERE user_id=? ' . 'ORDER BY created DESC'; - $result = DB::getInstance()->query($query, $user->id); + $result = DB::getInstance()->query($query, $userId); $resultSet = $result->fetchAll(Zend_Db::FETCH_ASSOC); $query2 = 'SELECT FOUND_ROWS()'; @@ -374,6 +374,31 @@ return $result->rowCount(); } + + public function isUserRegularContributor($userId) + { + $articlesIt = self::getArticlesForUser($userId); + $articlesPerMonth = array( + 0 => 0, // current month + 1 => 0, // last month + 2 => 0, // 2 months ago + ); + $secsPerMonth = 30*24*60*60; + while ($article = $articlesIt->fetch()) { + $date = strtotime($article->getCreationDate()); + $monthsAgo = floor((time() - $date) / $secsPerMonth); + if ($monthsAgo > 2) { + break; + } + $articlesPerMonth[$monthsAgo]++; + } + + if ($articlesPerMonth[0] > 1 && $articlesPerMonth[1] > 1 && $articlesPerMonth[2] > 1) { + return true; + } else { + return false; + } + } } ?> Added: trunk/models/RestApi.php =================================================================== --- trunk/models/RestApi.php (rev 0) +++ trunk/models/RestApi.php 2008-10-15 18:57:19 UTC (rev 725) @@ -0,0 +1,37 @@ +<?php + +class RestApi +{ + public function getLatestArticles() + { + // use html_entity_decode(strip_tags()) for text nodes instead + // of just htmlspecialchars() because XML only accepts a few HTML entities + $xml ="<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"; + $xml .= "<articles>\n"; + $articles = ArticleGateway::getArticles(0, true, 'latest'); + while ($article = $articles->fetch()) { + $xml .= " <article>\n" + . " <id>".$article->getId()."</id>\n" + . " <title>" + .html_entity_decode(strip_tags($article->getTitle()), ENT_NOQUOTES, 'UTF-8') + ."</title>\n" + . " <author>" + .html_entity_decode(strip_tags($article->getUser()->getFullName()), ENT_NOQUOTES, 'UTF-8') + ."</author>\n" + . " <date>".$article->getFormatedCreationDate()."</date>\n" + . " <excerpt>" + .html_entity_decode(strip_tags($article->getExcerpt()), ENT_NOQUOTES, 'UTF-8') + ."</excerpt>\n" + . " </article>\n"; + } + $xml .= "</articles>\n"; + $xml = simplexml_load_string($xml); + + return $xml; + } + + public function isUserRegularContributor($userId) + { + return ArticleGateway::isUserRegularContributor($userId); + } +} Added: trunk/views/Api.php =================================================================== --- trunk/views/Api.php (rev 0) +++ trunk/views/Api.php 2008-10-15 18:57:19 UTC (rev 725) @@ -0,0 +1,22 @@ +<?php + +/* +* @copyright Copyright (C) 2005-2008 Keyboard Monkeys Ltd http://www.kb-m.com +* @license http://www.fsf.org/copyleft/lgpl.html GNU Lesser General Public License +* @author Alejandro Pedraza +* @since Sciret 1.0 +* @package Sciret +* @packager Keyboard Monkeys +*/ + +require_once 'views/View.php'; + +class Api extends View +{ + function dispatch() + { + $server = new Zend_Rest_Server(); + $server->setClass('RestApi'); + $server->handle(); + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-10-15 19:41:59
|
Revision: 726 http://sciret.svn.sourceforge.net/sciret/?rev=726&view=rev Author: alpeb Date: 2008-10-15 19:41:55 +0000 (Wed, 15 Oct 2008) Log Message: ----------- added some temporary hacks to share user obj in session with other apps Modified Paths: -------------- trunk/index.php trunk/models/User.php Modified: trunk/index.php =================================================================== --- trunk/index.php 2008-10-15 18:57:19 UTC (rev 725) +++ trunk/index.php 2008-10-15 19:41:55 UTC (rev 726) @@ -109,10 +109,17 @@ $users = new Users(); $user = $auth->getStorage()->read(); $user->init(); - if ($user->app == 'monkeys') { + + /** + * This is to juggle between this apps user obj and the other apps user objs. + * @todo: remove this when LDAP support is implemented + */ + if ($user->app != 'sciret') { $publicId = $user->publicId; $user = $users->getRowInstance($publicId); $user->app = 'sciret'; + $user->publicId = $publicId; + $user->init(); $auth->getStorage()->write($user); } Modified: trunk/models/User.php =================================================================== --- trunk/models/User.php 2008-10-15 18:57:19 UTC (rev 725) +++ trunk/models/User.php 2008-10-15 19:41:55 UTC (rev 726) @@ -35,12 +35,19 @@ $this->publicId = $this->id; } - if ($this->preferences) { - // this has to go here because when the object has been fetched from the DB, - // when init() is called it already has the fields filled in. - // It has to go under __set() below too, because when the object is initialized through - // createRow(), then when init() is called the fields haven't been initialized yet :/ - $this->_initPreferencesArr($this->preferences); + /** + * Might throw an exception when using user object comming from another app + * @todo: remove this when LDAP support is implemented + */ + try { + if ($this->preferences) { + // this has to go here because when the object has been fetched from the DB, + // when init() is called it already has the fields filled in. + // It has to go under __set() below too, because when the object is initialized through + // createRow(), then when init() is called the fields haven't been initialized yet :/ + $this->_initPreferencesArr($this->preferences); + } + } catch (Zend_Db_Table_Row_Exception $e) { } } @@ -77,6 +84,11 @@ return parent::__set($name, $value); } + public function __sleep() + { + return array_merge(array('app', 'publicId'), parent::__sleep()); + } + public function save() { $this->preferences = serialize($this->_preferencesArr); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pan...@us...> - 2008-10-17 07:42:29
|
Revision: 727 http://sciret.svn.sourceforge.net/sciret/?rev=727&view=rev Author: pankrupski Date: 2008-10-17 07:42:08 +0000 (Fri, 17 Oct 2008) Log Message: ----------- forms part1 Modified Paths: -------------- trunk/images/bg_menu.gif trunk/style.css trunk/templates/AddQuestion.tpl trunk/templates/AdvancedSearch.tpl trunk/templates/EditArticle.tpl trunk/templates/EditBookmark.tpl trunk/templates/EditCategories.tpl trunk/templates/EditCategory.tpl trunk/templates/EditPreferences.tpl trunk/templates/EditUser.tpl trunk/templates/Login.tpl trunk/templates/MainView.tpl trunk/templates/ManageArticles.tpl trunk/templates/ManageQuestions.tpl trunk/templates/ManageUsers.tpl trunk/templates/TodosDropdown.tpl Modified: trunk/images/bg_menu.gif =================================================================== (Binary files differ) Modified: trunk/style.css =================================================================== --- trunk/style.css 2008-10-15 19:41:55 UTC (rev 726) +++ trunk/style.css 2008-10-17 07:42:08 UTC (rev 727) @@ -1,3 +1,8 @@ +/* @override + http://localhost:8888/sciret/style.css + http://mac/~pawel/muusk/rep/themes/New/style.css +*/ + /* * * @copyright Copyright (C) 2005-2008 Keyboard Monkeys Ltd. http://www.kb-m.com * * @license http://www.fsf.org/copyleft/lgpl.html GNU Lesser General Public License @@ -228,21 +233,25 @@ margin-right: 17px; margin-left: 30px; height: 35px; - font-size: 1.2em; + font-size: 1.5em; } #menu a { background-color: #fff; - color: #181818; + color: #3e5164; font-weight: bold; font-size: 0.7em; - margin-right: 3px; + margin-right: 2px; padding: 10px 10px 5px; + border-bottom: 1px solid #acbccd; + border-right: 1px solid #acbccd; + border-left: 1px solid #acbccd; + background-image: url(images/bg_menu_a.gif); } #menu a:hover { height: 135px; - border-bottom: 5px solid #dfe61c; + text-decoration: none; } @@ -397,10 +406,31 @@ #content_left { width: 620px; float: left; + display: block; margin: 20px 20px 20px 30px; - display: block; } +#categoriesTable { + width: 610px; + height: 200px; + margin-bottom: 20px; + background: url('images/bg_categoriesTable.gif') no-repeat; +} + +.art_category { + color: #5b5b5b; + font-size: 11px; + margin-top: 5px; + text-transform: uppercase; + letter-spacing: 2px; + font-weight: bold; + margin-bottom: 20px; +} + +.art_category a { + font-weight: bold; +} + table.categoriesTable { border: 1px solid #cbeaf4; margin-bottom: 20px; @@ -424,7 +454,26 @@ margin-bottom: 40px; } +/* forms */ +form#login { + margin-top: 20px; +} + +form#login input { + margin-top: 10px; +} + +form#login #submit { + margin-top: 10px; + margin-left: 195px; +} + +.form_left { + text-align: right; + font-weight: bold; +} + /* panel_right */ #panel_right { @@ -648,6 +697,10 @@ margin: 5px; } +#todo { + vertical-align: middle; +} + /* end panel_right */ @@ -673,7 +726,6 @@ padding-right:5px; padding-bottom: 0; padding-left: 10px; - margin-top: 1px; } .button_panel a:hover { @@ -727,6 +779,85 @@ background-position: bottom left; } +/* button input */ + +.button_input { + margin-top: 20px; +} + +.button_input a { + background: transparent url('images/button_panel_a.gif') no-repeat scroll top right; + color: #004a00; + display: block; + height: 25px; + text-decoration: none; + margin-right: 0; + margin-left: 5px; + padding-right: 2px; + font-size: 1em; +} + +.button_input a span { + background: transparent url('images/button_panel_span.gif') no-repeat; + display: block; + float: right; + line-height: 25px; + padding-right:5px; + padding-bottom: 0; + padding-left: 10px; + +} + +.button_input a:hover { + background-position: bottom right; + color: #004a00; + outline: none; + text-decoration: none; +} + +.button_input a:hover span { + background-position: bottom left; +} + +/* button submit */ + +.button_input { + margin-top: 20px; +} + +.button_submit a { + background: transparent url('images/button_panel_a.gif') no-repeat scroll top right; + color: #004a00; + display: block; + height: 25px; + text-decoration: none; + margin-right: 0; + margin-left: 5px; + padding-right: 2px; + font-size: 1em; +} + +.button_submit span { + background: transparent url('images/button_panel_span.gif') no-repeat; + display: block; + float: right; + line-height: 25px; + padding-right:5px; + padding-bottom: 0; + padding-left: 10px; +} + +.td_submit { + padding-top: 10px; + text-align: right; +} + +.td_submit span { + color: #4d4d4d; + font-style: italic; + margin-right: 10px; +} + /* end buttons */ /* table */ @@ -747,21 +878,25 @@ border-style: none; } -table th { +table th, .th_h { letter-spacing: 1px; text-align: left; padding: 4px 4px 4px 8px; background: url(images/bg_table_head.jpg) no-repeat; - border: 1px solid #81a1c6; + border-top: 1px solid #81a1c6; + border-right: 1px solid #81a1c6; + border-bottom: 1px solid #81a1c6; } +.th_h { + border-left: 1px solid #81a1c6; +} + .specth { border-left: 1px solid #81a1c6; } td { - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; background: #fff; padding: 4px 4px 4px 8px; color: #292929; @@ -771,6 +906,37 @@ border-left: 1px solid #c7c7c7; } +.td_h2 { + font-weight: bold; + +} + +/* table1 */ + +.filterbar { + margin-bottom: 10px; + margin-top: 10px; +} + +.toolbar { + margin-top: 20px; + text-align: right; +} + +.table1 td { + background-color: #fff; + border-right: 1px solid #e1e1e1; + border-bottom: 1px solid #e1e1e1; +} + +.table1 td.td_h { + border-left: 1px solid #e1e1e1; +} + +.table1 tr.row_off td { + background-color: #f2f3f7; +} + /* foot */ #pagination { Modified: trunk/templates/AddQuestion.tpl =================================================================== --- trunk/templates/AddQuestion.tpl 2008-10-15 19:41:55 UTC (rev 726) +++ trunk/templates/AddQuestion.tpl 2008-10-17 07:42:08 UTC (rev 727) @@ -9,7 +9,9 @@ */ --> -<div align="center" style='border:1px solid black;'> + +<h1>[l]Submit Questions[l]</h1> + <form method=POST action="{formAction}"> <table width="100%" cellpadding="5" cellspacing="0" border="0"> <tr class="th"> @@ -21,7 +23,7 @@ <td width="20%" style="text-align:right">[l]Your Name[/l]:</td><td><input type=text name="username" value="{username}" size="30"></td> </tr> <tr> - <td valign="top" style="text-align:right">[l]Question[/l]:</td><td><textarea name="contents" style="width:90%; height:30px"></textarea></td> + <td valign="top" style="text-align:right">[l]Question[/l]:</td><td><textarea name="contents" style="width:100%; height:30px"></textarea></td> </tr> <tr> <td style="text-align:right">[l]Select Category[/l]:</td> @@ -36,12 +38,12 @@ </tr> <tr> <td></td> - <td style="text-align:left"> + <td class="td_submit"> + <span>{publish}</span> <input type=submit name="submit" value="[l]Submit[/l]" /> - <b>{publish}</b> </td> </tr> </table> </form> -</div> + Modified: trunk/templates/AdvancedSearch.tpl =================================================================== --- trunk/templates/AdvancedSearch.tpl 2008-10-15 19:41:55 UTC (rev 726) +++ trunk/templates/AdvancedSearch.tpl 2008-10-17 07:42:08 UTC (rev 727) @@ -7,36 +7,36 @@ * @package Sciret * @packager Keyboard Monkeys */ ---> +--> + +<h1>[l]Advanced Search[/l]</h1> + <form method="GET" action="{formAction}"> <input type="hidden" name="view" value="SearchResults" /> <input type="hidden" name="advancedSearch" value="1" /> <table> - <tr class=th> - <th colspan=2 >[l]Advanced Search[/l]</th> - </tr> <tr class="row_off"> <td colspan="2"> <table> <tr> - <td valign="top" width=50>[l]Find Results[/l]</td> + <td class="td_h2">[l]Find Results[/l]</td> <td> <table> <tr> - <td style="text-align:right">[l]Including these words*[/l]:</td> + <td class="form_left">[l]Including these words*[/l]:</td> <td><input type="text" size=50 name="allWords"></td> </tr> <tr> - <td style="text-align:right">[l]Including the exact phrase[/l]:</td> + <td class="form_left">[l]Including the exact phrase[/l]:</td> <td><input type="text" size=50 name="phrase"></td> </tr> <tr> - <td style="text-align:right">[l]With at least one of these words*[/l]:</td> + <td class="form_left">[l]With at least one of these words*[/l]:</td> <td><input type="text" size=50 name="oneWord"></td> </tr> <tr> - <td style="text-align:right">[l]Without these words*[/l]:</td> + <td class="form_left">[l]Without these words*[/l]:</td> <td><input type="text" size=50 name="excludeWords"></td> </tr> </table> @@ -46,7 +46,7 @@ </td> </tr> <tr class="row_on"> - <td width=150 style="text-align:right">[l]Search in[/l]:</td> + <td class="form_left">[l]Search in[/l]:</td> <td> <select name="target"> <option value="all">[l]Articles and Bookmarks[/l]</option> @@ -56,7 +56,7 @@ </td> </tr> <tr class="row_off"> - <td width=150 style="text-align:right">[l]Search in category[/l]:</td> + <td class="form_left">[l]Search in category[/l]:</td> <td> <select name="category"> <option value="0">[l]All[/l]</option> @@ -68,7 +68,7 @@ </td> </tr> <tr class="row_on"> - <td style="text-align:right">[l]Publication date[/l]:</td> + <td class="form_left">[l]Publication date[/l]:</td> <td> <select name="publicationDate"> <option value="0" selected>[l]anytime[/l]</option> @@ -79,7 +79,7 @@ </td> </tr> <tr class="row_off"> - <td style="text-align:right">[l]Occurrences[/l]:</td> + <td class="form_left">[l]Occurrences[/l]:</td> <td> <select name="ocurrences"> <option value="anywhere" selected>[l]Anywhere in the article/bookmark[/l]</option> @@ -89,7 +89,7 @@ </td> </tr> <tr class="row_on"> - <td style="text-align:right">[l]Order results by[/l]:</td> + <td class="form_left">[l]Order results by[/l]:</td> <td> <select name="order"> <option value="created" selected>[l]Creation date[/l]</option> @@ -110,8 +110,8 @@ </td> </tr> <tr> - <td colspan=2 align=center style="padding: 10px 0 10px 0"> - <input type="submit" name="adv_search" value="[l]Search[/l]"> + <td colspan=2 class="td_submit"> + <input type="submit" name="adv_search" value="[l]Search[/l]"> </td> </tr> </table> Modified: trunk/templates/EditArticle.tpl =================================================================== --- trunk/templates/EditArticle.tpl 2008-10-15 19:41:55 UTC (rev 726) +++ trunk/templates/EditArticle.tpl 2008-10-17 07:42:08 UTC (rev 727) @@ -16,10 +16,12 @@ <script type="text/javascript" src="javascript/yui/build/menu/menu-min.js"></script> <!-- Source file for Rich Text Editor--> <script src="javascript/yui/build/editor/editor-beta-min.js"></script> + +<h1>Add Article</h1> <form name="saveArticleForm" method="POST" action="{formAction}"> <input type="hidden" name="draft" value="0" /> - <table width="100%" border="0" cellspacing="1" cellpadding="3" border="1" style='border:1px solid black'> + <table width="100%" border="0" cellspacing="1" cellpadding="3"> <!-- BEGIN answer_question_block --> <tr class="th"> <td colspan=2><b>{header}</b></td> @@ -107,14 +109,14 @@ </td> </tr> <tr> - <td colspan="2"> + <td colspan="2" class="td_submit"> + <span>{publicationNotice}</span> <input type="submit" value="[l]Save[/l]" onclick="return validateForm(form);" /> - <b>{publicationNotice}</b> </td> </tr> <!-- BEGIN saveAsDraftButton_block --> <tr> - <td colspan="2"> + <td colspan="2" class="td_submit"> <input type="button" value="[l]Save as Draft[/l]" onclick="saveDraft(form);" /> </td> </tr> Modified: trunk/templates/EditBookmark.tpl =================================================================== --- trunk/templates/EditBookmark.tpl 2008-10-15 19:41:55 UTC (rev 726) +++ trunk/templates/EditBookmark.tpl 2008-10-17 07:42:08 UTC (rev 727) @@ -8,10 +8,12 @@ * @packager Keyboard Monkeys */ --> + +<h1>Add Bookmark</h1> <form name="saveArticleForm" method="POST" action="{formAction}"> <input type="hidden" name="draft" value="0" /> - <table width="100%" border="0" cellspacing="1" cellpadding="3" border="1" style='border:1px solid black'> + <table width="100%" border="0" cellspacing="1" cellpadding="3"> <!-- BEGIN bookmark_id_block --> <tr class="th"> <input type="hidden" name="bookmarkId" value="{bookmarkId}" /> @@ -78,14 +80,14 @@ </td> </tr> <tr> - <td colspan="2"> + <td colspan="2" class="td_submit"> + <span>{publicationNotice}</span> <input type="submit" value="[l]Save[/l]" /> - <b>{publicationNotice}</b> </td> </tr> <!-- BEGIN saveAsDraftButton_block --> <tr> - <td colspan="2"> + <td colspan="2" class="td_submit"> <input type="button" value="[l]Save as Draft[/l]" onclick="saveDraft(form);" /> </td> </tr> Modified: trunk/templates/EditCategories.tpl =================================================================== --- trunk/templates/EditCategories.tpl 2008-10-15 19:41:55 UTC (rev 726) +++ trunk/templates/EditCategories.tpl 2008-10-17 07:42:08 UTC (rev 727) @@ -16,17 +16,20 @@ } location.href = '{deleteCatRedirect}&catId='+catId; } -</script> -<table cellpadding="3" cellspacing="2" border="0" style="margin:5px auto"> +</script> + +<h1>[l]Manage Categories[l]</h1> + +<table cellpadding="3" cellspacing="2" border="0" class="table1"> <tr> - <th>[l]Name[/l]</th> + <th class="th_h">[l]Name[/l]</th> <th>[l]Description[/l]</th> <th>[l]Icon[/l]</th> <th></th> </tr> <!-- BEGIN categories_block --> <tr class="{rowClass}"> - <td> + <td class="td_h"> <!-- BEGIN boldCategory_block --> {indent}<b>{catLabel}</b> <!-- END boldCategory_block --> @@ -53,9 +56,7 @@ </td> </tr> <!-- END categories_block --> - <tr> - <td colspan="5"> - <input type="button" value="[l]Add Category[/l]" onclick="location.href = '{addCatRedirect}'" /> - </td> - </tr> -</table> +</table> + <div class="toolbar"> + <input type="button" value="[l]Add Category[/l]" onclick="location.href = '{addCatRedirect}'" /> + </div> \ No newline at end of file Modified: trunk/templates/EditCategory.tpl =================================================================== --- trunk/templates/EditCategory.tpl 2008-10-15 19:41:55 UTC (rev 726) +++ trunk/templates/EditCategory.tpl 2008-10-17 07:42:08 UTC (rev 727) @@ -16,12 +16,12 @@ return true; } </script> + +<h1>[l]Edit/Add Category[/l]</h1> + <form method="post" action="{formAction}"> <input type="hidden" name="catId" value="{catId}" /> <table cellpadding="3" cellspacing="2" border="0" style="margin:5px auto"> - <tr class=th> - <td colspan=2 align=center><b>[l]Edit/Add Category[/l]</b></td> - </tr> <tr class="row_off"> <td>[l]Parent Category[/l]:</td> <td> Modified: trunk/templates/EditPreferences.tpl =================================================================== --- trunk/templates/EditPreferences.tpl 2008-10-15 19:41:55 UTC (rev 726) +++ trunk/templates/EditPreferences.tpl 2008-10-17 07:42:08 UTC (rev 727) @@ -9,10 +9,12 @@ */ --> +<h1>Preferences</h1> + <form name="preferencesForm" method="post" action="{formAction}"> - <table cellpadding="3" cellspacing="2" border="0" style="margin:5px auto; border:1px solid black"> + <table cellpadding="3" cellspacing="2" border="0" > <tr class="row_on"> - <td style="text-align:right; font-weight:bold">[l]Always start browsing[/l]:</td> + <td class="form_left">[l]Always start browsing[/l]:</td> <td> <select name="startBrowsing"> <option value="all" {startBrowsing_all}>[l]Articles and Bookmarks[/l]</option> @@ -22,7 +24,7 @@ </td> </tr> <tr class="row_off"> - <td style="text-align:right; font-weight:bold">[l]Number of articles per page[/l]:</td> + <td class="form_left">[l]Number of articles per page[/l]:</td> <td> <select name="articlesPerPage"> <option {articlesPerPage_10}>10</option> @@ -34,7 +36,7 @@ </td> </tr> <tr class="row_on"> - <td style="text-align:right; font-weight:bold">[l]Date format[/l]:</td> + <td class="form_left">[l]Date format[/l]:</td> <td> <select name="dateFormat"> <option value="Month Day, Year" {dateFormat_1}>[l]Month Day, Year[/l]</option> @@ -46,7 +48,7 @@ </td> </tr> <tr class="row_off"> - <td style="text-align:right; font-weight:bold">[l]Language[/l]:</td> + <td class="form_left">[l]Language[/l]:</td> <td> <select name="language"> <!-- BEGIN languages_block --> @@ -56,7 +58,7 @@ </td> </tr> <tr class="row_on"> - <td style="text-align:right; font-weight:bold">[l]Show articles from[/l]:</td> + <td class="form_left">[l]Show articles from[/l]:</td> <td> <select name="navigationType"> <option value="catAndSubCats" {catAndSubCats_selected}>[l]Current category and subcategories[/l]</option> @@ -66,7 +68,7 @@ </tr> <!-- BEGIN adminPreferences_block --> <tr class="row_off"> - <td style="text-align:right; font-weight:bold">[l]Make knowledge base public[/l]:</td> + <td class="form_left">[l]Make knowledge base public[/l]:</td> <td> <select name="publishKB"> <option value="1" {publishKB_yes_selected}>[l]Yes[/l]</option> @@ -75,7 +77,7 @@ </td> </tr> <tr class="row_on"> - <td style="text-align:right; font-weight:bold">[l]Let users open an account[/l]:</td> + <td class="form_left">[l]Let users open an account[/l]:</td> <td> <select name="anonymousRegistration"> <option value="1" {anonymousRegistration_yes_selected}>[l]Yes[/l]</option> @@ -84,7 +86,7 @@ </td> </tr> <tr class="row_off"> - <td style="text-align:right; font-weight:bold">[l]Publish articles automatically[/l]:</td> + <td class="form_left">[l]Publish articles automatically[/l]:</td> <td> <select name="publishArticlesAuto"> <option value="1" {publishArticlesAuto_yes_selected}>[l]Yes[/l]</option> @@ -93,7 +95,7 @@ </td> </tr> <tr class="row_on"> - <td style="text-align:right; font-weight:bold">[l]Publish bookmarks automatically[/l]:</td> + <td class="form_left">[l]Publish bookmarks automatically[/l]:</td> <td> <select name="publishBookmarksAuto"> <option value="1" {publishBookmarksAuto_yes_selected}>[l]Yes[/l]</option> @@ -102,7 +104,7 @@ </td> </tr> <tr class="row_off"> - <td style="text-align:right; font-weight:bold">[l]Publish comments automatically[/l]:</td> + <td class="form_left">[l]Publish comments automatically[/l]:</td> <td> <select name="publishCommentsAuto"> <option value="1" {publishCommentsAuto_yes_selected}>[l]Yes[/l]</option> @@ -111,7 +113,7 @@ </td> </tr> <tr class="row_on"> - <td style="text-align:right; font-weight:bold">[l]Publish questions automatically[/l]:</td> + <td class="form_left">[l]Publish questions automatically[/l]:</td> <td> <select name="publishQuestionsAuto"> <option value="1" {publishQuestionsAuto_yes_selected}>[l]Yes[/l]</option> @@ -120,7 +122,7 @@ </td> </tr> <tr class="row_off"> - <td style="text-align:right; font-weight:bold">[l]Internal article by default[/l]:</td> + <td class="form_left">[l]Internal article by default[/l]:</td> <td> <select name="internalByDefault"> <option value="1" {internalByDefault_yes_selected}>[l]Yes[/l]</option> @@ -129,7 +131,7 @@ </td> </tr> <tr class="row_on"> - <td style="text-align:right; font-weight:bold">[l]Allow comments and ratings[/l]:</td> + <td class="form_left">[l]Allow comments and ratings[/l]:</td> <td> <select name="allowCommentsRatings"> <option value="1" {allowCommentsRatings_yes_selected}>[l]Yes[/l]</option> @@ -138,7 +140,7 @@ </td> </tr> <tr class="row_off"> - <td style="text-align:right; font-weight:bold"> + <td class="form_left"> [l]Enable the following spam filtering services[/l]: </td> <td> @@ -148,7 +150,7 @@ </td> </tr> <tr id="trAkismetKey" class="row_off" style="display:none"> - <td style="text-align:right; font-weight:bold"> + <td class="form_left"> [l]Enter your Akismet API key[/l]:<br /> [l](You can get a free key <a href="http://akismet.com/personal/">here</a>)[/l] </td> @@ -157,7 +159,7 @@ </td> </tr> <tr id="trTypePadAntiSpamKey" class="row_off" style="display:none"> - <td style="text-align:right; font-weight:bold"> + <td class="form_left"> [l]Enter your TypePad AntiSpam API key[/l]:<br /> [l](You can get a free key <a href="http://antispam.typepad.com/info/get-api-key.html">here</a>)[/l] </td> @@ -166,7 +168,7 @@ </td> </tr> <tr class="row_on"> - <td style="text-align:right; font-weight:bold">[l]Only admin and author can modify an article[/l]:</td> + <td class="form_left">[l]Only admin and author can modify an article[/l]:</td> <td> <select name="restrictEditDelete"> <option value="1" {restrictEditDelete_yes_selected}>[l]Yes[/l]</option> @@ -175,37 +177,37 @@ </td> </tr> <tr class="row_off"> - <td style="text-align:right; font-weight:bold">[l]Days before password expires[/l]:</td> + <td class="form_left">[l]Days before password expires[/l]:</td> <td> <input type="text" name="passwordExpirationDays" value="{passwordExpirationDays}" size="2" /> </td> </tr> <tr class="row_on"> - <td style="text-align:right; font-weight:bold">[l]Send mail from (name)[/l]:</td> + <td class="form_left">[l]Send mail from (name)[/l]:</td> <td> <input type="text" name="mailFromName" value="{mailFromName}"/> </td> </tr> <tr class="row_off"> - <td style="text-align:right; font-weight:bold">[l]Send mail from (email)[/l]:</td> + <td class="form_left">[l]Send mail from (email)[/l]:</td> <td> <input type="text" name="mailFromMail" value="{mailFromMail}"/> </td> </tr> <tr class="row_on"> - <td style="text-align:right; font-weight:bold">[l]Send article reports to (email)[/l]:</td> + <td class="form_left">[l]Send article reports to (email)[/l]:</td> <td> <input type="text" name="mailArticleReports" value="{mailArticleReports}"/> </td> </tr> <tr class="row_off"> - <td style="text-align:right; font-weight:bold">[l]Send category creation request to (email)[/l]:</td> + <td class="form_left">[l]Send category creation request to (email)[/l]:</td> <td> <input type="text" name="mailCategoryRequest" value="{mailCategoryRequest}"/> </td> </tr> <tr class="row_on"> - <td style="text-align:right; font-weight:bold">[l]Send mail using[/l]:</td> + <td class="form_left">[l]Send mail using[/l]:</td> <td> <select name="mailTransport" onchange="SCIRET.preferences.toggleSMTPSettings(value);"> <option value="sendmail" {sendMailUsing_sendmail_selected}>Sendmail</option> @@ -215,7 +217,7 @@ </tr> <tr class="row_off" id="smtp_options" {showSMTPOptions}> <td colspan="2"> - <p style="text-align:center; font-weight:bold">[l]SMTP settings[/l]:</p> + <p class="form_left">[l]SMTP settings[/l]:</p> <ul> <li>[l]SMTP server[/l]: <input type="text" name="smtpServer" value="{smtpServer}"/></li> <li>[l]SMTP user[/l]: <input type="text" name="smtpUser" value="{smtpUser}"/></li> @@ -225,7 +227,7 @@ </td> </tr> <tr class="row_on"> - <td style="text-align:right; font-weight:bold"> + <td class="form_left"> [l]Check uploaded files for viruses[/l]:<br /> [l](You need to have <a href="http://www.clamav.net">ClamAV</a> in your system)[/l] </td> @@ -238,7 +240,7 @@ </tr> <!-- END adminPreferences_block --> <tr> - <td colspan="2"><input type="submit" value="[l]Save[/l]" /></td> + <td colspan="2" class="td_submit"><input type="submit" value="[l]Save[/l]" /></td> </tr> </table> </form> Modified: trunk/templates/EditUser.tpl =================================================================== --- trunk/templates/EditUser.tpl 2008-10-15 19:41:55 UTC (rev 726) +++ trunk/templates/EditUser.tpl 2008-10-17 07:42:08 UTC (rev 727) @@ -9,9 +9,11 @@ */ --> +<h1>[l]Edit {userName}[l]</h1> + <form method="post" action="{formAction}"> <input type="hidden" name="userId" value="{userId}" /> - <table style="border:1px solid black; margin:5px auto"> + <table> <tr class=th> <td colspan=2 align=center><b>[l]User Data[/l]</b></td> </tr> Modified: trunk/templates/Login.tpl =================================================================== --- trunk/templates/Login.tpl 2008-10-15 19:41:55 UTC (rev 726) +++ trunk/templates/Login.tpl 2008-10-17 07:42:08 UTC (rev 727) @@ -7,22 +7,23 @@ * @package Sciret * @packager Keyboard Monkeys */ ---> +--> -<form method="post" action="index.php?action=Login" style="text-align:center" > - <table cellpadding="10" cellspacing="0" border="0" style="margin: 20px auto; border:1px solid blue"> - <tr> - <td>[l]Username[/l]:</td> - <td><input type="text" name="username" /></td> - </tr> - <tr> - <td>[l]Password[/l]:</td> - <td><input type="password" name="password" /></td> - </tr> - <tr> - <td colspan="2" style="text-align:right"><input type="submit" value="[l]Login[/l]" /></td> - </tr> - </table> +<h1>Login</h1> + +<form method="post" action="index.php?action=Login" id="login" > + <table> + <tr> + <td class="form_left">[l]Username[/l]:</td> + <td><input type="text" name="username" /></td> + </tr> + <tr> + <td class="form_left">[l]Password[/l]:</td> + <td><input type="password" name="password" /></td> + </tr> + </table> + <p id="submit"><input type="submit" value="[l]Login[/l]" /></p> + <!-- BEGIN register_block --> <div> You don't have an account? Modified: trunk/templates/MainView.tpl =================================================================== --- trunk/templates/MainView.tpl 2008-10-15 19:41:55 UTC (rev 726) +++ trunk/templates/MainView.tpl 2008-10-17 07:42:08 UTC (rev 727) @@ -7,7 +7,8 @@ * @package Sciret * @packager Keyboard Monkeys */ ---> +--> + <script type="text/javascript"> YAHOO.util.Event.onDOMReady(function() { var mainViewTabs = new YAHOO.widget.TabView("mainViewTabs"); @@ -24,7 +25,7 @@ </ul> <div class="yui-content"> <div> - <table class="categoriesTable"> + <table id="categoriesTable"> <tr> <td>{path}</td> </tr> @@ -35,7 +36,13 @@ </table> </td> </tr> + </table> + + </td> + </tr> +</table> + [l]Total Number of Categories:[/l] {numCats}<br /> <!-- BEGIN totalNumArts_block --> @@ -50,6 +57,7 @@ <a href="{requestCatLink}">[l]Request the creation of a category[/l]</a> </div> <!-- END requestCat_block --> + </div> <div> <div class="title_view"> @@ -78,6 +86,7 @@ </p> </div><!--end title_view--> + <!-- BEGIN articles_block --> <h2> <i>({art_num}) </i> Modified: trunk/templates/ManageArticles.tpl =================================================================== --- trunk/templates/ManageArticles.tpl 2008-10-15 19:41:55 UTC (rev 726) +++ trunk/templates/ManageArticles.tpl 2008-10-17 07:42:08 UTC (rev 727) @@ -10,6 +10,9 @@ --> <!-- BEGIN filterUnpublished_block --> + +<h1>[l]Manage Articles[l]</h1> + <table width="100%" cellpadding="3" cellspacing="2" style=''> <tr> <td> @@ -28,9 +31,9 @@ </tr> </table> <!-- END filterUnpublished_block --> -<table width="100%" cellpadding="3" cellspacing="2" style='border:1px solid black;'> +<table width="100%" cellpadding="3" cellspacing="2" class="table1"> <tr> - <th> + <th class="th_h"> <a href="{headerSortLink}&tableSort=title_{directionTitle}">[l]Title[/l]</a> {sortByTitleArrow} </th> @@ -54,7 +57,7 @@ </tr> <!-- BEGIN articleRow_block --> <tr class="{rowClass}"> - <td> + <td class="td_h"> <img src="images/{articleImage}" /> <a href="{articleLink}" {articleLinkTarget}>{articleTitle}</a> </td> Modified: trunk/templates/ManageQuestions.tpl =================================================================== --- trunk/templates/ManageQuestions.tpl 2008-10-15 19:41:55 UTC (rev 726) +++ trunk/templates/ManageQuestions.tpl 2008-10-17 07:42:08 UTC (rev 727) @@ -16,8 +16,11 @@ location.href = '{filterLink}&catId=' + category + '&published=' + published; } -</script> -<div style="text-align:left"> +</script> + +<h1>[l]Manage Questions[l]</h1> + +<div class="filterbar"> <b>[l]Category[/l]:</b> <select id="category" name="category" onchange="changeFilter()" > <option value="0">[l]All[/l]</option> @@ -31,9 +34,9 @@ <option value="published" {publishedSelected}>[l]Published[/l]</option> </select> </div> -<table cellpadding="3" cellspacing="2" border="0" style="margin:5px auto"> +<table cellpadding="3" cellspacing="2" class="table1"> <tr> - <th>[l]Category[/l]</th> + <th class="th_h">[l]Category[/l]</th> <th>[l]Poster[/l]</th> <th>[l]Creation Date[/l]</th> <th>[l]Published[/l]</th> @@ -42,7 +45,7 @@ </tr> <!-- BEGIN questions_block --> <tr class="{rowClass}"> - <td>{category}</td> + <td class="td_h">{category}</td> <td>{poster}</td> <td>{creationDate}</td> <td style="text-align:center">{published}</td> Modified: trunk/templates/ManageUsers.tpl =================================================================== --- trunk/templates/ManageUsers.tpl 2008-10-15 19:41:55 UTC (rev 726) +++ trunk/templates/ManageUsers.tpl 2008-10-17 07:42:08 UTC (rev 727) @@ -17,10 +17,13 @@ location.href = '{deleteUserLink}&userId='+userId; } -</script> -<table cellpadding="3" cellspacing="2" border="0" style="margin:5px auto"> +</script> + +<h1>Manage Users</h1> + +<table cellpadding="3" cellspacing="2" class="table1"> <tr> - <th>[l]Name[/l]</th> + <th class="th_h">[l]Name[/l]</th> <th>[l]UserName[/l]</th> <th>[l]E-mail[/l]</th> <th>[l]Admin rights[/l]</th> @@ -28,7 +31,7 @@ </tr> <!-- BEGIN usersBlock --> <tr class="{rowClass}"> - <td>{name}</td> + <td class="td_h">{name}</td> <td>{userName}</td> <td>{email}</td> <td style="text-align:center">{adminRights}</td> @@ -40,9 +43,7 @@ </td> </tr> <!-- END usersBlock --> - <tr> - <td colspan="5"> - <input type="button" value="[l]Add User[/l]" onclick="location.href='{AddUserLink}'" /> - </td> - </tr> </table> + <div class="toolbar"> + <input type="button" value="[l]Add User[/l]" onclick="location.href='{AddUserLink}'" /> + </div> Modified: trunk/templates/TodosDropdown.tpl =================================================================== --- trunk/templates/TodosDropdown.tpl 2008-10-15 19:41:55 UTC (rev 726) +++ trunk/templates/TodosDropdown.tpl 2008-10-17 07:42:08 UTC (rev 727) @@ -9,7 +9,7 @@ */ --> -<div style="padding-bottom:5px"> +<div id="todo"> <!-- BEGIN todosList_block --> <ul> <!-- BEGIN todoItem_block --> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-10-17 17:17:26
|
Revision: 730 http://sciret.svn.sourceforge.net/sciret/?rev=730&view=rev Author: alpeb Date: 2008-10-17 17:17:21 +0000 (Fri, 17 Oct 2008) Log Message: ----------- show different title in template, depending on whether the item is being edited or added Modified Paths: -------------- trunk/templates/EditArticle.tpl trunk/templates/EditBookmark.tpl trunk/templates/EditUser.tpl trunk/views/EditArticle.php trunk/views/EditBookmark.php trunk/views/EditUser.php Modified: trunk/templates/EditArticle.tpl =================================================================== --- trunk/templates/EditArticle.tpl 2008-10-17 17:16:32 UTC (rev 729) +++ trunk/templates/EditArticle.tpl 2008-10-17 17:17:21 UTC (rev 730) @@ -17,7 +17,14 @@ <!-- Source file for Rich Text Editor--> <script src="javascript/yui/build/editor/editor-beta-min.js"></script> -<h1>Add Article</h1> +<h1> + <!-- BEGIN addArticleTitle_block --> + [l]Add Article[/l] + <!-- END addArticleTitle_block --> + <!-- BEGIN editArticleTitle_block --> + [l]Edit Article[/l] + <!-- END editArticleTitle_block --> +</h1> <form name="saveArticleForm" method="POST" action="{formAction}"> <input type="hidden" name="draft" value="0" /> Modified: trunk/templates/EditBookmark.tpl =================================================================== --- trunk/templates/EditBookmark.tpl 2008-10-17 17:16:32 UTC (rev 729) +++ trunk/templates/EditBookmark.tpl 2008-10-17 17:17:21 UTC (rev 730) @@ -9,7 +9,14 @@ */ --> -<h1>Add Bookmark</h1> +<h1> + <!-- BEGIN editBookmarkTitle_block --> + [l]Edit Bookmark[/l] + <!-- END editBookmarkTitle_block --> + <!-- BEGIN addBookmarkTitle_block --> + [l]Add Bookmark[/l] + <!-- END addBookmarkTitle_block --> +</h1> <form name="saveArticleForm" method="POST" action="{formAction}"> <input type="hidden" name="draft" value="0" /> Modified: trunk/templates/EditUser.tpl =================================================================== --- trunk/templates/EditUser.tpl 2008-10-17 17:16:32 UTC (rev 729) +++ trunk/templates/EditUser.tpl 2008-10-17 17:17:21 UTC (rev 730) @@ -9,7 +9,14 @@ */ --> -<h1>[l]Edit {userName}[l]</h1> +<h1> + <!-- BEGIN editUserTitle_block --> + [l]Edit {userName}[/l] + <!-- END editUserTitle_block --> + <!-- BEGIN addUserTitle_block --> + [l]New User[/l] + <!-- END addUserTitle_block --> +</h1> <form method="post" action="{formAction}"> <input type="hidden" name="userId" value="{userId}" /> Modified: trunk/views/EditArticle.php =================================================================== --- trunk/views/EditArticle.php 2008-10-17 17:16:32 UTC (rev 729) +++ trunk/views/EditArticle.php 2008-10-17 17:17:21 UTC (rev 730) @@ -20,6 +20,8 @@ $selectedCategory = 0; $this->tpl->set_file('edit_article', 'EditArticle.tpl'); + $this->tpl->set_block('edit_article', 'addArticleTitle_block', 'addArticleTitle'); + $this->tpl->set_block('edit_article', 'editArticleTitle_block', 'editArticleTitle'); $this->tpl->set_block('edit_article', 'answer_question_block', 'answer_question'); $this->tpl->set_block('edit_article', 'article_id_block', 'article_id'); $this->tpl->set_block('edit_article', 'usage_block', 'usage_id'); @@ -64,6 +66,8 @@ $this->tpl->set_var('removeExpDateLinkDisplay', ''); } + $this->tpl->parse('editArticleTitle', 'editArticleTitle_block'); + $this->tpl->set_var('addArticleTitle', ''); $this->tpl->parse('article_id', 'article_id_block'); if ($this->user->isAdmin()) { @@ -102,6 +106,9 @@ $this->tpl->set_var('publicationNotice', $this->user->lang('Your article won\'t be available publicly until it is explicitly set as "Published"')); } + $this->tpl->parse('addArticleTitle', 'addArticleTitle_block'); + $this->tpl->set_var('editArticleTitle', ''); + $this->tpl->set_var('usage_id', ''); } $this->tpl->parse('saveAsDraftButton', 'saveAsDraftButton_block'); Modified: trunk/views/EditBookmark.php =================================================================== --- trunk/views/EditBookmark.php 2008-10-17 17:16:32 UTC (rev 729) +++ trunk/views/EditBookmark.php 2008-10-17 17:17:21 UTC (rev 730) @@ -19,6 +19,8 @@ $selectedCategory = 0; $this->tpl->set_file('edit_bookmark', 'EditBookmark.tpl'); + $this->tpl->set_block('edit_bookmark', 'editBookmarkTitle_block', 'editBookmarkTitle'); + $this->tpl->set_block('edit_bookmark', 'addBookmarkTitle_block', 'addBookmarkTitle'); $this->tpl->set_block('edit_bookmark', 'bookmark_id_block', 'bookmark_id'); $this->tpl->set_block('edit_bookmark', 'categories_block', 'categories'); $this->tpl->set_block('edit_bookmark', 'saveAsDraftButton_block', 'saveAsDraftButton'); @@ -50,6 +52,8 @@ $this->tpl->set_var('removeExpDateLinkDisplay', ''); } + $this->tpl->parse('editBookmarkTitle', 'editBookmarkTitle_block'); + $this->tpl->set_var('addBookmarkTitle', ''); $this->tpl->parse('bookmark_id', 'bookmark_id_block'); $selectedCategory = $article->getCategoryId(); } else { @@ -66,6 +70,8 @@ } else { $this->tpl->set_var('publicationNotice', $this->user->lang('Your bookmark won\'t be available publicly until it is explicitly set as "Published"')); } + $this->tpl->parse('addBookmarkTitle', 'addBookmarkTitle_block'); + $this->tpl->set_var('editBookmarkTitle', ''); $this->tpl->parse('saveAsDraftButton', 'saveAsDraftButton_block'); } Modified: trunk/views/EditUser.php =================================================================== --- trunk/views/EditUser.php 2008-10-17 17:16:32 UTC (rev 729) +++ trunk/views/EditUser.php 2008-10-17 17:17:21 UTC (rev 730) @@ -24,6 +24,8 @@ $userId = isset($_GET['userId'])? (int)$_GET['userId'] : 0; $this->tpl->set_file('addUser', 'EditUser.tpl'); + $this->tpl->set_block('addUser', 'editUserTitle_block', 'editUserTitle'); + $this->tpl->set_block('addUser', 'addUserTitle_block', 'addUserTitle'); $this->tpl->set_block('addUser', 'adminAccess_block', 'adminAccess'); $this->tpl->set_var('formAction', Library::getLink(array('action' => 'EditUser'))); @@ -40,6 +42,9 @@ 'password2' => '', 'checkedAdminAccess' => $user->isAdmin()? 'checked="true" ' : '', )); + + $this->tpl->parse('editUserTitle', 'editUserTitle_block'); + $this->tpl->set_var('addUserTitle', ''); } else { $this->tpl->set_var(array( 'userId' => 0, @@ -51,6 +56,9 @@ 'password2' => isset($_SESSION['formFields']['password'])? $_SESSION['formFields']['password'] : '', 'checkedAdminAccess' => (isset($_SESSION['formFields']['checkedAdminAccess']) && $_SESSION['formFields']['checkedAdminAccess'])? 'checked="true"' : '', )); + + $this->tpl->parse('addUserTitle', 'addUserTitle_block'); + $this->tpl->set_var('editUserTitle', ''); } if ($this->user->isAdmin()) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-10-17 20:18:48
|
Revision: 731 http://sciret.svn.sourceforge.net/sciret/?rev=731&view=rev Author: alpeb Date: 2008-10-17 20:18:46 +0000 (Fri, 17 Oct 2008) Log Message: ----------- Added ability to disable the Questions functionalities (we'll do that when KB is used with the monkeys) Modified Paths: -------------- trunk/actions/AddQuestion.php trunk/actions/DeleteQuestion.php trunk/actions/PublishQuestion.php trunk/actions/SavePreferences.php trunk/models/Configuration.php trunk/templates/EditPreferences.tpl trunk/templates/header.tpl trunk/views/AddQuestion.php trunk/views/EditPreferences.php trunk/views/MainView.php trunk/views/ManageQuestions.php trunk/views/View.php Modified: trunk/actions/AddQuestion.php =================================================================== --- trunk/actions/AddQuestion.php 2008-10-17 17:17:21 UTC (rev 730) +++ trunk/actions/AddQuestion.php 2008-10-17 20:18:46 UTC (rev 731) @@ -15,6 +15,10 @@ class AddQuestion extends Action { function dispatch() { + if (!$this->configuration->getConfigValue('questionsEnabled')) { + die('The questions functionalities have been disabled'); + } + if ($_POST['username'] == '') { $_SESSION['message'] = $this->user->lang('You must enter your name'); Library::redirect(Library::getLink(array('view' => 'AddQuestion'))); Modified: trunk/actions/DeleteQuestion.php =================================================================== --- trunk/actions/DeleteQuestion.php 2008-10-17 17:17:21 UTC (rev 730) +++ trunk/actions/DeleteQuestion.php 2008-10-17 20:18:46 UTC (rev 731) @@ -15,6 +15,10 @@ class DeleteQuestion extends Action { function dispatch() { + if (!$this->configuration->getConfigValue('questionsEnabled')) { + die('The questions functionalities have been disabled'); + } + $questionId = isset($_GET['id'])? (int)$_GET['id'] : 0; $questionGateway = new QuestionGateway; Modified: trunk/actions/PublishQuestion.php =================================================================== --- trunk/actions/PublishQuestion.php 2008-10-17 17:17:21 UTC (rev 730) +++ trunk/actions/PublishQuestion.php 2008-10-17 20:18:46 UTC (rev 731) @@ -15,6 +15,10 @@ class PublishQuestion extends Action { function dispatch() { + if (!$this->configuration->getConfigValue('questionsEnabled')) { + die('The questions functionalities have been disabled'); + } + $qId = isset($_GET['id'])? (int)$_GET['id'] : 0; $questionGateway = new QuestionGateway; Modified: trunk/actions/SavePreferences.php =================================================================== --- trunk/actions/SavePreferences.php 2008-10-17 17:17:21 UTC (rev 730) +++ trunk/actions/SavePreferences.php 2008-10-17 20:18:46 UTC (rev 731) @@ -37,6 +37,7 @@ if (($this->user->role & User::ROLE_ADMIN) == User::ROLE_ADMIN) { $this->configuration->setConfigValue('publishKB', $_POST['publishKB'] == '1'? '1' : '0'); $this->configuration->setConfigValue('anonymousRegistration', $_POST['anonymousRegistration'] == '1'? '1' : '0'); + $this->configuration->setConfigValue('questionsEnabled', $_POST['questionsEnabled'] == '1'? '1' : '0'); $this->configuration->setConfigValue('publishArticlesAuto', $_POST['publishArticlesAuto'] == '1'? '1' : '0'); $this->configuration->setConfigValue('publishBookmarksAuto', $_POST['publishBookmarksAuto'] == '1'? '1' : '0'); $this->configuration->setConfigValue('publishCommentsAuto', $_POST['publishCommentsAuto'] == '1'? '1' : '0'); Modified: trunk/models/Configuration.php =================================================================== --- trunk/models/Configuration.php 2008-10-17 17:17:21 UTC (rev 730) +++ trunk/models/Configuration.php 2008-10-17 20:18:46 UTC (rev 731) @@ -15,6 +15,7 @@ // var name => array(defaultValue, isHidden) 'publishKB' => 1, 'anonymousRegistration' => 0, + 'questionsEnabled' => 1, 'publishArticlesAuto' => 1, 'publishBookmarksAuto' => 1, 'publishCommentsAuto' => 1, Modified: trunk/templates/EditPreferences.tpl =================================================================== --- trunk/templates/EditPreferences.tpl 2008-10-17 17:17:21 UTC (rev 730) +++ trunk/templates/EditPreferences.tpl 2008-10-17 20:18:46 UTC (rev 731) @@ -85,6 +85,15 @@ </select> </td> </tr> + <tr> + <td class="form_left">[l]Enable the Questions functionalities[/l]:</td> + <td> + <select name="questionsEnabled"> + <option value="1" {questionsEnabled_yes_selected}>[l]Yes[/l]</option> + <option value="0" {questionsEnabled_no_selected}>[l]No[/l]</option> + </select> + </td> + </tr> <tr class="row_off"> <td class="form_left">[l]Publish articles automatically[/l]:</td> <td> Modified: trunk/templates/header.tpl =================================================================== --- trunk/templates/header.tpl 2008-10-17 17:17:21 UTC (rev 730) +++ trunk/templates/header.tpl 2008-10-17 20:18:46 UTC (rev 731) @@ -30,12 +30,14 @@ <span class="button_green"><a href="index.php?action=Logout">[l]Logout[/l]</a></span> <!-- END logoutLink_block --> </p> + <!-- BEGIN questionButtons_block --> <p> <span class="button_light"><a href="{addQuestionHref}">[l]Submit Question[/l]</a></span> <!-- BEGIN manageQuestionsLink_block --> <span class="button_light"><a href="{manageQuestionsHref}">[l]Manage Questions[/l]</a></span> <!-- END manageQuestionsLink_block --> </p> + <!-- END questionButtons_block --> </div> </div><!--end head--> Modified: trunk/views/AddQuestion.php =================================================================== --- trunk/views/AddQuestion.php 2008-10-17 17:17:21 UTC (rev 730) +++ trunk/views/AddQuestion.php 2008-10-17 20:18:46 UTC (rev 731) @@ -15,6 +15,9 @@ class AddQuestion extends view { function dispatch() { + if (!$this->configuration->getConfigValue('questionsEnabled')) { + die('The questions functionalities have been disabled'); + } $this->tpl->set_file('addQuestion', 'AddQuestion.tpl'); $this->tpl->set_block('addQuestion', 'categories_block', 'categories'); Modified: trunk/views/EditPreferences.php =================================================================== --- trunk/views/EditPreferences.php 2008-10-17 17:17:21 UTC (rev 730) +++ trunk/views/EditPreferences.php 2008-10-17 20:18:46 UTC (rev 731) @@ -40,6 +40,8 @@ 'publishKB_no_selected' => $this->configuration->getConfigValue('publishKB') == '0'? 'selected="true"' : '', 'anonymousRegistration_yes_selected' => $this->configuration->getConfigValue('anonymousRegistration') == '1'? 'selected="true"' : '', 'anonymousRegistration_no_selected' => $this->configuration->getConfigValue('anonymousRegistration') == '0'? 'selected="true"' : '', + 'questionsEnabled_yes_selected' => $this->configuration->getConfigValue('questionsEnabled') == '1'? 'selected="true"' : '', + 'questionsEnabled_no_selected' => $this->configuration->getConfigValue('questionsEnabled') == '0'? 'selected="true"' : '', 'publishArticlesAuto_yes_selected' => $this->configuration->getConfigValue('publishArticlesAuto') == '1'? 'selected="true" ': '', 'publishArticlesAuto_no_selected' => $this->configuration->getConfigValue('publishArticlesAuto') == '0'? 'selected="true" ': '', 'publishBookmarksAuto_yes_selected' => $this->configuration->getConfigValue('publishBookmarksAuto') == '1'? 'selected="true" ': '', Modified: trunk/views/MainView.php =================================================================== --- trunk/views/MainView.php 2008-10-17 17:17:21 UTC (rev 730) +++ trunk/views/MainView.php 2008-10-17 20:18:46 UTC (rev 731) @@ -278,37 +278,39 @@ } // ** UNANSWERED QUESTIONS LIST ** - $questionGateway = new QuestionGateway; - $questions = $questionGateway->getQuestions($catId, true); - $firstIteration = true; - while ($question = $questions->fetch()) { - unset($this->tPath); - if ($question->getCategoryId() > 0) { - $path = $this->_getCategoryPath($question->getCategoryId(), 'MainView', false); - $this->tpl->set_var('questionCategory', $this->user->lang('in %s', $path)); - } else { - $this->tpl->set_var('questionCategory', ''); + if ($this->configuration->getConfigValue('questionsEnabled')) { + $questionGateway = new QuestionGateway; + $questions = $questionGateway->getQuestions($catId, true); + $firstIteration = true; + while ($question = $questions->fetch()) { + unset($this->tPath); + if ($question->getCategoryId() > 0) { + $path = $this->_getCategoryPath($question->getCategoryId(), 'MainView', false); + $this->tpl->set_var('questionCategory', $this->user->lang('in %s', $path)); + } else { + $this->tpl->set_var('questionCategory', ''); + } + $this->tpl->set_var(array( + 'answerLink' => Library::getLink(array('view' => 'EditArticle', 'qId' => $question->getId())), + 'questionSummary' => $question->getContents(), + 'questionUserName' => $question->getUserName(), + )); + + if (!$this->user->isAnonymous()) { + $this->tpl->parse('answerLink', 'answerLink_block'); + } else { + $this->tpl->set_var('answerLink', ''); + } + + $this->tpl->parse('unansweredQuestionsItem', 'unansweredQuestionsItem_block', !$firstIteration); + $firstIteration = false; } - $this->tpl->set_var(array( - 'answerLink' => Library::getLink(array('view' => 'EditArticle', 'qId' => $question->getId())), - 'questionSummary' => $question->getContents(), - 'questionUserName' => $question->getUserName(), - )); - - if (!$this->user->isAnonymous()) { - $this->tpl->parse('answerLink', 'answerLink_block'); + if ($firstIteration) { + $this->tpl->set_var('unansweredQuestions', ''); } else { - $this->tpl->set_var('answerLink', ''); + $this->tpl->parse('unansweredQuestions', 'unansweredQuestions_block'); } - - $this->tpl->parse('unansweredQuestionsItem', 'unansweredQuestionsItem_block', !$firstIteration); - $firstIteration = false; } - if ($firstIteration) { - $this->tpl->set_var('unansweredQuestions', ''); - } else { - $this->tpl->parse('unansweredQuestions', 'unansweredQuestions_block'); - } $this->tpl->pparse('out', 'main'); } Modified: trunk/views/ManageQuestions.php =================================================================== --- trunk/views/ManageQuestions.php 2008-10-17 17:17:21 UTC (rev 730) +++ trunk/views/ManageQuestions.php 2008-10-17 20:18:46 UTC (rev 731) @@ -16,6 +16,10 @@ class ManageQuestions extends View { function dispatch() { + if (!$this->configuration->getConfigValue('questionsEnabled')) { + die('The questions functionalities have been disabled'); + } + $catId = isset($_GET['catId'])? (int)$_GET['catId'] : 0; $this->tpl->set_file('manageQuestions', 'ManageQuestions.tpl'); Modified: trunk/views/View.php =================================================================== --- trunk/views/View.php 2008-10-17 17:17:21 UTC (rev 730) +++ trunk/views/View.php 2008-10-17 20:18:46 UTC (rev 731) @@ -73,7 +73,8 @@ $this->tpl->set_block('header', 'loginLink_block', 'loginLink'); $this->tpl->set_block('header', 'registerLink_block', 'registerLink'); $this->tpl->set_block('header', 'welcome_block', 'welcome'); - $this->tpl->set_block('header', 'manageQuestionsLink_block', 'manageQuestionsLink'); + $this->tpl->set_block('header', 'questionButtons_block', 'questionButtons'); + $this->tpl->set_block('questionButtons_block', 'manageQuestionsLink_block', 'manageQuestionsLink'); if ($this->user->isAnonymous()) { $this->tpl->set_var('welcome', ''); @@ -89,6 +90,12 @@ $this->tpl->parse('manageQuestionsLink', 'manageQuestionsLink_block'); } + if ($this->configuration->getConfigValue('questionsEnabled')) { + $this->tpl->parse('questionButtons', 'questionButtons_block'); + } else { + $this->tpl->set_var('questionButtons', ''); + } + if ($this->user->isAnonymous() && $this->configuration->getConfigValue('anonymousRegistration')) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-10-17 23:59:12
|
Revision: 733 http://sciret.svn.sourceforge.net/sciret/?rev=733&view=rev Author: alpeb Date: 2008-10-17 23:59:05 +0000 (Fri, 17 Oct 2008) Log Message: ----------- added ability to see draft and unpublished articles in the main view. First step before removing the Manage Items section Modified Paths: -------------- trunk/classes/Library.php trunk/style.css trunk/templates/MainView.tpl trunk/views/MainView.php Modified: trunk/classes/Library.php =================================================================== --- trunk/classes/Library.php 2008-10-17 22:58:08 UTC (rev 732) +++ trunk/classes/Library.php 2008-10-17 23:59:05 UTC (rev 733) @@ -56,6 +56,14 @@ } } + if (!in_array('viewall', array_keys($vars))) { + if (isset($_GET['viewall'])) { + $vars['viewall'] = $_GET['viewall']; + } else { + $vars['viewall'] = 0; + } + } + if (!in_array('tableSort', array_keys($vars)) && isset($_GET['tableSort'])) { $vars['tableSort'] = $_GET['tableSort']; } Modified: trunk/style.css =================================================================== --- trunk/style.css 2008-10-17 22:58:08 UTC (rev 732) +++ trunk/style.css 2008-10-17 23:59:05 UTC (rev 733) @@ -350,9 +350,13 @@ font-size: 0.9em; } +.itemStatus { + color: red; + font-weight: bold; + font-size: 0.9em; +} - /* title content */ a.button_menu { Modified: trunk/templates/MainView.tpl =================================================================== --- trunk/templates/MainView.tpl 2008-10-17 22:58:08 UTC (rev 732) +++ trunk/templates/MainView.tpl 2008-10-17 23:59:05 UTC (rev 733) @@ -64,6 +64,9 @@ <div class="title_content" style="position:relative"> <span> {navigationTitle} + <!-- BEGIN browsingDraftsUnpublished_block --> + [l](Showing drafts and unpublished too)[/l] + <!-- END browsingDraftsUnpublished_block --> <a href="javascript:void(0)" onclick="addFavorite('location')"><img id="favoriteStarImg" src="images/star.png" alt="[l]Add location to favorites[/l]" title="[l]Add location to favorites[/l]" style="display:{favoriteLocationStarImgDisplay}" /><img id="unFavoriteStarImg" src="images/star_crossed.png" alt="[l]Remove location from favorites[/l]" title="[l]Remove location from favorites[/l]" style="display:{unFavoriteLocationStarImgDisplay}" /><img id="favoriteProgressImg" src="images/progress.gif" style="display:none" /></a> </span> <span style="position:absolute; right:0; top:7px"> @@ -79,6 +82,14 @@ <!-- BEGIN viewBookmarksLink_block --> <a href="{viewBookmarksLink}" style="font-weight:bold; font-size:10px">[l]Bookmarks only[/l]</a> <!-- END viewBookmarksLink_block --> + <!-- BEGIN viewDraftsUnpublishedLink_block --> + <br /> + <a href="{viewDraftsUnpublishedLink}" style="font-weight:bold; font-size:10px">[l]View drafts and unpublished articles[/l]</a> + <!-- END viewDraftsUnpublishedLink_block --> + <!-- BEGIN hideDraftsUnpublishedLink_block --> + <br /> + <a href="{hideDraftsUnpublishedLink}" style="font-weight:bold; font-size:10px">[l]Hide drafts and unpublished articles[/l]</a> + <!-- END hideDraftsUnpublishedLink_block --> </p> <p class="view_right">[l]Sort by:[/l] <span class="button_gray"><a href="{sortByDateLink}">[l]Date[/l]</a>{sortByDateArrow}</span> @@ -92,6 +103,9 @@ <i>({art_num}) </i> <img src="images/{articleImage}" /> <a href="{art_link}">{art_title}</a> {bookmark_edit} + <!-- BEGIN status_block --> + <span class="itemStatus">({status})</span> + <!-- END status_block --> <!-- BEGIN question_block --> ({questionStr}) <!-- END question_block --> Modified: trunk/views/MainView.php =================================================================== --- trunk/views/MainView.php 2008-10-17 22:58:08 UTC (rev 732) +++ trunk/views/MainView.php 2008-10-17 23:59:05 UTC (rev 733) @@ -40,6 +40,14 @@ } } + if (!$this->user->isAnonymous() + && isset($_GET['viewall']) && $_GET['viewall'] == 1) + { + $_GET['viewall'] = 1; + } else { + $_GET['viewall'] = 0; + } + $this->tpl->set_var('checked_all', (!isset($_GET['set']) || $_GET['set'] == 'all')? 'checked="true"' : ''); $this->tpl->set_var('checked_articles', (isset($_GET['set']) && $_GET['set'] == 'articles')? 'checked="true"' : ''); $this->tpl->set_var('checked_bookmarks', (isset($_GET['set']) && $_GET['set'] == 'bookmarks')? 'checked="true"' : ''); @@ -56,7 +64,11 @@ $this->tpl->set_block('main', 'viewAllLink_block', 'viewAllLink'); $this->tpl->set_block('main', 'viewArticlesLink_block', 'viewArticlesLink'); $this->tpl->set_block('main', 'viewBookmarksLink_block', 'viewBookmarksLink'); + $this->tpl->set_block('main', 'viewDraftsUnpublishedLink_block', 'viewDraftsUnpublishedLink'); + $this->tpl->set_block('main', 'hideDraftsUnpublishedLink_block', 'hideDraftsUnpublishedLink'); $this->tpl->set_block('main', 'requestCat_block', 'requestCat'); + $this->tpl->set_block('main', 'browsingDraftsUnpublished_block', 'browsingDraftsUnpublished'); + $this->tpl->set_block('articles_block', 'status_block', 'status'); $this->tpl->set_block('articles_block', 'question_block', 'question'); $this->tpl->set_block('unansweredQuestionsItem_block', 'answerLink_block', 'answerLink'); @@ -70,6 +82,8 @@ 'viewAllLink' => Library::getLink(array('view' => 'MainView', 'set' => 'all')), 'viewArticlesLink' => Library::getLink(array('view' => 'MainView', 'set' => 'articles')), 'viewBookmarksLink' => Library::getLink(array('view' => 'MainView', 'set' => 'bookmarks')), + 'viewDraftsUnpublishedLink' => Library::getLink(array('view' => 'MainView', 'viewall' => '1')), + 'hideDraftsUnpublishedLink' => Library::getLink(array('view' => 'MainView', 'viewall' => '0')), 'sortByDateLink' => Library::getLink(array('view' => 'MainView', 'sort' => 'created_'.($order == 'created' && $direction == 'desc'? 'asc' : 'desc'))), 'sortByViewsLink' => Library::getLink(array('view' => 'MainView', 'sort' => 'views_'.($order == 'views' && $direction == 'desc'? 'asc' : 'desc'))), 'rssLink' => Library::getLink(array('view' => 'Rss', 'catId' => $catId, 'items' => 10)), @@ -123,7 +137,28 @@ $this->tpl->parse('viewBookmarksLink', 'viewBookmarksLink_block'); } + if ($_GET['viewall']) { + $this->tpl->parse('browsingDraftsUnpublished', 'browsingDraftsUnpublished_block'); + } else { + $this->tpl->set_var('browsingDraftsUnpublished', ''); + } + + if (!$this->user->isAnonymous()) { + if (isset($_GET['viewall']) && $_GET['viewall'] == 1) { + $this->tpl->parse('hideDraftsUnpublishedLink', 'hideDraftsUnpublishedLink_block'); + $this->tpl->set_var('viewDraftsUnpublishedLink', ''); + } else { + $this->tpl->parse('viewDraftsUnpublishedLink', 'viewDraftsUnpublishedLink_block'); + $this->tpl->set_var('hideDraftsUnpublishedLink', ''); + } + } else { + $this->tpl->set_var(array( + 'viewDraftsUnpublishedLink' => '', + 'hideDraftsUnpublishedLink' => '', + )); + } + // ** CATEGORIES ** $articleGateway = new ArticleGateway; $categoryGateway = new CategoryGateway; @@ -159,12 +194,14 @@ $articles = $articleGateway->getArticles( $catId, $this->user->getPreference('navigationType') == 'catAndSubCats', false, + $_GET['viewall'], false, - false, isset($_GET['offset'])? (int)$_GET['offset'] : 0, $this->user->getPreference('articlesPerPage'), isset($_GET['set'])? $_GET['set'] : 'all', - isset($_GET['sort'])? $_GET['sort'] : false); + isset($_GET['sort'])? $_GET['sort'] : false, + false, + $_GET['viewall']); $this->tpl->set_var('numArts', $articles->getNumItems()); $firstIteration = true; while ($article = $articles->fetch()) { @@ -194,6 +231,21 @@ $this->tpl->set_var('question', ''); } + $status = array(); + if (!$article->isPublished()) { + $status[] = $this->user->lang('not published'); + } + if ($article->isDraft()) { + $status[] = $this->user->lang('draft'); + } + if ($status) { + $status = implode(', ', $status); + $this->tpl->set_var('status', $status); + $this->tpl->parse('status', 'status_block'); + } else { + $this->tpl->set_var('status', ''); + } + if ($article->getCategoryId() == 0) { $this->tpl->set_var('art_category', ''); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-10-20 13:31:53
|
Revision: 734 http://sciret.svn.sourceforge.net/sciret/?rev=734&view=rev Author: alpeb Date: 2008-10-20 13:31:41 +0000 (Mon, 20 Oct 2008) Log Message: ----------- added ability to browse expired articles in the main view Modified Paths: -------------- trunk/classes/Library.php trunk/models/Article.php trunk/templates/MainView.tpl trunk/views/MainView.php Modified: trunk/classes/Library.php =================================================================== --- trunk/classes/Library.php 2008-10-17 23:59:05 UTC (rev 733) +++ trunk/classes/Library.php 2008-10-20 13:31:41 UTC (rev 734) @@ -64,6 +64,14 @@ } } + if (!in_array('viewexpired', array_keys($vars))) { + if (isset($_GET['viewexpired'])) { + $vars['viewexpired'] = $_GET['viewexpired']; + } else { + $vars['viewexpired'] = 0; + } + } + if (!in_array('tableSort', array_keys($vars)) && isset($_GET['tableSort'])) { $vars['tableSort'] = $_GET['tableSort']; } Modified: trunk/models/Article.php =================================================================== --- trunk/models/Article.php 2008-10-17 23:59:05 UTC (rev 733) +++ trunk/models/Article.php 2008-10-20 13:31:41 UTC (rev 734) @@ -218,6 +218,15 @@ } } + public function isExpired() + { + if ($this->expDate == '0000-00-00') { + return false; + } + + return ($this->expDate <= date('Y-m-d')); + } + function setExpDate($expDate) { $this->expDate = $expDate; Modified: trunk/templates/MainView.tpl =================================================================== --- trunk/templates/MainView.tpl 2008-10-17 23:59:05 UTC (rev 733) +++ trunk/templates/MainView.tpl 2008-10-20 13:31:41 UTC (rev 734) @@ -64,9 +64,7 @@ <div class="title_content" style="position:relative"> <span> {navigationTitle} - <!-- BEGIN browsingDraftsUnpublished_block --> - [l](Showing drafts and unpublished too)[/l] - <!-- END browsingDraftsUnpublished_block --> + {showing} <a href="javascript:void(0)" onclick="addFavorite('location')"><img id="favoriteStarImg" src="images/star.png" alt="[l]Add location to favorites[/l]" title="[l]Add location to favorites[/l]" style="display:{favoriteLocationStarImgDisplay}" /><img id="unFavoriteStarImg" src="images/star_crossed.png" alt="[l]Remove location from favorites[/l]" title="[l]Remove location from favorites[/l]" style="display:{unFavoriteLocationStarImgDisplay}" /><img id="favoriteProgressImg" src="images/progress.gif" style="display:none" /></a> </span> <span style="position:absolute; right:0; top:7px"> @@ -90,6 +88,14 @@ <br /> <a href="{hideDraftsUnpublishedLink}" style="font-weight:bold; font-size:10px">[l]Hide drafts and unpublished articles[/l]</a> <!-- END hideDraftsUnpublishedLink_block --> + <!-- BEGIN viewExpiredLink_block --> + <br /> + <a href="{viewExpiredLink}" style="font-weight:bold; font-size:10px">[l]View expired articles[/l]</a> + <!-- END viewExpiredLink_block --> + <!-- BEGIN hideExpiredLink_block --> + <br /> + <a href="{hideExpiredLink}" style="font-weight:bold; font-size:10px">[l]Hide expired articles[/l]</a> + <!-- END hideExpiredLink_block --> </p> <p class="view_right">[l]Sort by:[/l] <span class="button_gray"><a href="{sortByDateLink}">[l]Date[/l]</a>{sortByDateArrow}</span> Modified: trunk/views/MainView.php =================================================================== --- trunk/views/MainView.php 2008-10-17 23:59:05 UTC (rev 733) +++ trunk/views/MainView.php 2008-10-20 13:31:41 UTC (rev 734) @@ -48,6 +48,14 @@ $_GET['viewall'] = 0; } + if (!$this->user->isAnonymous() + && isset($_GET['viewexpired']) && $_GET['viewexpired'] == 1) + { + $_GET['viewexpired'] = 1; + } else { + $_GET['viewexpired'] = 0; + } + $this->tpl->set_var('checked_all', (!isset($_GET['set']) || $_GET['set'] == 'all')? 'checked="true"' : ''); $this->tpl->set_var('checked_articles', (isset($_GET['set']) && $_GET['set'] == 'articles')? 'checked="true"' : ''); $this->tpl->set_var('checked_bookmarks', (isset($_GET['set']) && $_GET['set'] == 'bookmarks')? 'checked="true"' : ''); @@ -66,8 +74,9 @@ $this->tpl->set_block('main', 'viewBookmarksLink_block', 'viewBookmarksLink'); $this->tpl->set_block('main', 'viewDraftsUnpublishedLink_block', 'viewDraftsUnpublishedLink'); $this->tpl->set_block('main', 'hideDraftsUnpublishedLink_block', 'hideDraftsUnpublishedLink'); + $this->tpl->set_block('main', 'viewExpiredLink_block', 'viewExpiredLink'); + $this->tpl->set_block('main', 'hideExpiredLink_block', 'hideExpiredLink'); $this->tpl->set_block('main', 'requestCat_block', 'requestCat'); - $this->tpl->set_block('main', 'browsingDraftsUnpublished_block', 'browsingDraftsUnpublished'); $this->tpl->set_block('articles_block', 'status_block', 'status'); $this->tpl->set_block('articles_block', 'question_block', 'question'); @@ -84,6 +93,8 @@ 'viewBookmarksLink' => Library::getLink(array('view' => 'MainView', 'set' => 'bookmarks')), 'viewDraftsUnpublishedLink' => Library::getLink(array('view' => 'MainView', 'viewall' => '1')), 'hideDraftsUnpublishedLink' => Library::getLink(array('view' => 'MainView', 'viewall' => '0')), + 'viewExpiredLink' => Library::getLink(array('view' => 'MainView', 'viewexpired' => '1')), + 'hideExpiredLink' => Library::getLink(array('view' => 'MainView', 'viewexpired' => '0')), 'sortByDateLink' => Library::getLink(array('view' => 'MainView', 'sort' => 'created_'.($order == 'created' && $direction == 'desc'? 'asc' : 'desc'))), 'sortByViewsLink' => Library::getLink(array('view' => 'MainView', 'sort' => 'views_'.($order == 'views' && $direction == 'desc'? 'asc' : 'desc'))), 'rssLink' => Library::getLink(array('view' => 'Rss', 'catId' => $catId, 'items' => 10)), @@ -137,10 +148,10 @@ $this->tpl->parse('viewBookmarksLink', 'viewBookmarksLink_block'); } + $showing = array(); if ($_GET['viewall']) { - $this->tpl->parse('browsingDraftsUnpublished', 'browsingDraftsUnpublished_block'); - } else { - $this->tpl->set_var('browsingDraftsUnpublished', ''); + $showing[] = $this->user->lang('drafts'); + $showing[] = $this->user->lang('unpublished'); } if (!$this->user->isAnonymous()) { @@ -158,7 +169,31 @@ )); } + if ($_GET['viewexpired']) { + $showing[] = $this->user->lang('expired'); + } + if (!$this->user->isAnonymous()) { + if (isset($_GET['viewexpired']) && $_GET['viewexpired'] == 1) { + $this->tpl->parse('hideExpiredLink', 'hideExpiredLink_block'); + $this->tpl->set_var('viewExpiredLink', ''); + } else { + $this->tpl->parse('viewExpiredLink', 'viewExpiredLink_block'); + $this->tpl->set_var('hideExpiredLink', ''); + } + } else { + $this->tpl->set_var(array( + 'viewExpiredLink' => '', + 'hideExpiredLink' => '', + )); + } + + if ($showing) { + $showing = implode(', ', $showing); + $this->tpl->set_var('showing', ' - ' . $this->user->lang('Showing %s', $showing)); + } + + // ** CATEGORIES ** $articleGateway = new ArticleGateway; $categoryGateway = new CategoryGateway; @@ -200,7 +235,7 @@ $this->user->getPreference('articlesPerPage'), isset($_GET['set'])? $_GET['set'] : 'all', isset($_GET['sort'])? $_GET['sort'] : false, - false, + $_GET['viewexpired'], $_GET['viewall']); $this->tpl->set_var('numArts', $articles->getNumItems()); $firstIteration = true; @@ -238,6 +273,10 @@ if ($article->isDraft()) { $status[] = $this->user->lang('draft'); } + if ($article->isExpired()) { + $status[] = $this->user->lang('expired'); + } + if ($status) { $status = implode(', ', $status); $this->tpl->set_var('status', $status); @@ -263,19 +302,19 @@ } $this->tpl->set_var('paginationLinks', $this->getPaginationLinks( 'MainView', $articles->getNumItems(), - isset($_GET['offset'])? (int)$_GET['offset'] : 0, - false, - false, - false, - false, - '', - '', - '', - '', - 0, - '', - 'anywhere', - 'created', + isset($_GET['offset'])? (int)$_GET['offset'] : 0, + false, + false, + false, + false, + '', + '', + '', + '', + 0, + '', + 'anywhere', + 'created', 'desc', $catId)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-10-20 13:54:08
|
Revision: 736 http://sciret.svn.sourceforge.net/sciret/?rev=736&view=rev Author: alpeb Date: 2008-10-20 13:54:06 +0000 (Mon, 20 Oct 2008) Log Message: ----------- killed links to Manage Items and Browser Unpublished sections, 'cause that's now handled through filters in the main view Modified Paths: -------------- trunk/templates/header.tpl trunk/views/View.php Modified: trunk/templates/header.tpl =================================================================== --- trunk/templates/header.tpl 2008-10-20 13:32:58 UTC (rev 735) +++ trunk/templates/header.tpl 2008-10-20 13:54:06 UTC (rev 736) @@ -57,15 +57,9 @@ <!-- BEGIN editCategoriesLink_block --> <a href="{editCategoriesHref}">[l]Manage Categories[/l]</a> <!-- END editCategoriesLink_block --> - <!-- BEGIN manageArticlesLink_block --> - <a href="{manageArticlesHref}">[l]Manage Items[/l]</a> - <!-- END manageArticlesLink_block --> <!-- BEGIN manageUsersLink_block --> <a href="{manageUsersHref}">[l]Manage Users[/l]</a> <!-- END manageUsersLink_block --> - <!-- BEGIN browseUnpublished_block --> - <a href="{browseUnpublishedHref}">[l]Browse unpublished and draft articles/bookmarks[/l]</a> - <!-- END browseUnpublished_block --> </div><!-- end menu --> <div id="content_left"> Modified: trunk/views/View.php =================================================================== --- trunk/views/View.php 2008-10-20 13:32:58 UTC (rev 735) +++ trunk/views/View.php 2008-10-20 13:54:06 UTC (rev 736) @@ -137,14 +137,6 @@ $this->tpl->set_var('editCategoriesHref', Library::getLink(array('view' => 'EditCategories'))); $this->tpl->parse('editCategoriesLink', 'editCategoriesLink_block'); - $this->tpl->set_block('header', 'manageArticlesLink_block', 'manageArticlesLink'); - if (!$this->user->isAnonymous()) { - $this->tpl->set_var('manageArticlesHref', Library::getLink(array('view' => 'ManageArticles'))); - $this->tpl->parse('manageArticlesLink', 'manageArticlesLink_block'); - } else { - $this->tpl->set_var('manageArticlesLink', ''); - } - $this->tpl->set_block('header', 'manageUsersLink_block', 'manageUsersLink'); if ($this->user->isAdmin()) { $this->tpl->set_var('manageUsersHref', Library::getLink(array('view' => 'ManageUsers'))); @@ -168,14 +160,6 @@ $this->tpl->set_var('message', ''); } - $this->tpl->set_block('header', 'browseUnpublished_block', 'browseUnpublished'); - if (!$this->user->isAnonymous() && (!isset($_GET['view']) || $_GET['view'] == 'MainView') && $articleGateway->numUnpublishedArticles() > 0) { - $this->tpl->set_var('browseUnpublishedHref', Library::getLink(array('view' => 'ManageArticles', 'onlyUnpublished' => '1'))); - $this->tpl->parse('browseUnpublished', 'browseUnpublished_block'); - } else { - $this->tpl->set_var('browseUnpublished', ''); - } - $this->tpl->pparse('out', 'header'); } @@ -355,7 +339,7 @@ $this->tpl->set_var('previousLink', Library::getLink(array( 'view' => $view, 'offset' => $offset - $resultsPerPage, 'selectArticles' => $isSelectArticles? 1 : 0, - 'onlyUnpublished' => $onlyUnpublished? 1 : 0, + 'onlyUnpublished' => $onlyUnpublished? 1 : 0, 'catId' => $catId))); $this->tpl->parse('previousPage', 'previousPage_block'); } else { @@ -365,7 +349,7 @@ $this->tpl->set_var('nextLink', Library::getLink(array( 'view' => $view, 'offset' => $offset + $resultsPerPage, 'selectArticles' => $isSelectArticles? 1 : 0, - 'onlyUnpublished' => $onlyUnpublished? 1 : 0, + 'onlyUnpublished' => $onlyUnpublished? 1 : 0, 'catId' => $catId))); $this->tpl->parse('nextPage', 'nextPage_block'); } else { @@ -381,7 +365,7 @@ $pageItems[] = "<a href=\"".Library::getLink(array( 'view' => $view, 'offset' => $pageOffset, 'selectArticles' => $isSelectArticles? 1 : 0, - 'onlyUnpublished' => $onlyUnpublished? 1 : 0, + 'onlyUnpublished' => $onlyUnpublished? 1 : 0, 'catId' => $catId)) .$query."\" class=\"nonSelectedPage\">$page</a>"; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2008-10-20 14:51:05
|
Revision: 737 http://sciret.svn.sourceforge.net/sciret/?rev=737&view=rev Author: alpeb Date: 2008-10-20 14:50:58 +0000 (Mon, 20 Oct 2008) Log Message: ----------- fixed articles navigation (stay on the articles tab) Modified Paths: -------------- trunk/templates/MainView.tpl trunk/views/MainView.php trunk/views/View.php Modified: trunk/templates/MainView.tpl =================================================================== --- trunk/templates/MainView.tpl 2008-10-20 13:54:06 UTC (rev 736) +++ trunk/templates/MainView.tpl 2008-10-20 14:50:58 UTC (rev 737) @@ -11,12 +11,15 @@ <script type="text/javascript"> YAHOO.util.Event.onDOMReady(function() { - var mainViewTabs = new YAHOO.widget.TabView("mainViewTabs"); + var mainViewTabs = new YAHOO.widget.TabView( + "mainViewTabs", + {activeIndex: {activeTabIndex}} + ); }); </script> <div id="mainViewTabs" > <ul class="yui-nav"> - <li class="selected"> + <li> <a href="#categories"><em>[l]Categories[/l]</em></a> </li> <li> Modified: trunk/views/MainView.php =================================================================== --- trunk/views/MainView.php 2008-10-20 13:54:06 UTC (rev 736) +++ trunk/views/MainView.php 2008-10-20 14:50:58 UTC (rev 737) @@ -26,6 +26,12 @@ $catId = 0; } + if (!isset($_GET['tab']) || $_GET['tab'] == 'categories') { + $_GET['tab'] = 0; + } else { + $_GET['tab'] = 1; + } + if (!isset($_GET['set'])) { switch ($this->user->getPreference('startBrowsing')) { case 'all': @@ -88,16 +94,47 @@ list($order, $direction) = explode('_', $_GET['sort']); $this->tpl->set_var(array( - 'viewAllLink' => Library::getLink(array('view' => 'MainView', 'set' => 'all')), - 'viewArticlesLink' => Library::getLink(array('view' => 'MainView', 'set' => 'articles')), - 'viewBookmarksLink' => Library::getLink(array('view' => 'MainView', 'set' => 'bookmarks')), - 'viewDraftsUnpublishedLink' => Library::getLink(array('view' => 'MainView', 'viewall' => '1')), - 'hideDraftsUnpublishedLink' => Library::getLink(array('view' => 'MainView', 'viewall' => '0')), - 'viewExpiredLink' => Library::getLink(array('view' => 'MainView', 'viewexpired' => '1')), - 'hideExpiredLink' => Library::getLink(array('view' => 'MainView', 'viewexpired' => '0')), - 'sortByDateLink' => Library::getLink(array('view' => 'MainView', 'sort' => 'created_'.($order == 'created' && $direction == 'desc'? 'asc' : 'desc'))), - 'sortByViewsLink' => Library::getLink(array('view' => 'MainView', 'sort' => 'views_'.($order == 'views' && $direction == 'desc'? 'asc' : 'desc'))), - 'rssLink' => Library::getLink(array('view' => 'Rss', 'catId' => $catId, 'items' => 10)), + 'activeTabIndex' => $_GET['tab'], + 'viewAllLink' => Library::getLink(array( + 'view' => 'MainView', + 'set' => 'all', + 'tab' => 'articles')), + 'viewArticlesLink' => Library::getLink(array( + 'view' => 'MainView', + 'set' => 'articles', + 'tab' => 'articles')), + 'viewBookmarksLink' => Library::getLink(array( + 'view' => 'MainView', + 'set' => 'bookmarks', + 'tab' => 'articles')), + 'viewDraftsUnpublishedLink' => Library::getLink(array( + 'view' => 'MainView', + 'viewall' => '1', + 'tab' => 'articles')), + 'hideDraftsUnpublishedLink' => Library::getLink(array( + 'view' => 'MainView', + 'viewall' => '0', + 'tab' => 'articles')), + 'viewExpiredLink' => Library::getLink(array( + 'view' => 'MainView', + 'viewexpired' => '1', + 'tab' => 'articles')), + 'hideExpiredLink' => Library::getLink(array( + 'view' => 'MainView', + 'viewexpired' => '0', + 'tab' => 'articles')), + 'sortByDateLink' => Library::getLink(array( + 'view' => 'MainView', + 'sort' => 'created_'.($order == 'created' && $direction == 'desc'? 'asc' : 'desc'), + 'tab' => 'articles')), + 'sortByViewsLink' => Library::getLink(array( + 'view' => 'MainView', + 'sort' => 'views_'.($order == 'views' && $direction == 'desc'? 'asc' : 'desc'), + 'tab' => 'articles')), + 'rssLink' => Library::getLink(array( + 'view' => 'Rss', + 'catId' => $catId, + 'items' => 10)), )); if ($catId != 0) { Modified: trunk/views/View.php =================================================================== --- trunk/views/View.php 2008-10-20 13:54:06 UTC (rev 736) +++ trunk/views/View.php 2008-10-20 14:50:58 UTC (rev 737) @@ -340,7 +340,8 @@ 'offset' => $offset - $resultsPerPage, 'selectArticles' => $isSelectArticles? 1 : 0, 'onlyUnpublished' => $onlyUnpublished? 1 : 0, - 'catId' => $catId))); + 'catId' => $catId, + 'tab' => 'articles'))); $this->tpl->parse('previousPage', 'previousPage_block'); } else { $this->tpl->set_var('previousPage', ''); @@ -350,7 +351,8 @@ 'offset' => $offset + $resultsPerPage, 'selectArticles' => $isSelectArticles? 1 : 0, 'onlyUnpublished' => $onlyUnpublished? 1 : 0, - 'catId' => $catId))); + 'catId' => $catId, + 'tab' => 'articles'))); $this->tpl->parse('nextPage', 'nextPage_block'); } else { $this->tpl->set_var('nextPage', ''); @@ -366,7 +368,8 @@ 'offset' => $pageOffset, 'selectArticles' => $isSelectArticles? 1 : 0, 'onlyUnpublished' => $onlyUnpublished? 1 : 0, - 'catId' => $catId)) + 'catId' => $catId, + 'tab' => 'articles')) .$query."\" class=\"nonSelectedPage\">$page</a>"; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |