Skip to content
Snippets Groups Projects
Commit 76bedb10 authored by Peter Rotich's avatar Peter Rotich Committed by Jared Hancock
Browse files

Add site pages support

 - Supported pages: landing, offline, thank-you and other
parent 007ce1a0
No related branches found
No related tags found
No related merge requests found
...@@ -196,6 +196,7 @@ class AdminNav extends StaffNav{ ...@@ -196,6 +196,7 @@ class AdminNav extends StaffNav{
$subnav[]=array('desc'=>'System Preferences','href'=>'settings.php?t=system','iconclass'=>'preferences'); $subnav[]=array('desc'=>'System Preferences','href'=>'settings.php?t=system','iconclass'=>'preferences');
$subnav[]=array('desc'=>'Tickets','href'=>'settings.php?t=tickets','iconclass'=>'ticket-settings'); $subnav[]=array('desc'=>'Tickets','href'=>'settings.php?t=tickets','iconclass'=>'ticket-settings');
$subnav[]=array('desc'=>'Emails','href'=>'settings.php?t=emails','iconclass'=>'email-settings'); $subnav[]=array('desc'=>'Emails','href'=>'settings.php?t=emails','iconclass'=>'email-settings');
$subnav[]=array('desc'=>'Pages','href'=>'settings.php?t=pages','iconclass'=>'pages');
$subnav[]=array('desc'=>'Knowledgebase','href'=>'settings.php?t=kb','iconclass'=>'kb-settings'); $subnav[]=array('desc'=>'Knowledgebase','href'=>'settings.php?t=kb','iconclass'=>'kb-settings');
$subnav[]=array('desc'=>'Autoresponder','href'=>'settings.php?t=autoresp','iconclass'=>'email-autoresponders'); $subnav[]=array('desc'=>'Autoresponder','href'=>'settings.php?t=autoresp','iconclass'=>'email-autoresponders');
$subnav[]=array('desc'=>'Alerts & Notices','href'=>'settings.php?t=alerts','iconclass'=>'alert-settings'); $subnav[]=array('desc'=>'Alerts & Notices','href'=>'settings.php?t=alerts','iconclass'=>'alert-settings');
...@@ -206,6 +207,7 @@ class AdminNav extends StaffNav{ ...@@ -206,6 +207,7 @@ class AdminNav extends StaffNav{
'title'=>'Ticket Filters','iconclass'=>'ticketFilters'); 'title'=>'Ticket Filters','iconclass'=>'ticketFilters');
$subnav[]=array('desc'=>'SLA Plans','href'=>'slas.php','iconclass'=>'sla'); $subnav[]=array('desc'=>'SLA Plans','href'=>'slas.php','iconclass'=>'sla');
$subnav[]=array('desc'=>'API Keys','href'=>'apikeys.php','iconclass'=>'api'); $subnav[]=array('desc'=>'API Keys','href'=>'apikeys.php','iconclass'=>'api');
$subnav[]=array('desc'=>'Site Pages', 'href'=>'pages.php','title'=>'Pages','iconclass'=>'pages');
break; break;
case 'emails': case 'emails':
$subnav[]=array('desc'=>'Emails','href'=>'emails.php', 'title'=>'Email Addresses', 'iconclass'=>'emailSettings'); $subnav[]=array('desc'=>'Emails','href'=>'emails.php', 'title'=>'Email Addresses', 'iconclass'=>'emailSettings');
......
<?php
/*********************************************************************
class.page.php
Page class
Copyright (c) 2006-2013 osTicket
http://www.osticket.com
Released under the GNU General Public License WITHOUT ANY WARRANTY.
See LICENSE.TXT for details.
vim: expandtab sw=4 ts=4 sts=4:
**********************************************************************/
class Page {
var $id;
var $ht;
function Page($id) {
$this->id=0;
$this->ht = array();
$this->load($id);
}
function load($id=0) {
if(!$id && !($id=$this->getId()))
return false;
$sql='SELECT page.*, count(topic.page_id) as topics '
.' FROM '.PAGE_TABLE.' page '
.' LEFT JOIN '.TOPIC_TABLE. ' topic ON(topic.page_id=page.id) '
.' WHERE page.id='.db_input($id)
.' GROUP By page.id';
if (!($res=db_query($sql)) || !db_num_rows($res))
return false;
$this->ht = db_fetch_array($res);
$this->id = $this->ht['id'];
return true;
}
function reload() {
return $this->load();
}
function getId() {
return $this->id;
}
function getHashtable() {
return $this->ht;
}
function getType() {
return $this->ht['type'];
}
function getName() {
return $this->ht['name'];
}
function getBody() {
return $this->ht['body'];
}
function getNotes() {
return $this->ht['notes'];
}
function isActive() {
return ($this->ht['isactive']);
}
function isInUse() {
global $cfg;
return ($this->getNumTopics()
|| in_array($this->getId(), $cfg->getDefaultPages()));
}
function getCreateDate() {
return $this->ht['created'];
}
function getUpdateDate() {
return $this->ht['updated'];
}
function getNumTopics() {
return $this->ht['topics'];
}
function update($vars, &$errors) {
if(!$vars['isactive'] && $this->isInUse()) {
$errors['err'] = 'A page currently in-use CANNOT be disabled!';
$errors['isactive'] = 'Page is in-use!';
}
if($errors || !$this->save($this->getId(), $vars, $errors))
return false;
$this->reload();
return true;
}
function disable() {
if(!$this->isActive())
return true;
if($this->isInUse())
return false;
$sql=' UPDATE '.PAGE_TABLE.' SET isactive=0 '
.' WHERE id='.db_input($this->getId());
if(!db_query($sql) || !db_affected_rows())
return false;
$this->reload();
return true;
}
function delete() {
if($this->isInUse())
return false;
$sql='DELETE FROM '.PAGE_TABLE
.' WHERE id='.db_input($this->getId())
.' LIMIT 1';
if(!db_query($sql) || !db_affected_rows())
return false;
db_query('UPDATE '.TOPIC_TABLE.' SET page_id=0 WHERE page_id='.db_input($this->getId()));
return true;
}
/* ------------------> Static methods <--------------------- */
function add($vars, &$errors) {
if(!($id=self::create($vars, $errors)))
return false;
return self::lookup($id);
}
function create($vars, &$errors) {
return self::save(0, $vars, $errors);
}
function getPages($criteria=array()) {
$sql = ' SELECT id FROM '.PAGE_TABLE.' WHERE 1';
if(isset($criteria['active']))
$sql.=' AND isactive='.db_input($criteria['active']?1:0);
if(isset($criteria['type']))
$sql.=' AND `type`='.db_input($criteria['type']);
$sql.=' ORDER BY name';
$pages = array();
if(($res=db_query($sql)) && db_num_rows($res))
while(list($id) = db_fetch_row($res))
$pages[] = Page::lookup($id);
return array_filter($pages);
}
function getActivePages($criteria=array()) {
$criteria = array_merge($criteria, array('active'=>true));
return self::getPages($criteria);
}
function getActiveThankYouPages() {
return self::getActivePages(array('type' => 'thank-you'));
}
function getIdByName($name) {
$id = 0;
$sql = ' SELECT id FROM '.PAGE_TABLE.' WHERE name='.db_input($name);
if(($res=db_query($sql)) && db_num_rows($res))
list($id) = db_fetch_row($res);
return $id;
}
function lookup($id) {
return ($id
&& is_numeric($id)
&& ($p= new Page($id))
&& $p->getId()==$id)
? $p : null;
}
function save($id, $vars, &$errors) {
//Cleanup.
$vars['name']=Format::striptags(trim($vars['name']));
//validate
if($id && $id!=$vars['id'])
$errors['err'] = 'Internal error. Try again';
if(!$vars['type'])
$errors['type'] = 'Type required';
elseif(!in_array($vars['type'], array('landing', 'offline', 'thank-you', 'other')))
$errors['type'] = 'Invalid selection';
if(!$vars['name'])
$errors['name'] = 'Name required';
elseif(($pid=self::getIdByName($vars['name'])) && $pid!=$id)
$errors['name'] = 'Name already exists';
if(!$vars['body'])
$errors['body'] = 'Page body is required';
if($errors) return false;
//save
$sql=' updated=NOW() '
.', `type`='.db_input($vars['type'])
.', name='.db_input($vars['name'])
.', body='.db_input(Format::safe_html($vars['body']))
.', isactive='.db_input(isset($vars['isactive'])?1:0)
.', notes='.db_input($vars['notes']);
if($id) {
$sql='UPDATE '.PAGE_TABLE.' SET '.$sql.' WHERE id='.db_input($id);
if(db_query($sql))
return true;
$errors['err']='Unable to update page.';
} else {
$sql='INSERT INTO '.PAGE_TABLE.' SET '.$sql.', created=NOW()';
if(db_query($sql) && ($id=db_insert_id()))
return $id;
$errors['err']='Unable to create page. Internal error';
}
return false;
}
}
?>
<?php
if(!defined('OSTADMININC') || !$thisstaff || !$thisstaff->isAdmin()) die('Access Denied');
$pageTypes = array(
'landing' => 'Landing page',
'offline' => 'Offline page',
'thank-you' => 'Thank you page',
'other' => 'Other',
);
$info=array();
$qstr='';
if($page && $_REQUEST['a']!='add'){
$title='Update Page';
$action='update';
$submit_text='Save Changes';
$info=$page->getHashtable();
$qstr.='&id='.$page->getId();
}else {
$title='Add New Page';
$action='add';
$submit_text='Add Page';
$info['isactive']=isset($info['isactive'])?$info['isactive']:0;
$qstr.='&a='.urlencode($_REQUEST['a']);
}
$info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
?>
<form action="pages.php?<?php echo $qstr; ?>" method="post" id="save">
<?php csrf_token(); ?>
<input type="hidden" name="do" value="<?php echo $action; ?>">
<input type="hidden" name="a" value="<?php echo Format::htmlchars($_REQUEST['a']); ?>">
<input type="hidden" name="id" value="<?php echo $info['id']; ?>">
<h2>Email Template</h2>
<table class="form_table" width="940" border="0" cellspacing="0" cellpadding="2">
<thead>
<tr>
<th colspan="2">
<h4><?php echo $title; ?></h4>
<em>Page information.</em>
</th>
</tr>
</thead>
<tbody>
<tr>
<td width="180" class="required">
Name:
</td>
<td>
<input type="text" size="40" name="name" value="<?php echo $info['name']; ?>">
&nbsp;<span class="error">*&nbsp;<?php echo $errors['name']; ?></span>
</td>
</tr>
<tr>
<td width="180" class="required">
Type:
</td>
<td>
<select name="type">
<option value="" selected="selected">Select Page Type</option>
<?php
foreach($pageTypes as $k => $v)
echo sprintf('<option value="%s" %s>%s</option>',
$k, (($info['type']==$k)?'selected="selected"':''), $v);
?>
</select>
&nbsp;<span class="error">*&nbsp;<?php echo $errors['type']; ?></span>
</td>
</tr>
<tr>
<td width="180" class="required">
Status:
</td>
<td>
<input type="radio" name="isactive" value="1" <?php echo $info['isactive']?'checked="checked"':''; ?>><strong>Active</strong>
<input type="radio" name="isactive" value="0" <?php echo !$info['isactive']?'checked="checked"':''; ?>>Disabled
&nbsp;<span class="error">*&nbsp;<?php echo $errors['isactive']; ?></span>
</td>
</tr>
<tr>
<th colspan="2">
<em><b>Page body</b>: Ticket variables are only supported in thank-you pages.<font class="error">*&nbsp;<?php echo $errors['body']; ?></font></em>
</th>
</tr>
<tr>
<td colspan=2 style="padding-left:3px;">
<textarea name="body" cols="21" rows="12" style="width:98%;" class="richtext"><?php echo $info['body']; ?></textarea>
</td>
</tr>
<tr>
<th colspan="2">
<em><strong>Admin Notes</strong>: Internal notes.&nbsp;</em>
</th>
</tr>
<tr>
<td colspan=2>
<textarea name="notes" cols="21" rows="8" style="width: 80%;"><?php echo $info['notes']; ?></textarea>
</td>
</tr>
</tbody>
</table>
<p style="padding-left:225px;">
<input type="submit" name="submit" value="<?php echo $submit_text; ?>">
<input type="reset" name="reset" value="Reset">
<input type="button" name="cancel" value="Cancel" onclick='window.location.href="pages.php"'>
</p>
</form>
<?php
if(!defined('OSTADMININC') || !$thisstaff->isAdmin()) die('Access Denied');
$qstr='';
$sql='SELECT page.id, page.isactive, page.name, page.created, page.updated, count(topic.topic_id) as topics '
.' FROM '.PAGE_TABLE.' page '
.' LEFT JOIN '.TOPIC_TABLE.' topic ON(topic.page_id=page.id) '
.' WHERE 1 ';
$sortOptions=array(
'name'=>'page.name', 'status'=>'page.isactive',
'created'=>'page.created', 'updated'=>'page.updated');
$orderWays=array('DESC'=>'DESC','ASC'=>'ASC');
$sort=($_REQUEST['sort'] && $sortOptions[strtolower($_REQUEST['sort'])])?strtolower($_REQUEST['sort']):'name';
//Sorting options...
if($sort && $sortOptions[$sort]) {
$order_column =$sortOptions[$sort];
}
$order_column=$order_column?$order_column:'page.name';
if($_REQUEST['order'] && $orderWays[strtoupper($_REQUEST['order'])]) {
$order=$orderWays[strtoupper($_REQUEST['order'])];
}
$order=$order?$order:'ASC';
if($order_column && strpos($order_column,',')){
$order_column=str_replace(','," $order,",$order_column);
}
$x=$sort.'_sort';
$$x=' class="'.strtolower($order).'" ';
$order_by="$order_column $order ";
$total=db_count('SELECT count(*) FROM '.PAGE_TABLE.' page ');
$page=($_GET['p'] && is_numeric($_GET['p']))?$_GET['p']:1;
$pageNav=new Pagenate($total, $page, PAGE_LIMIT);
$pageNav->setURL('pages.php',$qstr.'&sort='.urlencode($_REQUEST['sort']).'&order='.urlencode($_REQUEST['order']));
//Ok..lets roll...create the actual query
$qstr.='&order='.($order=='DESC'?'ASC':'DESC');
$query="$sql GROUP BY page.id ORDER BY $order_by LIMIT ".$pageNav->getStart().",".$pageNav->getLimit();
$res=db_query($query);
if($res && ($num=db_num_rows($res)))
$showing=$pageNav->showing();
else
$showing='No pages found!';
?>
<div style="width:700;padding-top:5px; float:left;">
<h2>Site Pages</h2>
</div>
<div style="float:right;text-align:right;padding-top:5px;padding-right:5px;">
<b><a href="pages.php?a=add" class="Icon newPage">Add New Page</a></b></div>
<div class="clear"></div>
<form action="pages.php" method="POST" name="tpls">
<?php csrf_token(); ?>
<input type="hidden" name="do" value="mass_process" >
<input type="hidden" id="action" name="a" value="" >
<table class="list" border="0" cellspacing="1" cellpadding="0" width="940">
<caption><?php echo $showing; ?></caption>
<thead>
<tr>
<th width="7">&nbsp;</th>
<th width="380"><a <?php echo $name_sort; ?> href="pages.php?<?php echo $qstr; ?>&sort=name">Name</a></th>
<th width="120"><a <?php echo $status_sort; ?> href="pages.php?<?php echo $qstr; ?>&sort=status">Status</a></th>
<th width="150" nowrap><a <?php echo $created_sort; ?>href="pages.php?<?php echo $qstr; ?>&sort=created">Date Added</a></th>
<th width="150" nowrap><a <?php echo $updated_sort; ?>href="pages.php?<?php echo $qstr; ?>&sort=updated">Last Updated</a></th>
</tr>
</thead>
<tbody>
<?php
$total=0;
$ids=($errors && is_array($_POST['ids']))?$_POST['ids']:null;
if($res && db_num_rows($res)):
$defaultPages=$cfg->getDefaultPages();
while ($row = db_fetch_array($res)) {
$sel=false;
if($ids && in_array($row['id'], $ids))
$sel=true;
$inuse = ($row['topics'] || in_array($row['id'], $defaultPages));
?>
<tr id="<?php echo $row['id']; ?>">
<td width=7px>
<input type="checkbox" class="ckb" name="ids[]" value="<?php echo $row['id']; ?>"
<?php echo $sel?'checked="checked"':''; ?>>
</td>
<td>&nbsp;<a href="pages.php?id=<?php echo $row['id']; ?>"><?php echo Format::htmlchars($row['name']); ?></a></td>
<td>
&nbsp;<?php echo $row['isactive']?'Active':'<b>Disabled</b>'; ?>
&nbsp;&nbsp;<?php echo $inuse?'<em>(in-use)</em>':''; ?>
</td>
<td>&nbsp;<?php echo Format::db_date($row['created']); ?></td>
<td>&nbsp;<?php echo Format::db_datetime($row['updated']); ?></td>
</tr>
<?php
} //end of while.
endif; ?>
<tfoot>
<tr>
<td colspan="6">
<?php if($res && $num){ ?>
Select:&nbsp;
<a id="selectAll" href="#ckb">All</a>&nbsp;&nbsp;
<a id="selectNone" href="#ckb">None</a>&nbsp;&nbsp;
<a id="selectToggle" href="#ckb">Toggle</a>&nbsp;&nbsp;
<?php }else{
echo 'No pages found';
} ?>
</td>
</tr>
</tfoot>
</table>
<?php
if($res && $num): //Show options..
echo '<div>&nbsp;Page:'.$pageNav->getPageLinks().'&nbsp;</div>';
?>
<p class="centered" id="actions">
<input class="button" type="submit" name="enable" value="Enable" >
<input class="button" type="submit" name="disable" value="Disable" >
<input class="button" type="submit" name="delete" value="Delete" >
</p>
<?php
endif;
?>
</form>
<div style="display:none;" class="dialog" id="confirm-action">
<h3>Please Confirm</h3>
<a class="close" href="">&times;</a>
<hr/>
<p class="confirm-action" style="display:none;" id="enable-confirm">
Are you sure want to <b>enable</b> selected pages?
</p>
<p class="confirm-action" style="display:none;" id="disable-confirm">
Are you sure want to <b>disable</b> selected pages?
</p>
<p class="confirm-action" style="display:none;" id="delete-confirm">
<font color="red"><strong>Are you sure you want to DELETE selected pages?</strong></font>
<br><br>Deleted pages CANNOT be recovered.
</p>
<div>Please confirm to continue.</div>
<hr style="margin-top:1em"/>
<p class="full-width">
<span class="buttons" style="float:left">
<input type="button" value="No, Cancel" class="close">
</span>
<span class="buttons" style="float:right">
<input type="button" value="Yes, Do it!" class="confirm">
</span>
</p>
<div class="clear"></div>
</div>
...@@ -120,6 +120,7 @@ ...@@ -120,6 +120,7 @@
require(INCLUDE_DIR.'class.http.php'); require(INCLUDE_DIR.'class.http.php');
require(INCLUDE_DIR.'class.signal.php'); require(INCLUDE_DIR.'class.signal.php');
require(INCLUDE_DIR.'class.nav.php'); require(INCLUDE_DIR.'class.nav.php');
require(INCLUDE_DIR.'class.page.php');
require(INCLUDE_DIR.'class.format.php'); //format helpers require(INCLUDE_DIR.'class.format.php'); //format helpers
require(INCLUDE_DIR.'class.validator.php'); //Class to help with basic form input validation...please help improve it. require(INCLUDE_DIR.'class.validator.php'); //Class to help with basic form input validation...please help improve it.
require(INCLUDE_DIR.'class.mailer.php'); require(INCLUDE_DIR.'class.mailer.php');
...@@ -159,6 +160,8 @@ ...@@ -159,6 +160,8 @@
define('TEAM_TABLE',TABLE_PREFIX.'team'); define('TEAM_TABLE',TABLE_PREFIX.'team');
define('TEAM_MEMBER_TABLE',TABLE_PREFIX.'team_member'); define('TEAM_MEMBER_TABLE',TABLE_PREFIX.'team_member');
define('PAGE_TABLE', TABLE_PREFIX.'page');
define('FAQ_TABLE',TABLE_PREFIX.'faq'); define('FAQ_TABLE',TABLE_PREFIX.'faq');
define('FAQ_ATTACHMENT_TABLE',TABLE_PREFIX.'faq_attachment'); define('FAQ_ATTACHMENT_TABLE',TABLE_PREFIX.'faq_attachment');
define('FAQ_TOPIC_TABLE',TABLE_PREFIX.'faq_topic'); define('FAQ_TOPIC_TABLE',TABLE_PREFIX.'faq_topic');
......
...@@ -292,6 +292,9 @@ a.departments { background:url(../images/icons/list_departments.gif) } ...@@ -292,6 +292,9 @@ a.departments { background:url(../images/icons/list_departments.gif) }
a.newDepartment { background:url(../images/icons/new_department.gif) } a.newDepartment { background:url(../images/icons/new_department.gif) }
a.pages { background:url(../images/icons/pages.gif) }
a.newPage { background:url(../images/icons/new_page.gif) }
/* Generic CSS based Icons. use=> <tag class="Icon iconname">text</tag> */ /* Generic CSS based Icons. use=> <tag class="Icon iconname">text</tag> */
.Icon { .Icon {
...@@ -1378,27 +1381,27 @@ ul.progress li.no small {color:red;} ...@@ -1378,27 +1381,27 @@ ul.progress li.no small {color:red;}
#bar.error { background: #ffd; text-align: center; color: #a00; font-weight: bold; } #bar.error { background: #ffd; text-align: center; color: #a00; font-weight: bold; }
/* Overlay */ /* Overlay */
#overlay { #overlay {
display: none; display: none;
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
background: #000; background: #000;
z-index: 1000; z-index: 1000;
-webkit-transform: translate3d(0,0,0); -webkit-transform: translate3d(0,0,0);
} }
#loading, #upgrading { #loading, #upgrading {
border:1px solid #2a67ac; border:1px solid #2a67ac;
padding: 10px 10px 10px 60px; padding: 10px 10px 10px 60px;
width: 300px; width: 300px;
height: 100px; height: 100px;
background: rgb( 255, 255, 255) url('../images/FhHRx-Spinner.gif') 10px 50% no-repeat; background: rgb( 255, 255, 255) url('../images/FhHRx-Spinner.gif') 10px 50% no-repeat;
position: fixed; position: fixed;
display: none; display: none;
z-index: 3000; z-index: 3000;
} }
#loading h4, #upgrading h4 { margin: 3px 0 0 0; padding: 0; color: #d80; } #loading h4, #upgrading h4 { margin: 3px 0 0 0; padding: 0; color: #d80; }
......
scp/images/icons/new_page.gif

122 B

scp/images/icons/pages.gif

105 B

<?php
/*********************************************************************
pages.php
Site pages.
Peter Rotich <peter@osticket.com>
Copyright (c) 2006-2013 osTicket
http://www.osticket.com
Released under the GNU General Public License WITHOUT ANY WARRANTY.
See LICENSE.TXT for details.
vim: expandtab sw=4 ts=4 sts=4:
**********************************************************************/
require('admin.inc.php');
require_once(INCLUDE_DIR.'class.page.php');
$page = null;
if($_REQUEST['id'] && !($page=Page::lookup($_REQUEST['id'])))
$errors['err']='Unknown or invalid page';
if($_POST) {
switch(strtolower($_POST['do'])) {
case 'add':
if(($pageId=Page::create($_POST, $errors))) {
$_REQUEST['a'] = null;
$msg='Page added successfully';
} elseif(!$errors['err'])
$errors['err'] = 'Unable to add page. Try again!';
break;
case 'update':
if(!$page)
$errors['err'] = 'Invalid or unknown page';
elseif($page->update($_POST, $errors)) {
$msg='Page updated successfully';
$_REQUEST['a']=null; //Go back to view
} elseif(!$errors['err'])
$errors['err'] = 'Unable to update page. Try again!';
break;
case 'mass_process':
if(!$_POST['ids'] || !is_array($_POST['ids']) || !count($_POST['ids'])) {
$errors['err'] = 'You must select at least one page.';
} elseif(array_intersect($_POST['ids'], $cfg->getDefaultPages()) && strcasecmp($_POST['a'], 'enable')) {
$errors['err'] = 'One or more of the selected pages is in-use and CANNOT be disabled/deleted.';
} else {
$count=count($_POST['ids']);
switch(strtolower($_POST['a'])) {
case 'enable':
$sql='UPDATE '.PAGE_TABLE.' SET isactive=1 '
.' WHERE id IN ('.implode(',', db_input($_POST['ids'])).')';
if(db_query($sql) && ($num=db_affected_rows())) {
if($num==$count)
$msg = 'Selected pages enabled';
else
$warn = "$num of $count selected pages enabled";
} else {
$errors['err'] = 'Unable to enable selected pages';
}
break;
case 'disable':
$i = 0;
foreach($_POST['ids'] as $k=>$v) {
if(($p=Page::lookup($v)) && $p->disable())
$i++;
}
if($i && $i==$count)
$msg = 'Selected pages disabled';
elseif($i>0)
$warn = "$num of $count selected pages disabled";
elseif(!$errors['err'])
$errors['err'] = 'Unable to disable selected pages';
break;
case 'delete':
$i=0;
foreach($_POST['ids'] as $k=>$v) {
if(($p=Page::lookup($v)) && $p->delete())
$i++;
}
if($i && $i==$count)
$msg = 'Selected pages deleted successfully';
elseif($i>0)
$warn = "$i of $count selected pages deleted";
elseif(!$errors['err'])
$errors['err'] = 'Unable to delete selected pages';
break;
default:
$errors['err']='Unknown action - get technical help.';
}
}
break;
default:
$errors['err']='Unknown action/command';
break;
}
}
$inc='pages.inc.php';
if($page || $_REQUEST['a']=='add')
$inc='page.inc.php';
$nav->setTabActive('manage');
require_once(STAFFINC_DIR.'header.inc.php');
require_once(STAFFINC_DIR.$inc);
require_once(STAFFINC_DIR.'footer.inc.php');
?>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment