|
<?php
/**
* Cpanel, control panel stuff...
*
* @name Cpanel
* @verision ---
* @package ---
* @author Rashaud Teague <rashaud.teague@gmail.com>
* @since 03/12/2009
* @license GNU GPL
*/
class CPANEL {
public static function cpanel_main($tab, $action) {
global $uc, $uv, $sys, $security, $pv, $rsurl, $msd_news;
$session_user = $uc->user_data($_SESSION['docu_user']);
print '<div class = "cpanelcontent">';
if ($sys->check_version_update())
print '<div class = "vupdate">
WARNING: Version Update Detected! <a href = "http://marislabs.org/ext/apps/?p=desc&app=18">v'
.$sys->get_current_version().'</a>
It is recommended that you install the <a href = "http://marislabs.org/ext/apps/?p=desc&app=18">update</a>.
</div>';
switch ($tab) {
case 'main':
print '<ul>
<li><a href = "'.APP_DIR.'?p=cp&tab=main">Control Panel Main</a></li>
<li><a href = "'.APP_DIR.'?p=cp&tab=sys">System Configuration</a></li>
<li><a href = "'.APP_DIR.'?p=cp&tab=recent_backup">View recent backup files</a></li>
<li><a href = "'.APP_DIR.'?p=cp&tab=users">Users</a></li>
<li><a href = "'.APP_DIR.'?p=cp&tab=rsurl">Real Short URL Toggle</a></li>
<!--<li><a href = "'.APP_DIR.'?p=cp&tab=pages">Pages</a></li>-->
</ul>';
$msd_news->display_msd_news();
$sys->system_data_management();
$pv->display_top_pages();
$sys->user_log_view();
break;
case 'sys':
print '<strong>System Configuration</strong>';
switch ($action) {
case 'none':
$sys->bread_crumbs(array(
'?p=cp&tab=main' => 'Control Panel',
'?p=cp&tab=sys' => 'System Configuration'));
if (!isset($_POST['submit'])) {
$sys->sys_edit_form();
} elseif (isset($_POST['submit'])) {
$sys->log_it($session_user, 'Edit System Configuration');
$sys->validate_sys_edit($_POST['org_name'], $_POST['site_url'], $_POST['org_email'], $_POST['doc_title'],
$_POST['allow_registration']);
}
break;
case 'backup':
$sys->bread_crumbs(array(
'?p=cp&tab=main' => 'Control Panel',
'?p=cp&tab=sys' => 'System Configuration',
'?p=cp&tab=sys&a=backup' => 'System Backup'));
$sys->log_it($session_user, 'System Backup');
print $sys->backup();
break;
case 'tmp':
$sys->log_it($session_user, 'Empty tmp_files/ directory');
$sys->empty_tmp();
$security->redirect(APP_DIR.'?p=cp&tab=main');
break;
default:
print '...';
}
break;
case 'recent_backup':
$sys->bread_crumbs(array(
'?p=cp&tab=main' => 'Control Panel',
'?p=cp&tab=recent_backup' => 'Recent Backup Files'));
$sys->recent_backup_files_view();
break;
case 'users':
print '<strong>User Management</strong>';
switch ($action) {
case 'none':
$sys->bread_crumbs(array(
'?p=cp&tab=main' => 'Control Panel',
'?p=cp&tab=users' => 'User Management'));
print '<p><a href = "'.APP_DIR.'?p=cp&tab=users&a=new" title = "Add a new user">Add User</a> |
<a href = "'.APP_DIR.'?p=cp&tab=users&a=message">Message Users</a></p>';
if (isset($_GET['pagenum'])) {
if (!is_numeric($_GET['pagenum']))
$security->redirect(APP_DIR.'?p=cp&tab=users');
$pagenum = $_GET['pagenum'];
} else {
$pagenum = 1;
}
$uv->list_users(new Paginator("", 10, $pagenum));
print '<p>There are number of <strong>'.$uc->user_count().'</strong> total users.</p>';
break;
case 'new':
$sys->bread_crumbs(array(
'?p=cp&tab=main' => 'Control Panel',
'?p=cp&tab=users' => 'User Management',
'?p=cp&tab=users&a=new' => 'Add New User'));
if (!isset($_POST['submit'])) {
$uv->add_user_form();
} elseif (isset($_POST['submit'])) {
$sys->log_it($session_user, 'Add user');
$uc->validate_add_user($_POST['username'], $_POST['email']);
}
break;
case 'edit':
$security->validate_get_int($_GET['u']);
$udata = $uc->user_data($_GET['u']);
$sys->bread_crumbs(array(
'?p=cp&tab=main' => 'Control Panel',
'?p=cp&tab=users' => 'User Management',
'?p=cp&tab=users&a=edit&u='.$_GET['u'] => 'Editing: '.$udata['username']));
if (!isset($_POST['submit'])) {
$uv->user_edit_form(null, $_GET['u']);
} elseif (isset($_POST['submit'])) {
$sys->log_it($session_user, 'Edit user:'.$udata['username']);
$uc->validate_edit_user($_POST['username'],
$_POST['original_username'],
$_POST['email'],
$_POST['original_email'],
$_POST['auth'],
$_GET['u']);
}
break;
case 'delete':
$security->validate_get_int($_GET['u']);
$udata = $uc->user_data($_GET['u']);
if (!isset($_POST['submit'])) {
$uv->delete_user_confirm($_GET['u']);
} elseif (isset($_POST['submit'])) {
$sys->log_it($session_user, 'Delete user:'.$udata['username']);
$uc->delete_user($_GET['u']);
$security->redirect(APP_DIR.'?p=cp&tab=users');
}
break;
case 'message':
$sys->bread_crumbs(array(
'?p=cp&tab=main' => 'Control Panel',
'?p=cp&tab=users' => 'User Management',
'?p=cp&tab=users&a=message' => 'Message Users'));
if (!isset($_POST['submit'])) {
$uv->user_message_form();
} elseif (isset($_POST['submit'])) {
$uc->validate_send_message($_POST['subject'], $_POST['message']);
print 'Message sent! Please wait...';
$security->redirect(APP_DIR.'?p=cp&tab=users', 3000);
}
break;
default:
print '<p>Uncharted Area...</p>';
}
break;
case 'rsurl':
$sys->bread_crumbs(array(
'?p=cp&tab=main' => 'Control Panel',
'?p=cp&tab=rsurl' => 'Real Short URL Toggle'));
if (!isset($_POST['submit'])) {
$rsurl->toggle_form();
} elseif (isset($_POST['submit'])) {
$rsurl->save_toggle($_POST['rsurl_toggle']);
$security->redirect(APP_DIR.'?p=cp&tab=main');
}
break;
default:
print '<p>Uncharted Area...</p>';
}
print '</div>';
}
}
?>
|