Restyling sidebar: adding buttons and dropdowns;
removing sidebar from user edit/add page; fixing typo in template servicepull/48/head
							parent
							
								
									25d49b4ff2
								
							
						
					
					
						commit
						8cca8a6b29
					
				| 
						 | 
				
			
			@ -86,6 +86,32 @@ abstract class AbstractServerController extends AbstractController {
 | 
			
		|||
		}
 | 
			
		||||
 | 
			
		||||
		return $servers;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Format server data for display
 | 
			
		||||
	 * @param array $server
 | 
			
		||||
	 * @return array
 | 
			
		||||
	 */
 | 
			
		||||
	protected function formatServer($server) {
 | 
			
		||||
		$server['rtime'] = round((float) $server['rtime'], 4);
 | 
			
		||||
		$server['last_online']  = psm_timespan($server['last_online']);
 | 
			
		||||
		$server['last_check']  = psm_timespan($server['last_check']);
 | 
			
		||||
		$server['active'] = psm_get_lang('system', $server['active']);
 | 
			
		||||
		$server['email'] = psm_get_lang('system', $server['email']);
 | 
			
		||||
		$server['sms'] = psm_get_lang('system', $server['sms']);
 | 
			
		||||
		$server['url_view'] = psm_build_url(array(
 | 
			
		||||
			'mod' => 'server',
 | 
			
		||||
			'action' => 'view',
 | 
			
		||||
			'id' => $server['server_id'],
 | 
			
		||||
		));
 | 
			
		||||
 | 
			
		||||
		if($server['status'] == 'on' && $server['warning_threshold_counter'] > 0) {
 | 
			
		||||
			$server['status'] = 'warning';
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$server['type'] = psm_get_lang('servers', 'type_' . $server['type']);
 | 
			
		||||
 | 
			
		||||
		return $server;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -34,9 +34,17 @@ use psm\Service\Template;
 | 
			
		|||
 */
 | 
			
		||||
class ServerController extends AbstractServerController {
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Current server id
 | 
			
		||||
	 * @var int $server_id
 | 
			
		||||
	 */
 | 
			
		||||
	protected $server_id;
 | 
			
		||||
 | 
			
		||||
	function __construct(Database $db, Template $tpl) {
 | 
			
		||||
		parent::__construct($db, $tpl);
 | 
			
		||||
 | 
			
		||||
		$this->server_id = isset($_GET['id']) ? intval($_GET['id']) : 0;
 | 
			
		||||
 | 
			
		||||
		$this->setActions(array(
 | 
			
		||||
			'index', 'edit', 'save', 'delete', 'view',
 | 
			
		||||
		), 'index');
 | 
			
		||||
| 
						 | 
				
			
			@ -57,11 +65,11 @@ class ServerController extends AbstractServerController {
 | 
			
		|||
 | 
			
		||||
		// check if user is admin, in that case we add the buttons
 | 
			
		||||
		if($this->user->getUserLevel() == PSM_USER_ADMIN) {
 | 
			
		||||
			$sidebar->addLink(
 | 
			
		||||
			$sidebar->addButton(
 | 
			
		||||
				'add_new',
 | 
			
		||||
				psm_get_lang('system', 'add_new'),
 | 
			
		||||
				psm_build_url(array('mod' => 'server', 'action' => 'edit')),
 | 
			
		||||
				'plus'
 | 
			
		||||
				'plus icon-white', 'success'
 | 
			
		||||
			);
 | 
			
		||||
			// get the action buttons per server
 | 
			
		||||
			$this->tpl->newTemplate('server_list_admin_actions', 'server/server.tpl.html');
 | 
			
		||||
| 
						 | 
				
			
			@ -70,7 +78,7 @@ class ServerController extends AbstractServerController {
 | 
			
		|||
			$html_actions = '';
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$sidebar->addLink(
 | 
			
		||||
		$sidebar->addButton(
 | 
			
		||||
			'update',
 | 
			
		||||
			psm_get_lang('menu', 'server_update'),
 | 
			
		||||
			psm_build_url(array('mod' => 'server_update')),
 | 
			
		||||
| 
						 | 
				
			
			@ -105,23 +113,26 @@ class ServerController extends AbstractServerController {
 | 
			
		|||
	 */
 | 
			
		||||
	protected function executeEdit() {
 | 
			
		||||
		$this->setTemplateId('server_update', 'server/server.tpl.html');
 | 
			
		||||
		$sidebar = new \psm\Util\Module\Sidebar($this->tpl);
 | 
			
		||||
		$this->setSidebar($sidebar);
 | 
			
		||||
 | 
			
		||||
		$sidebar->addLink(
 | 
			
		||||
			'go_back',
 | 
			
		||||
			psm_get_lang('system', 'go_back'),
 | 
			
		||||
			psm_build_url(array('mod' => 'server')),
 | 
			
		||||
			'th-list'
 | 
			
		||||
		);
 | 
			
		||||
 | 
			
		||||
		$server_id = isset($_GET['id']) ? intval($_GET['id']) : 0;
 | 
			
		||||
		$back_to = isset($_GET['back_to']) ? $_GET['back_to'] : '';
 | 
			
		||||
 | 
			
		||||
		$tpl_data = array(
 | 
			
		||||
			'url_go_back' => psm_build_url(array('mod' => 'server')),
 | 
			
		||||
			// form url:
 | 
			
		||||
			'url_save' => psm_build_url(array(
 | 
			
		||||
				'mod' => 'server',
 | 
			
		||||
				'action' => 'save',
 | 
			
		||||
				'id' => $this->server_id,
 | 
			
		||||
				'back_to' => $back_to,
 | 
			
		||||
			)),
 | 
			
		||||
		);
 | 
			
		||||
 | 
			
		||||
		switch(intval($server_id)) {
 | 
			
		||||
		// depending on where the user came from, add the go back url:
 | 
			
		||||
		if($back_to == 'view' && $this->server_id > 0) {
 | 
			
		||||
			$tpl_data['url_go_back'] = psm_build_url(array('mod' => 'server', 'action' => 'view', 'id' => $this->server_id));
 | 
			
		||||
		} else {
 | 
			
		||||
			$tpl_data['url_go_back'] = psm_build_url(array('mod' => 'server'));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		switch($this->server_id) {
 | 
			
		||||
			case 0:
 | 
			
		||||
				// insert mode
 | 
			
		||||
				$tpl_data['titlemode'] = psm_get_lang('system', 'insert');
 | 
			
		||||
| 
						 | 
				
			
			@ -131,10 +142,7 @@ class ServerController extends AbstractServerController {
 | 
			
		|||
			default:
 | 
			
		||||
				// edit mode
 | 
			
		||||
				// get server entry
 | 
			
		||||
				$edit_server = $this->db->selectRow(
 | 
			
		||||
					PSM_DB_PREFIX.'servers',
 | 
			
		||||
					array('server_id' => $server_id)
 | 
			
		||||
				);
 | 
			
		||||
				$edit_server = $this->getServers($this->server_id);
 | 
			
		||||
				if (empty($edit_server)) {
 | 
			
		||||
					$this->addMessage('Invalid server', 'error');
 | 
			
		||||
					return $this->initializeAction('index');
 | 
			
		||||
| 
						 | 
				
			
			@ -169,8 +177,6 @@ class ServerController extends AbstractServerController {
 | 
			
		|||
	protected function executeSave() {
 | 
			
		||||
		// check for add/edit mode
 | 
			
		||||
		if(isset($_POST['label']) && isset($_POST['ip']) && isset($_POST['port'])) {
 | 
			
		||||
			$server_id = isset($_GET['id']) ? intval($_GET['id']) : 0;
 | 
			
		||||
 | 
			
		||||
			$clean = array(
 | 
			
		||||
				'label' => strip_tags($_POST['label']),
 | 
			
		||||
				'ip' => strip_tags($_POST['ip']),
 | 
			
		||||
| 
						 | 
				
			
			@ -184,22 +190,28 @@ class ServerController extends AbstractServerController {
 | 
			
		|||
			);
 | 
			
		||||
 | 
			
		||||
			// check for edit or add
 | 
			
		||||
			if($server_id > 0) {
 | 
			
		||||
			if($this->server_id > 0) {
 | 
			
		||||
				// edit
 | 
			
		||||
				$this->db->save(
 | 
			
		||||
					PSM_DB_PREFIX.'servers',
 | 
			
		||||
					$clean,
 | 
			
		||||
					array('server_id' => $server_id)
 | 
			
		||||
					array('server_id' => $this->server_id)
 | 
			
		||||
				);
 | 
			
		||||
				$this->addMessage(psm_get_lang('servers', 'updated'), 'success');
 | 
			
		||||
			} else {
 | 
			
		||||
				// add
 | 
			
		||||
				$clean['status'] = 'on';
 | 
			
		||||
				$this->db->save(PSM_DB_PREFIX.'servers', $clean);
 | 
			
		||||
				$this->server_id = $this->db->save(PSM_DB_PREFIX.'servers', $clean);
 | 
			
		||||
				$this->addMessage(psm_get_lang('servers', 'inserted'), 'success');
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		$this->initializeAction('index');
 | 
			
		||||
 | 
			
		||||
		$back_to = isset($_GET['back_to']) ? $_GET['back_to'] : 'index';
 | 
			
		||||
		if($back_to == 'view') {
 | 
			
		||||
			$this->initializeAction('view');
 | 
			
		||||
		} else {
 | 
			
		||||
			$this->initializeAction('index');
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
| 
						 | 
				
			
			@ -211,7 +223,7 @@ class ServerController extends AbstractServerController {
 | 
			
		|||
			// do delete
 | 
			
		||||
			$res = $this->db->delete(PSM_DB_PREFIX . 'servers', array('server_id' => $id));
 | 
			
		||||
 | 
			
		||||
			if($res == 1) {
 | 
			
		||||
			if($res === 1) {
 | 
			
		||||
				$this->db->delete(PSM_DB_PREFIX.'log', array('server_id' => $id));
 | 
			
		||||
				$this->db->delete(PSM_DB_PREFIX.'users_servers', array('server_id' => $id));
 | 
			
		||||
				$this->db->delete(PSM_DB_PREFIX.'servers_uptime', array('server_id' => $id));
 | 
			
		||||
| 
						 | 
				
			
			@ -226,77 +238,61 @@ class ServerController extends AbstractServerController {
 | 
			
		|||
	 * Prepare the view template
 | 
			
		||||
	 */
 | 
			
		||||
	protected function executeView() {
 | 
			
		||||
		$this->setTemplateId('server_view', 'server/view.tpl.html');
 | 
			
		||||
		$server_id = isset($_GET['id']) ? intval($_GET['id']) : 0;
 | 
			
		||||
		if($this->server_id == 0) {
 | 
			
		||||
			return $this->initializeAction('index');
 | 
			
		||||
		}
 | 
			
		||||
		$server = $this->getServers($this->server_id);
 | 
			
		||||
 | 
			
		||||
		// get server entry
 | 
			
		||||
		$server = $this->getServers($server_id);
 | 
			
		||||
		if(empty($server)) {
 | 
			
		||||
			$this->addMessage('Invalid server', 'error');
 | 
			
		||||
			return $this->initializeAction('index');
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$sidebar = new \psm\Util\Module\Sidebar($this->tpl);
 | 
			
		||||
		$this->setSidebar($sidebar);
 | 
			
		||||
		$sidebar->setSubtitle($server['label']);
 | 
			
		||||
		$this->setTemplateId('server_view', 'server/view.tpl.html');
 | 
			
		||||
 | 
			
		||||
		$tpl_data = $this->formatServer($server);
 | 
			
		||||
 | 
			
		||||
		// create history HTML
 | 
			
		||||
		$history = new \psm\Util\Server\HistoryGraph($this->db, $this->tpl);
 | 
			
		||||
		$tpl_data['html_history'] = $history->createHTML($this->server_id);
 | 
			
		||||
 | 
			
		||||
		// add edit/delete buttons for admins
 | 
			
		||||
		if($this->user->getUserLevel() == PSM_USER_ADMIN) {
 | 
			
		||||
			$sidebar->addLink(
 | 
			
		||||
				'edit',
 | 
			
		||||
				psm_get_lang('system', 'edit'),
 | 
			
		||||
				psm_build_url(array('mod' => 'server', 'action' => 'edit', 'id' => $server_id)),
 | 
			
		||||
				'edit'
 | 
			
		||||
			);
 | 
			
		||||
			$sidebar->addLink(
 | 
			
		||||
				'delete',
 | 
			
		||||
				psm_get_lang('system', 'delete'),
 | 
			
		||||
				"javascript:sm_delete('{$server_id}', 'server');",
 | 
			
		||||
				'remove'
 | 
			
		||||
			$tpl_id_actions = 'server_view_admin_actions';
 | 
			
		||||
			$this->tpl->newTemplate($tpl_id_actions, 'server/view.tpl.html');
 | 
			
		||||
			$tpl_data['html_actions'] = $this->tpl->getTemplate($tpl_id_actions);
 | 
			
		||||
			$tpl_data['url_edit'] = psm_build_url(array('mod' => 'server', 'action' => 'edit', 'id' => $this->server_id, 'back_to' => 'view'));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// add all available servers to the menu
 | 
			
		||||
		$servers = $this->getServers();
 | 
			
		||||
		$options = array();
 | 
			
		||||
		foreach($servers as $i => $server) {
 | 
			
		||||
			$options[] = array(
 | 
			
		||||
				'class_active' => ($server['server_id'] == $this->server_id) ? 'active' : '',
 | 
			
		||||
				'url' => psm_build_url(array('mod' => 'server', 'action' => 'view', 'id' => $server['server_id'])),
 | 
			
		||||
				'label' => $server['label'],
 | 
			
		||||
			);
 | 
			
		||||
		}
 | 
			
		||||
		$back_to = isset($_GET['back_to']) ? $_GET['back_to'] : 'server';
 | 
			
		||||
		$sidebar->addLink(
 | 
			
		||||
		$sidebar = new \psm\Util\Module\Sidebar($this->tpl);
 | 
			
		||||
		$this->setSidebar($sidebar);
 | 
			
		||||
 | 
			
		||||
		$sidebar->addDropdown(
 | 
			
		||||
			'server',
 | 
			
		||||
			psm_get_lang('menu', 'server'),
 | 
			
		||||
			$options,
 | 
			
		||||
			'th', 'success'
 | 
			
		||||
		);
 | 
			
		||||
 | 
			
		||||
		// check which module the user came from, and add a link accordingly
 | 
			
		||||
		$back_to = isset($_GET['back_to']) && $_GET['back_to'] == 'status' ? $_GET['back_to'] : 'server';
 | 
			
		||||
		$sidebar->addButton(
 | 
			
		||||
			'go_back',
 | 
			
		||||
			psm_get_lang('system', 'go_back'),
 | 
			
		||||
			psm_build_url(array('mod' => $back_to)),
 | 
			
		||||
			'th-list'
 | 
			
		||||
		);
 | 
			
		||||
 | 
			
		||||
		$tpl_data = $this->formatServer($server);
 | 
			
		||||
		$history = new \psm\Util\Server\HistoryGraph($this->db, $this->tpl);
 | 
			
		||||
		$tpl_data['html_history'] = $history->createHTML($server_id);
 | 
			
		||||
 | 
			
		||||
		$this->tpl->addTemplateData(
 | 
			
		||||
			$this->getTemplateId(),
 | 
			
		||||
			$tpl_data
 | 
			
		||||
		);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Format server data for display
 | 
			
		||||
	 * @param array $server
 | 
			
		||||
	 * @return array
 | 
			
		||||
	 */
 | 
			
		||||
	protected function formatServer($server) {
 | 
			
		||||
		$server['rtime'] = round((float) $server['rtime'], 4);
 | 
			
		||||
		$server['last_online']  = psm_timespan($server['last_online']);
 | 
			
		||||
		$server['last_check']  = psm_timespan($server['last_check']);
 | 
			
		||||
		$server['active'] = psm_get_lang('system', $server['active']);
 | 
			
		||||
		$server['email'] = psm_get_lang('system', $server['email']);
 | 
			
		||||
		$server['sms'] = psm_get_lang('system', $server['sms']);
 | 
			
		||||
		$server['url_view'] = psm_build_url(array(
 | 
			
		||||
			'mod' => 'server',
 | 
			
		||||
			'action' => 'view',
 | 
			
		||||
			'id' => $server['server_id'],
 | 
			
		||||
		));
 | 
			
		||||
 | 
			
		||||
		if($server['status'] == 'on' && $server['warning_threshold_counter'] > 0) {
 | 
			
		||||
			$server['status'] = 'warning';
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$server['type'] = psm_get_lang('servers', 'type_' . $server['type']);
 | 
			
		||||
 | 
			
		||||
		return $server;
 | 
			
		||||
		$this->tpl->addTemplateData($this->getTemplateId(), $tpl_data);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// override parent::createHTMLLabels()
 | 
			
		||||
| 
						 | 
				
			
			@ -326,8 +322,8 @@ class ServerController extends AbstractServerController {
 | 
			
		|||
				'label_action' => psm_get_lang('system', 'action'),
 | 
			
		||||
				'label_save' => psm_get_lang('system', 'save'),
 | 
			
		||||
				'label_go_back' => psm_get_lang('system', 'go_back'),
 | 
			
		||||
				'label_edit' => psm_get_lang('system', 'edit') . ' ' . psm_get_lang('servers', 'server'),
 | 
			
		||||
				'label_delete' => psm_get_lang('system', 'delete') . ' ' . psm_get_lang('servers', 'server'),
 | 
			
		||||
				'label_edit' => psm_get_lang('system', 'edit'),
 | 
			
		||||
				'label_delete' => psm_get_lang('system', 'delete'),
 | 
			
		||||
				'label_yes' => psm_get_lang('system', 'yes'),
 | 
			
		||||
				'label_no' => psm_get_lang('system', 'no'),
 | 
			
		||||
				'label_add_new' => psm_get_lang('system', 'add_new'),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -72,11 +72,11 @@ class UserController extends AbstractController {
 | 
			
		|||
		$sidebar = new \psm\Util\Module\Sidebar($this->tpl);
 | 
			
		||||
		$this->setSidebar($sidebar);
 | 
			
		||||
 | 
			
		||||
		$sidebar->addLink(
 | 
			
		||||
		$sidebar->addButton(
 | 
			
		||||
			'add_new',
 | 
			
		||||
			psm_get_lang('system', 'add_new'),
 | 
			
		||||
			psm_build_url(array('mod' => 'user', 'action' => 'edit')),
 | 
			
		||||
			'plus'
 | 
			
		||||
			'plus icon-white', 'success'
 | 
			
		||||
		);
 | 
			
		||||
 | 
			
		||||
		// build label array for the next loop
 | 
			
		||||
| 
						 | 
				
			
			@ -114,16 +114,6 @@ class UserController extends AbstractController {
 | 
			
		|||
	 */
 | 
			
		||||
	protected function executeEdit() {
 | 
			
		||||
		$this->setTemplateId('user_update', 'user/user.tpl.html');
 | 
			
		||||
		$sidebar = new \psm\Util\Module\Sidebar($this->tpl);
 | 
			
		||||
		$this->setSidebar($sidebar);
 | 
			
		||||
 | 
			
		||||
		$sidebar->addLink(
 | 
			
		||||
			'go_back',
 | 
			
		||||
			psm_get_lang('system', 'go_back'),
 | 
			
		||||
			psm_build_url(array('mod' => 'user')),
 | 
			
		||||
			'th-list'
 | 
			
		||||
		);
 | 
			
		||||
 | 
			
		||||
		$user_id = isset($_GET['id']) ? intval($_GET['id']) : 0;
 | 
			
		||||
		$fields_prefill = array('name', 'user_name', 'mobile', 'email');
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -105,7 +105,7 @@ class Template {
 | 
			
		|||
				foreach($value as $k => $v) {
 | 
			
		||||
					$subdata[$key.'_'.$k] = $v;
 | 
			
		||||
				}
 | 
			
		||||
				$source = $this->assignTplVar($source, $subdata, true);
 | 
			
		||||
				$source = $this->addTemplateData($source, $subdata, true);
 | 
			
		||||
			} else {
 | 
			
		||||
				$source = str_replace('{'.$key.'}', $value, $source);
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -94,7 +94,7 @@ class Sidebar implements SidebarInterface {
 | 
			
		|||
		}
 | 
			
		||||
 | 
			
		||||
		$this->items['link'][$id] = array(
 | 
			
		||||
			'type' => 'link',
 | 
			
		||||
			'id' => $id,
 | 
			
		||||
			'label' => $label,
 | 
			
		||||
			'url' => str_replace('"', '\"', $url),
 | 
			
		||||
			'icon' => $icon,
 | 
			
		||||
| 
						 | 
				
			
			@ -102,11 +102,62 @@ class Sidebar implements SidebarInterface {
 | 
			
		|||
		return $this;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Add a new button to the sidebar
 | 
			
		||||
	 * @param string $id
 | 
			
		||||
	 * @param string $label
 | 
			
		||||
	 * @param string $url
 | 
			
		||||
	 * @param string $icon
 | 
			
		||||
	 * @param string $btn_class
 | 
			
		||||
	 * @param boolean $url_is_onclick if you want onclick rather than url, change this to true
 | 
			
		||||
	 * @return \psm\Util\Module\Sidebar
 | 
			
		||||
	 */
 | 
			
		||||
	public function addButton($id, $label, $url, $icon = null, $btn_class = null, $url_is_onclick = false) {
 | 
			
		||||
		if(!isset($this->items['button'])) {
 | 
			
		||||
			$this->items['button'] = array();
 | 
			
		||||
		}
 | 
			
		||||
		if(!$url_is_onclick) {
 | 
			
		||||
			$url = "psm_goTo('" . $url . "');";
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$this->items['button'][$id] = array(
 | 
			
		||||
			'id' => $id,
 | 
			
		||||
			'label' => $label,
 | 
			
		||||
			'onclick' => str_replace('"', '\"', $url),
 | 
			
		||||
			'icon' => $icon,
 | 
			
		||||
			'btn_class'=> $btn_class,
 | 
			
		||||
		);
 | 
			
		||||
		return $this;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Add dropdown button
 | 
			
		||||
	 * @param string $id
 | 
			
		||||
	 * @param string $label
 | 
			
		||||
	 * @param array $options
 | 
			
		||||
	 * @param string $icon
 | 
			
		||||
	 * @param string $btn_class
 | 
			
		||||
	 * @return \psm\Util\Module\Sidebar
 | 
			
		||||
	 */
 | 
			
		||||
	public function addDropdown($id, $label, $options, $icon = null, $btn_class = null) {
 | 
			
		||||
		if(!isset($this->items['dropdown'])) {
 | 
			
		||||
			$this->items['dropdown'] = array();
 | 
			
		||||
		}
 | 
			
		||||
		$this->items['dropdown'][$id] = array(
 | 
			
		||||
			'id' => $id,
 | 
			
		||||
			'label' => $label,
 | 
			
		||||
			'options' => $options,
 | 
			
		||||
			'icon' => $icon,
 | 
			
		||||
			'btn_class' => $btn_class,
 | 
			
		||||
		);
 | 
			
		||||
		return $this;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public function createHTML() {
 | 
			
		||||
		$tpl_id = 'main_sidebar_container';
 | 
			
		||||
		$this->tpl->newTemplate($tpl_id, 'main_sidebar.tpl.html');
 | 
			
		||||
 | 
			
		||||
		$types = array('link');
 | 
			
		||||
		$types = array('dropdown', 'button', 'link');
 | 
			
		||||
		$items = array();
 | 
			
		||||
 | 
			
		||||
		// loop through all types and build their html
 | 
			
		||||
| 
						 | 
				
			
			@ -122,8 +173,16 @@ class Sidebar implements SidebarInterface {
 | 
			
		|||
 | 
			
		||||
			// build html for each individual item
 | 
			
		||||
			foreach($this->items[$type] as $id => $item) {
 | 
			
		||||
				$html_item = $html_type;
 | 
			
		||||
 | 
			
		||||
				if(isset($item['options'])) {
 | 
			
		||||
					$item['options'] = $this->tpl->addTemplateDataRepeat($html_item, 'options', $item['options'], true);
 | 
			
		||||
 | 
			
		||||
				}
 | 
			
		||||
				$html_item = $this->tpl->addTemplateData($html_type, $item, true);
 | 
			
		||||
 | 
			
		||||
				$items[] = array(
 | 
			
		||||
					'html_item' => $this->tpl->addTemplateData($html_type, $item, true),
 | 
			
		||||
					'html_item' => $html_item,
 | 
			
		||||
					'class_active' => ($id === $this->active_id) ? 'active' : '',
 | 
			
		||||
				);
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
<!--%tpl_main_sidebar_container-->
 | 
			
		||||
<div class="span2">
 | 
			
		||||
	<div class="well sidebar-nav">
 | 
			
		||||
	<div class="sidebar-nav">
 | 
			
		||||
		<ul class="nav nav-list">
 | 
			
		||||
			<li class="nav-header">{subtitle}</li>
 | 
			
		||||
			<!--%tpl_repeat_items-->
 | 
			
		||||
| 
						 | 
				
			
			@ -8,8 +8,30 @@
 | 
			
		|||
			<!--%%tpl_repeat_items-->
 | 
			
		||||
			{items}
 | 
			
		||||
		</ul>
 | 
			
		||||
		<div class="clearfix"></div>
 | 
			
		||||
	</div>
 | 
			
		||||
</div>
 | 
			
		||||
<!--%%tpl_main_sidebar_container-->
 | 
			
		||||
 | 
			
		||||
<!--%tpl_main_sidebar_types_link--><a href="{url}"><i class="icon-{icon}"></i> {label}</a><!--%%tpl_main_sidebar_types_link-->
 | 
			
		||||
<!--%tpl_main_sidebar_types_link--><a href="{url}"><i class="icon-{icon}"></i> {label}</a><!--%%tpl_main_sidebar_types_link-->
 | 
			
		||||
 | 
			
		||||
<!--%tpl_main_sidebar_types_button-->
 | 
			
		||||
<button class="btn btn-{btn_class}" onclick="{onclick}">
 | 
			
		||||
	<i class="icon-{icon}"></i> {label}
 | 
			
		||||
</button>
 | 
			
		||||
<!--%%tpl_main_sidebar_types_button-->
 | 
			
		||||
 | 
			
		||||
<!--%tpl_main_sidebar_types_dropdown-->
 | 
			
		||||
<div class="btn-group">
 | 
			
		||||
  <button class="btn btn-success dropdown-toggle" data-toggle="dropdown">
 | 
			
		||||
	<i class="icon-th icon-white"></i> {label}
 | 
			
		||||
	<span class="caret"></span>
 | 
			
		||||
  </button>
 | 
			
		||||
  <ul class="dropdown-menu">
 | 
			
		||||
	<!--%tpl_repeat_options-->
 | 
			
		||||
	<li class="{class_active}"><a href="{url}">{label}</a>
 | 
			
		||||
	<!--%%tpl_repeat_options-->
 | 
			
		||||
	{options}
 | 
			
		||||
  </ul>
 | 
			
		||||
</div>
 | 
			
		||||
<!--%%tpl_main_sidebar_types_dropdown-->
 | 
			
		||||
| 
						 | 
				
			
			@ -32,7 +32,8 @@
 | 
			
		|||
			<td>{active}</td>
 | 
			
		||||
			<td>{email}</td>
 | 
			
		||||
			<td>{sms}</td>
 | 
			
		||||
			<td>{html_actions}</td>
 | 
			
		||||
			<td><a class="btn btn-small" href="index.php?mod=server&action=view&id={server_id}"><i class="icon-eye-open"></i></a>
 | 
			
		||||
				{html_actions}</td>
 | 
			
		||||
		</tr>
 | 
			
		||||
		<!--%%tpl_repeat_servers-->
 | 
			
		||||
		{servers}
 | 
			
		||||
| 
						 | 
				
			
			@ -50,7 +51,7 @@
 | 
			
		|||
<!--%%tpl_server_list_admin_actions-->
 | 
			
		||||
 | 
			
		||||
<!--%tpl_server_update-->
 | 
			
		||||
<form class="form-horizontal well" action="index.php?mod=server&action=save&id={edit_server_id}" method="post">
 | 
			
		||||
<form class="form-horizontal well" action="{url_save}" method="post">
 | 
			
		||||
	<fieldset>
 | 
			
		||||
		<legend>{titlemode}</legend>
 | 
			
		||||
		<div class="control-group">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,11 +1,11 @@
 | 
			
		|||
<!--%tpl_server_view-->
 | 
			
		||||
<table class="table">
 | 
			
		||||
<table class="table table-bordered">
 | 
			
		||||
	<colgroup>
 | 
			
		||||
		<col class="oce-first" />
 | 
			
		||||
	</colgroup>
 | 
			
		||||
	<thead>
 | 
			
		||||
		<tr class="head">
 | 
			
		||||
			<th colspan="2">{label}</th>
 | 
			
		||||
			<th colspan="2"><h4>{label}</h4></th>
 | 
			
		||||
		</tr>
 | 
			
		||||
	</thead>
 | 
			
		||||
	<tbody>
 | 
			
		||||
| 
						 | 
				
			
			@ -53,7 +53,22 @@
 | 
			
		|||
			<td>{label_send_sms}:</td>
 | 
			
		||||
			<td>{sms}</td>
 | 
			
		||||
		</tr>
 | 
			
		||||
		{html_actions}
 | 
			
		||||
	</tbody>
 | 
			
		||||
</table>
 | 
			
		||||
{html_history}
 | 
			
		||||
<!--%%tpl_server_view-->
 | 
			
		||||
<!--%%tpl_server_view-->
 | 
			
		||||
 | 
			
		||||
<!--%tpl_server_view_admin_actions-->
 | 
			
		||||
<tr>
 | 
			
		||||
	<td> </td>
 | 
			
		||||
	<td>
 | 
			
		||||
		<a class="btn btn-success" href="{url_edit}">
 | 
			
		||||
			<i class="icon-edit icon-white"></i> {label_edit}
 | 
			
		||||
		</a>
 | 
			
		||||
		<a class="btn btn-danger" href="javascript:sm_delete('{server_id}', 'server');">
 | 
			
		||||
			<i class="icon-remove icon-white"></i> {label_delete}
 | 
			
		||||
		</a>
 | 
			
		||||
	</td>
 | 
			
		||||
</tr>
 | 
			
		||||
<!--%%tpl_server_view_admin_actions-->
 | 
			
		||||
| 
						 | 
				
			
			@ -14,6 +14,22 @@ body {
 | 
			
		|||
.sidebar-nav {
 | 
			
		||||
	padding: 9px 0;
 | 
			
		||||
}
 | 
			
		||||
.sidebar-nav .btn {
 | 
			
		||||
	margin: 5px 0;
 | 
			
		||||
	min-width: 100px;
 | 
			
		||||
}
 | 
			
		||||
@media (max-width: 979px) {
 | 
			
		||||
	.sidebar-nav .nav-list {
 | 
			
		||||
		padding: 0;
 | 
			
		||||
	}
 | 
			
		||||
	.sidebar-nav li.nav-header {
 | 
			
		||||
		display: none;
 | 
			
		||||
	}
 | 
			
		||||
	.sidebar-nav li {
 | 
			
		||||
		float: left;
 | 
			
		||||
		margin-right: 15px;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
body.install{
 | 
			
		||||
    padding-top:20px;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,6 +14,10 @@ function psm_tooltips() {
 | 
			
		|||
	});
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function psm_goTo(url) {
 | 
			
		||||
	window.location = url;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function trim(str) {
 | 
			
		||||
    return str.replace(/^\s+|\s+$/g,"");
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue