diff --git a/include/staff/kb-categories.inc.php b/include/staff/kb-categories.inc.php index 0ab8b03fc1e6326eac435768954c049dc0b3aa64..eb673a735678e3ebd867f3019b34443822a4b178 100644 --- a/include/staff/kb-categories.inc.php +++ b/include/staff/kb-categories.inc.php @@ -3,59 +3,51 @@ if(!defined('OSTSTAFFINC') || !$thisstaff) die('Access Denied'); ?> <h2>Frequently Asked Questions</h2> -<form id="kbSearch" action="kb.php" method="get" style="padding-top:15px;"> +<form id="kbSearch" action="kb.php" method="get"> <input type="hidden" name="a" value="search"> - <table border="0" cellspacing="0" cellpadding="3"> - <tr> - <td width="440"> - <input id="query" type="text" size="20" name="q" value="<?php echo Format::htmlchars($_REQUEST['q']); ?>"> - <select name="cid"> - <option value="">— All Categories —</option> - <?php - $sql='SELECT category_id, name, count(faq.category_id) as faqs ' - .' FROM '.FAQ_CATEGORY_TABLE.' cat ' - .' LEFT JOIN '.FAQ_TABLE.' faq USING(category_id) ' - .' GROUP BY cat.category_id ' - .' HAVING faqs>0 ' - .' ORDER BY cat.name DESC '; - if(($res=db_query($sql)) && db_num_rows($res)) { - while($row=db_fetch_array($res)) - echo sprintf('<option value="%d" %s>%s (%d)</option>', - $row['category_id'], - ($_REQUEST['cid'] && $row['category_id']==$_REQUEST['cid']?'selected="selected"':''), - $row['name'], - $row['faqs']); - } - ?> - </select> - </td> - <td width="100" rowspan="2"> - <input id="searchSubmit" type="submit" value="Search"> - </td> - </tr> - <tr> - <td width="400"> - <select name="topicId" style="width:350px;"> - <option value="">— All Help Topics —</option> - <?php - $sql='SELECT ht.topic_id, ht.topic, count(faq.topic_id) as faqs ' - .' FROM '.TOPIC_TABLE.' ht ' - .' LEFT JOIN '.FAQ_TOPIC_TABLE.' faq USING(topic_id) ' - .' GROUP BY ht.topic_id ' - .' HAVING faqs>0 ' - .' ORDER BY ht.topic DESC '; - if(($res=db_query($sql)) && db_num_rows($res)) { - while($row=db_fetch_array($res)) - echo sprintf('<option value="%d" %s>%s (%d)</option>', - $row['topic_id'], - ($_REQUEST['topicId'] && $row['topic_id']==$_REQUEST['cid']?'selected="selected"':''), - $row['topic'], $row['faqs']); - } - ?> - </select> - </td> - </tr> - </table> + <div> + <input id="query" type="text" size="20" name="q" value="<?php echo Format::htmlchars($_REQUEST['q']); ?>"> + <select name="cid" id="cid"> + <option value="">— All Categories —</option> + <?php + $sql='SELECT category_id, name, count(faq.category_id) as faqs ' + .' FROM '.FAQ_CATEGORY_TABLE.' cat ' + .' LEFT JOIN '.FAQ_TABLE.' faq USING(category_id) ' + .' GROUP BY cat.category_id ' + .' HAVING faqs>0 ' + .' ORDER BY cat.name DESC '; + if(($res=db_query($sql)) && db_num_rows($res)) { + while($row=db_fetch_array($res)) + echo sprintf('<option value="%d" %s>%s (%d)</option>', + $row['category_id'], + ($_REQUEST['cid'] && $row['category_id']==$_REQUEST['cid']?'selected="selected"':''), + $row['name'], + $row['faqs']); + } + ?> + </select> + <input id="searchSubmit" type="submit" value="Search"> + </div> + <div> + <select name="topicId" style="width:350px;" id="topic-id"> + <option value="">— All Help Topics —</option> + <?php + $sql='SELECT ht.topic_id, ht.topic, count(faq.topic_id) as faqs ' + .' FROM '.TOPIC_TABLE.' ht ' + .' LEFT JOIN '.FAQ_TOPIC_TABLE.' faq USING(topic_id) ' + .' GROUP BY ht.topic_id ' + .' HAVING faqs>0 ' + .' ORDER BY ht.topic DESC '; + if(($res=db_query($sql)) && db_num_rows($res)) { + while($row=db_fetch_array($res)) + echo sprintf('<option value="%d" %s>%s (%d)</option>', + $row['topic_id'], + ($_REQUEST['topicId'] && $row['topic_id']==$_REQUEST['cid']?'selected="selected"':''), + $row['topic'], $row['faqs']); + } + ?> + </select> + </div> </form> <hr> <div> @@ -96,7 +88,7 @@ if($_REQUEST['q'] || $_REQUEST['cid'] || $_REQUEST['topicId']) { //Search. echo '<div>Click on the category to browse FAQs.</div> <ul id="kb">'; while($row=db_fetch_array($res)) { - + echo sprintf(' <li> <h4><a href="kb.php?cid=%d">%s (%d)</a> - <span>%s</span></h4> diff --git a/include/staff/kb-category.inc.php b/include/staff/kb-category.inc.php index 619aa6205fd8db22e0a3060d5e23b495162b5e10..e7013192e995738c2f9be4f249c3292acac9ab53 100644 --- a/include/staff/kb-category.inc.php +++ b/include/staff/kb-category.inc.php @@ -11,23 +11,23 @@ if(!defined('OSTSTAFFINC') || !$category || !$thisstaff) die('Access Denied'); <div> <strong><?php echo $category->getName() ?></strong> <span>(<?php echo $category->isPublic()?'Public':'Internal'; ?>)</span> - <br> - <div class="faded"> Last updated <?php echo Format::db_daydatetime($category->getUpdateDate()); ?></div> + <time>Last updated <?php echo Format::db_daydatetime($category->getUpdateDate()); ?></time> </div> -<p> +<div class="cat-desc"> <?php echo Format::safe_html($category->getDescription()); ?> -</p> +</div> <?php if($thisstaff->canManageFAQ()) { - echo sprintf('<a href="categories.php?id=%d" class="Icon editCategory">Edit Category</a> - | <a href="categories.php" class="Icon deleteCategory">Delete Category</a> - | <a href="faq.php?cid=%d&a=add" class="Icon newFAQ">Add New FAQ</a>', + echo sprintf('<div class="cat-manage-bar"><a href="categories.php?id=%d" class="Icon editCategory">Edit Category</a> + <a href="categories.php" class="Icon deleteCategory">Delete Category</a> + <a href="faq.php?cid=%d&a=add" class="Icon newFAQ">Add New FAQ</a></div>', $category->getId(), $category->getId()); -} +} else { ?> <hr> <?php +} $sql='SELECT faq.faq_id, question, ispublished, count(attach.file_id) as attachments ' .' FROM '.FAQ_TABLE.' faq ' @@ -39,7 +39,7 @@ if(($res=db_query($sql)) && db_num_rows($res)) { <ol>'; while($row=db_fetch_array($res)) { echo sprintf(' - <li><a href="faq.php?id=%d" class="previewfaq">%s</a> - <span>%s</span></li>', + <li><a href="faq.php?id=%d" class="previewfaq">%s <span>- %s</span></a></li>', $row['faq_id'],$row['question'],$row['ispublished']?'Published':'Internal'); } echo ' </ol> diff --git a/scp/css/scp.css b/scp/css/scp.css index 90fd975fd8c8272be307a8a986cad77bdd02a2d5..133c129652ebeac6bcdb3b9031a29eea3350390d 100644 --- a/scp/css/scp.css +++ b/scp/css/scp.css @@ -1020,34 +1020,84 @@ h2 .reload { line-height:24px; } +/* Knowledgebase */ /* Knowledgebase */ #kb { margin: 2px 0; - padding: 0; + padding: 5px; overflow: hidden; } -#kb > li { - margin: 0 0 5px 0; - padding: 0 10px; - width: auto; - float: left; - clear: both; +#kb li { + padding:10px 10px 10px 46px; + height:auto !important; + overflow:hidden; + margin:0; + background-image:url(../images/kb_large_folder.png), url(../images/kb_category_bg.png); + background-position:0 50%, bottom left; + background-repeat:no-repeat, repeat-x; + border-bottom:1px solid #ddd; } -#kb > li h4 { + +#kb li h4 { padding-bottom:3px; - margin-bottom:3px; + margin:0 0 3px 0; } -#kb > li h4 span { +#kb li h4 span { color:#666; + font-weight:normal; } -#kb > li h4 a { +#kb li h4 a { font-size: 14px; } +#kbSearch { + padding:10px 0; + overflow:hidden; +} + +#kbSearch div { + clear:both; + overflow:hidden; + padding-top:5px; +} + +#kbSearch #query { + margin:0; + display:inline-block; + float:left; + width:200px; + margin-right:5px; +} + +#kbSearch #cid { + margin:0; + display:inline-block; + float:left; + width:200px; + margin-right:5px; + position:relative; + top:2px; +} + +#kbSearch #topic-id { + margin:0; + display:inline-block; + float:left; + width:410px; +} + +#kbSearch #searchSubmit { + margin:0; + display:inline-block; + float:left; + position:relative; + top:2px; +} + #faq { clear: both; margin: 0; @@ -1060,13 +1110,48 @@ h2 .reload { } #faq ol li { list-style: none; - margin: 0 0 10px 0; + margin: 0; + padding:5px 0; color: #999; + border-bottom:1px solid #ddd; } + #faq ol li a { display: inline; height: 16px; + font-size:13px; line-height: 16px; padding-left: 24px; background: url('../images/icons/page.png') 0 50% no-repeat; } + +#faq ol li a span { + font-weight:normal; + color:#777; +} + +#faq ol li:hover { + background-color:#e9f5ff; +} + +time { + display:inline-block; + float:right; + color:#777; +} + +.cat-desc { + padding-top:5px; + padding-bottom:25px; +} + +.cat-manage-bar { + background:#e3f5ff; + padding:5px; + border-bottom:1px solid #777; +} + +.cat-manage-bar a { + display:inline-block; + margin-right:20px; +} \ No newline at end of file diff --git a/scp/images/kb_category_bg.png b/scp/images/kb_category_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..174d675f4c491060a413232bdef7e0e9298df60e Binary files /dev/null and b/scp/images/kb_category_bg.png differ diff --git a/scp/images/kb_large_folder.png b/scp/images/kb_large_folder.png new file mode 100644 index 0000000000000000000000000000000000000000..144fa828a3fc83613dd7a5b29368b6da290fd09d Binary files /dev/null and b/scp/images/kb_large_folder.png differ