From e5567bb465d9c5a7b12a5a9979988a226e667134 Mon Sep 17 00:00:00 2001 From: Pepijn Over Date: Fri, 10 Jan 2014 18:31:57 +0100 Subject: [PATCH] testing new folder structure, implementing namespaces, changing function prefix to match namespace. --- config.inc.php.sample | 74 ------------ cron/status.cron.php | 8 +- index.php | 9 +- install.php | 23 ++-- src/bootstrap.php | 57 +++++++++ .../includes/config.inc.php.sample | 19 +-- .../includes/functions.inc.php | 84 ++++--------- {lang => src/lang}/de.lang.php | 0 {lang => src/lang}/en.lang.php | 0 {lang => src/lang}/fr.lang.php | 0 {lang => src/lang}/kr.lang.php | 0 {lang => src/lang}/nl.lang.php | 0 .../psm/Database.class.php | 8 +- .../psm/Module/Config.class.php | 78 ++++++------ .../psm/Module/Core.class.php | 42 +++---- .../psm/Module/Log.class.php | 30 ++--- .../psm/Module/Servers.class.php | 60 +++++----- .../psm/Module/Status.class.php | 10 +- .../psm/Module/Users.class.php | 46 ++++---- .../psm/Template.class.php | 111 +----------------- .../psm/Txtmsg/Clickatell.class.php | 6 +- .../psm/Txtmsg/Core.class.php | 4 +- .../psm/Txtmsg/Inetworx.class.php | 4 +- .../psm/Txtmsg/Mollie.class.php | 4 +- .../psm/Txtmsg/Mosms.class.php | 4 +- .../psm/Txtmsg/Spryng.class.php | 4 +- .../psm/Txtmsg/TxtmsgInterface.class.php | 4 +- .../psm/UpdaterStatus.class.php | 65 +++++----- {tpl => src/templates}/config.tpl.html | 0 {tpl => src/templates}/install.tpl.html | 0 {tpl => src/templates}/log.tpl.html | 0 {tpl => src/templates}/main.tpl.html | 0 {tpl => src/templates}/servers.tpl.html | 0 {tpl => src/templates}/status.tpl.html | 0 {tpl => src/templates}/users.tpl.html | 0 {classes => vendor}/phpmailer.class.php | 0 36 files changed, 319 insertions(+), 435 deletions(-) delete mode 100755 config.inc.php.sample create mode 100755 src/bootstrap.php rename classes/sm/smCore.class.php => src/includes/config.inc.php.sample (79%) rename functions.inc.php => src/includes/functions.inc.php (76%) rename {lang => src/lang}/de.lang.php (100%) rename {lang => src/lang}/en.lang.php (100%) rename {lang => src/lang}/fr.lang.php (100%) rename {lang => src/lang}/kr.lang.php (100%) rename {lang => src/lang}/nl.lang.php (100%) rename classes/sm/smDatabase.class.php => src/psm/Database.class.php (98%) rename classes/mod/modConfig.class.php => src/psm/Module/Config.class.php (66%) rename classes/mod/modCore.class.php => src/psm/Module/Core.class.php (81%) rename classes/mod/modLog.class.php => src/psm/Module/Log.class.php (82%) rename classes/mod/modServers.class.php => src/psm/Module/Servers.class.php (77%) rename classes/mod/modStatus.class.php => src/psm/Module/Status.class.php (92%) rename classes/mod/modUsers.class.php => src/psm/Module/Users.class.php (81%) rename classes/sm/smTemplate.class.php => src/psm/Template.class.php (67%) rename classes/txtmsg/txtmsgClickatell.class.php => src/psm/Txtmsg/Clickatell.class.php (96%) rename classes/txtmsg/txtmsgCore.class.php => src/psm/Txtmsg/Core.class.php (96%) rename classes/txtmsg/txtmsgInetworx.class.php => src/psm/Txtmsg/Inetworx.class.php (98%) rename classes/txtmsg/txtmsgMollie.class.php => src/psm/Txtmsg/Mollie.class.php (98%) rename classes/txtmsg/txtmsgMosms.class.php => src/psm/Txtmsg/Mosms.class.php (97%) rename classes/txtmsg/txtmsgSpryng.class.php => src/psm/Txtmsg/Spryng.class.php (97%) rename classes/txtmsg/txtmsgInterface.class.php => src/psm/Txtmsg/TxtmsgInterface.class.php (96%) rename classes/sm/smUpdaterStatus.class.php => src/psm/UpdaterStatus.class.php (84%) rename {tpl => src/templates}/config.tpl.html (100%) rename {tpl => src/templates}/install.tpl.html (100%) rename {tpl => src/templates}/log.tpl.html (100%) rename {tpl => src/templates}/main.tpl.html (100%) rename {tpl => src/templates}/servers.tpl.html (100%) rename {tpl => src/templates}/status.tpl.html (100%) rename {tpl => src/templates}/users.tpl.html (100%) rename {classes => vendor}/phpmailer.class.php (100%) diff --git a/config.inc.php.sample b/config.inc.php.sample deleted file mode 100755 index a9c0ec47..00000000 --- a/config.inc.php.sample +++ /dev/null @@ -1,74 +0,0 @@ -. - * - * @package phpservermon - * @author Pepijn Over - * @copyright Copyright (c) 2008-2014 Pepijn Over - * @license http://www.gnu.org/licenses/gpl.txt GNU GPL v3 - * @version Release: @package_version@ - * @link http://phpservermon.neanderthal-technology.com/ - **/ - -######################################## -# -# START SERVER MONITOR CONFIGURATION -# -######################################## - -// Database information -// Prefix used for tables -define('SM_DB_PREFIX', 'monitor_'); -// Database username -define('SM_DB_USER', 'db_user'); -// Database password -define('SM_DB_PASS', 'db_pass'); -// Database name -define('SM_DB_NAME', 'db_name'); -// Database host -define('SM_DB_HOST', 'localhost'); - -######################################## -# -# END SERVER MONITOR CONFIGURATION -# -######################################## - -// Include paths -// Tell the script where to find the templates, css files and javascript files. -// If you haven't changed anything to the structure you should leave these unchanged -define('SM_PATH_TPL', 'tpl/'); -define('SM_PATH_CSS', 'inc/'); -define('SM_PATH_JS', 'inc/'); - -error_reporting(0); -ini_set('display_errors', 'Off'); - -require 'functions.inc.php'; -$db = new smDatabase(); - -sm_load_conf(); - -$lang = sm_get_conf('language'); - -if(!$lang) { - $lang = 'en'; -} -sm_load_lang($lang); - -?> \ No newline at end of file diff --git a/cron/status.cron.php b/cron/status.cron.php index d72e8a85..598373ef 100755 --- a/cron/status.cron.php +++ b/cron/status.cron.php @@ -26,16 +26,16 @@ **/ // include main configuration and functionality -require_once dirname(__FILE__) . '/../config.inc.php'; +require_once dirname(__FILE__) . '/../src/bootstrap.php'; // get the active servers from database $servers = $db->select( - SM_DB_PREFIX.'servers', + PSM_DB_PREFIX.'servers', array('active' => 'yes'), array('server_id', 'ip', 'port', 'label', 'type', 'status', 'active', 'email', 'sms') ); -$updater = new smUpdaterStatus(); +$updater = new \psm\UpdaterStatus(); foreach ($servers as $server) { $status_org = $server['status']; @@ -64,7 +64,7 @@ foreach ($servers as $server) { } $db->save( - SM_DB_PREFIX . 'servers', + PSM_DB_PREFIX . 'servers', $save, array('server_id' => $server['server_id']) ); diff --git a/index.php b/index.php index 21ed3175..8d4ad4cc 100755 --- a/index.php +++ b/index.php @@ -25,12 +25,9 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ -if(!file_exists('config.inc.php')) { - die('Failed to locate config file. Please read README.md for more information on how to setup PHP Server Monitor.'); -} -require_once 'config.inc.php'; +require 'src/bootstrap.php'; -sm_no_cache(); +psm_no_cache(); if(isset($_GET['action']) && $_GET['action'] == 'check') { require 'cron/status.cron.php'; @@ -45,7 +42,7 @@ if(!in_array($type, $allowed_types)) { $type = $allowed_types[0]; } -eval('$mod = new mod'.ucfirst($type).'();'); +eval('$mod = new psm\Module\\'.ucfirst($type).'();'); // let the module prepare it's HTML code $mod->createHTML(); diff --git a/install.php b/install.php index 79680f8c..12ed24d2 100755 --- a/install.php +++ b/install.php @@ -28,14 +28,13 @@ // this script creates all the database tables required for server monitor error_reporting(0x0ffffff); -require 'config.inc.php'; +require 'src/bootstrap.php'; if(!function_exists('curl_init')) { die('PHP is installed without the cURL module. Please install cURL first.'); } -$tpl = new smTemplate(); -$tpl->addCSS('monitor.css', 'install'); +$tpl = new psm\Template(); $tpl->newTemplate('install', 'install.tpl.html'); @@ -53,7 +52,7 @@ if(!is_resource($db->getLink())) { $tables = array( 'users' => array( - 0 => "CREATE TABLE `" . SM_DB_PREFIX . "users` ( + 0 => "CREATE TABLE `" . PSM_DB_PREFIX . "users` ( `user_id` int(11) NOT NULL auto_increment, `server_id` varchar(255) NOT NULL, `name` varchar(255) NOT NULL, @@ -61,11 +60,11 @@ $tables = array( `email` varchar(255) NOT NULL, PRIMARY KEY (`user_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;", - 1 => "INSERT INTO `" . SM_DB_PREFIX . "users` (`server_id`, `name`, `mobile`, `email`) VALUES ('1,2', 'example_user', '0123456789', 'user@example.com')" + 1 => "INSERT INTO `" . PSM_DB_PREFIX . "users` (`server_id`, `name`, `mobile`, `email`) VALUES ('1,2', 'example_user', '0123456789', 'user@example.com')" ), 'log' => array( - 0 => "CREATE TABLE `" . SM_DB_PREFIX . "log` ( + 0 => "CREATE TABLE `" . PSM_DB_PREFIX . "log` ( `log_id` int(11) NOT NULL auto_increment, `server_id` int(11) NOT NULL, `type` enum('status','email','sms') NOT NULL, @@ -77,7 +76,7 @@ $tables = array( ), 'servers' => array( - 0 => "CREATE TABLE `" . SM_DB_PREFIX . "servers` ( + 0 => "CREATE TABLE `" . PSM_DB_PREFIX . "servers` ( `server_id` int(11) NOT NULL auto_increment, `ip` varchar(100) NOT NULL, `port` int(5) NOT NULL, @@ -93,18 +92,18 @@ $tables = array( `sms` enum('yes','no') NOT NULL default 'no', PRIMARY KEY (`server_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;", - 1 => "INSERT INTO `" . SM_DB_PREFIX . "servers` (`ip`, `port`, `label`, `type`, `status`, `error`, `rtime`, `last_online`, `last_check`, `active`, `email`, `sms`) VALUES ('http://sourceforge.net/index.php', 80, 'SourceForge', 'website', 'on', '', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 'yes', 'yes', 'yes'), ('smtp.gmail.com', 465, 'Gmail SMTP', 'service', 'on', '', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 'yes', 'yes', 'yes')", + 1 => "INSERT INTO `" . PSM_DB_PREFIX . "servers` (`ip`, `port`, `label`, `type`, `status`, `error`, `rtime`, `last_online`, `last_check`, `active`, `email`, `sms`) VALUES ('http://sourceforge.net/index.php', 80, 'SourceForge', 'website', 'on', '', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 'yes', 'yes', 'yes'), ('smtp.gmail.com', 465, 'Gmail SMTP', 'service', 'on', '', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 'yes', 'yes', 'yes')", ), 'config' => array( - 0 => "CREATE TABLE `" . SM_DB_PREFIX . "config` ( + 0 => "CREATE TABLE `" . PSM_DB_PREFIX . "config` ( `config_id` int(11) NOT NULL AUTO_INCREMENT, `key` varchar(255) NOT NULL, `value` varchar(255) NOT NULL, PRIMARY KEY (`config_id`), KEY `key` (`key`(50)) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;", - 1 => "INSERT INTO `" . SM_DB_PREFIX . "config` (`config_id`, `key`, `value`) VALUES + 1 => "INSERT INTO `" . PSM_DB_PREFIX . "config` (`config_id`, `key`, `value`) VALUES (null, 'language', 'en'), (null, 'email_status', '1'), (null, 'email_from_email', 'monitor@example.org'), @@ -128,10 +127,10 @@ $tables = array( $result = array(); foreach($tables as $name => $queries) { - $if_table_exists = $db->query('SHOW TABLES LIKE \'' . SM_DB_PREFIX . $name.'\''); + $if_table_exists = $db->query('SHOW TABLES LIKE \'' . PSM_DB_PREFIX . $name.'\''); if(!empty($if_table_exists)) { - $message = 'Table ' . SM_DB_PREFIX . $name . ' already exists in your database!'; + $message = 'Table ' . PSM_DB_PREFIX . $name . ' already exists in your database!'; } else { $message = ''; diff --git a/src/bootstrap.php b/src/bootstrap.php new file mode 100755 index 00000000..9f46d547 --- /dev/null +++ b/src/bootstrap.php @@ -0,0 +1,57 @@ + \ No newline at end of file diff --git a/classes/sm/smCore.class.php b/src/includes/config.inc.php.sample similarity index 79% rename from classes/sm/smCore.class.php rename to src/includes/config.inc.php.sample index 58f1dfd8..40cdca56 100755 --- a/classes/sm/smCore.class.php +++ b/src/includes/config.inc.php.sample @@ -25,13 +25,16 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ -abstract class smCore { - public $db; - - function __construct() { - // add database handler - $this->db = $GLOBALS['db']; - } -} +define('SM_CONFIG', true); +// Prefix used for tables +define('SM_DB_PREFIX', 'monitor_'); +// Database username +define('SM_DB_USER', 'db_user'); +// Database password +define('SM_DB_PASS', 'db_pass'); +// Database name +define('SM_DB_NAME', 'db_name'); +// Database host +define('SM_DB_HOST', 'localhost'); ?> \ No newline at end of file diff --git a/functions.inc.php b/src/includes/functions.inc.php similarity index 76% rename from functions.inc.php rename to src/includes/functions.inc.php index f7a333ad..a65ef9dc 100755 --- a/functions.inc.php +++ b/src/includes/functions.inc.php @@ -25,38 +25,6 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ -/** - * - * Autoload - * - */ -function __autoload($class) { - // first check if a subdir exists for the class - // it splits using uppercase chars - preg_match_all("/(\P{Lu}+)|(\p{Lu}+\P{Lu}*)/", $class, $subdir_matches); - - if(!empty($subdir_matches) && count($subdir_matches[0]) > 1) { - // okay we have some upper case, lets see if a dir exists - $dir = dirname(__FILE__) . '/classes/' . trim($subdir_matches[0][0]); - $file = $dir . '/' . trim($class) . '.class.php'; - - if(is_dir($dir) && file_exists($file)) { - require $file; - return $file; - } - } else { - $file = dirname(__FILE__).'/classes/'.trim(strtolower($class)).'.class.php'; - - if(file_exists($file)){ - require $file; - return $file; - } - } - - trigger_error("KERNEL_ERR : Unable to find file:\n\t\t[$file]\n\t associated with class:\n\t\t$class", E_USER_ERROR); - return false; -} - ############################################### # # Language functions @@ -67,9 +35,9 @@ function __autoload($class) { * Retrieve language settings from the selected language file * * @return string - * @see sm_load_lang() + * @see psm_load_lang() */ -function sm_get_lang() { +function psm_get_lang() { $args = func_get_args(); if(empty($args)) return $GLOBALS['sm_lang']; @@ -89,10 +57,10 @@ function sm_get_lang() { * Load language from the language file to the $GLOBALS['sm_lang'] variable * * @param string $lang language - * @see sm_get_lang() + * @see psm_get_lang() */ -function sm_load_lang($lang) { - $lang_file = dirname(__FILE__) . '/lang/' . $lang . '.lang.php'; +function psm_load_lang($lang) { + $lang_file = PSM_PATH_LANG . $lang . '.lang.php'; if(!file_exists($lang_file)) { die('unable to load language file: ' . $lang_file); @@ -107,11 +75,11 @@ function sm_load_lang($lang) { * Retrieve a list with keys of the available languages * * @return array - * @see sm_load_lang() + * @see psm_load_lang() */ -function sm_get_langs() { +function psm_get_langs() { $fn_ext = '.lang.php'; - $lang_files = glob(dirname(__FILE__) . '/lang/*' . $fn_ext); + $lang_files = glob(PSM_PATH_LANG . '*' . $fn_ext); $langs = array(); foreach($lang_files as $file) { @@ -122,13 +90,13 @@ function sm_get_langs() { /** * Get a setting from the config. - * The config must have been loaded first using sm_load_conf() + * The config must have been loaded first using psm_load_conf() * * @param string $key * @return string - * @see sm_load_conf() + * @see psm_load_conf() */ -function sm_get_conf($key) { +function psm_get_conf($key) { $result = (isset($GLOBALS['sm_config'][$key])) ? $GLOBALS['sm_config'][$key] : null; return $result; @@ -138,14 +106,14 @@ function sm_get_conf($key) { * Load config from the database to the $GLOBALS['sm_config'] variable * * @global object $db - * @see sm_get_conf() + * @see psm_get_conf() */ -function sm_load_conf() { +function psm_load_conf() { global $db; // load config from database into global scope $GLOBALS['sm_config'] = array(); - $config_db = $db->select(SM_DB_PREFIX . 'config', null, array('key', 'value')); + $config_db = $db->select(PSM_DB_PREFIX . 'config', null, array('key', 'value')); foreach($config_db as $setting) { $GLOBALS['sm_config'][$setting['key']] = $setting['value']; } @@ -170,11 +138,11 @@ function sm_load_conf() { * @param string $server_id * @param string $message */ -function sm_add_log($server_id, $type, $message, $user_id = null) { +function psm_add_log($server_id, $type, $message, $user_id = null) { global $db; $db->save( - SM_DB_PREFIX.'log', + PSM_DB_PREFIX.'log', array( 'server_id' => $server_id, 'type' => $type, @@ -192,10 +160,10 @@ function sm_add_log($server_id, $type, $message, $user_id = null) { * @param array $server information about the server which may be placed in a message: %KEY% will be replaced by your value * @return string parsed message */ -function sm_parse_msg($status, $type, $vars) { +function psm_parse_msg($status, $type, $vars) { $message = ''; - $message = sm_get_lang('notifications', $status . '_' . $type); + $message = psm_get_lang('notifications', $status . '_' . $type); if(!$message) { return $message; @@ -215,7 +183,7 @@ function sm_parse_msg($status, $type, $vars) { * @param string $href * @return string cURL result */ -function sm_curl_get($href) { +function psm_curl_get($href) { $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); @@ -236,7 +204,7 @@ function sm_curl_get($href) { * @return string * @todo add translation to timespan messages */ -function sm_timespan($time) { +function psm_timespan($time) { if ($time !== intval($time)) { $time = strtotime($time); } $d = time() - $time; if ($time < strtotime(date('Y-m-d 00:00:00')) - 60*60*24*3) { @@ -266,17 +234,17 @@ function sm_timespan($time) { * @global object $db * @return boolean */ -function sm_check_updates() { +function psm_check_updates() { global $db; - $last_update = sm_get_conf('last_update_check'); + $last_update = psm_get_conf('last_update_check'); if((time() - (7 * 24 * 60 * 60)) > $last_update) { // been more than a week since update, lets go // update "update-date" - $db->save(SM_DB_PREFIX . 'config', array('value' => time()), array('key' => 'last_update_check')); - $latest = sm_curl_get('http://phpservermon.neanderthal-technology.com/version'); - $current = sm_get_conf('version'); + $db->save(PSM_DB_PREFIX . 'config', array('value' => time()), array('key' => 'last_update_check')); + $latest = psm_curl_get('http://phpservermon.neanderthal-technology.com/version'); + $current = psm_get_conf('version'); if((int) $current < (int) $latest) { // new update available @@ -307,7 +275,7 @@ function pre($arr = null) { /** * Send headers to the browser to avoid caching */ -function sm_no_cache() { +function psm_no_cache() { header("Expires: Mon, 20 Dec 1998 01:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-cache, must-revalidate"); diff --git a/lang/de.lang.php b/src/lang/de.lang.php similarity index 100% rename from lang/de.lang.php rename to src/lang/de.lang.php diff --git a/lang/en.lang.php b/src/lang/en.lang.php similarity index 100% rename from lang/en.lang.php rename to src/lang/en.lang.php diff --git a/lang/fr.lang.php b/src/lang/fr.lang.php similarity index 100% rename from lang/fr.lang.php rename to src/lang/fr.lang.php diff --git a/lang/kr.lang.php b/src/lang/kr.lang.php similarity index 100% rename from lang/kr.lang.php rename to src/lang/kr.lang.php diff --git a/lang/nl.lang.php b/src/lang/nl.lang.php similarity index 100% rename from lang/nl.lang.php rename to src/lang/nl.lang.php diff --git a/classes/sm/smDatabase.class.php b/src/psm/Database.class.php similarity index 98% rename from classes/sm/smDatabase.class.php rename to src/psm/Database.class.php index 80c7bc43..3e3d6e87 100755 --- a/classes/sm/smDatabase.class.php +++ b/src/psm/Database.class.php @@ -25,7 +25,9 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ -class smDatabase { +namespace psm; + +class Database { protected $debug = array(); protected $last_inserted_id; @@ -35,9 +37,9 @@ class smDatabase { function __construct() { // Initizale connection - $this->link = mysql_connect(SM_DB_HOST, SM_DB_USER, SM_DB_PASS); + $this->link = mysql_connect(PSM_DB_HOST, PSM_DB_USER, PSM_DB_PASS); - if (!mysql_select_db(SM_DB_NAME, $this->link)) { + if (!mysql_select_db(PSM_DB_NAME, $this->link)) { trigger_error(mysql_errno() . ": " . mysql_error()); } diff --git a/classes/mod/modConfig.class.php b/src/psm/Module/Config.class.php similarity index 66% rename from classes/mod/modConfig.class.php rename to src/psm/Module/Config.class.php index 15e97824..cbc0ee93 100755 --- a/classes/mod/modConfig.class.php +++ b/src/psm/Module/Config.class.php @@ -25,7 +25,9 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ -class modConfig extends modCore { +namespace psm\Module; + +class Config extends Core { function __construct() { parent::__construct(); @@ -49,7 +51,7 @@ class modConfig extends modCore { */ public function populateFields() { $config_db = $this->db->select( - SM_DB_PREFIX . 'config', + PSM_DB_PREFIX . 'config', null, array('key', 'value') ); @@ -60,10 +62,10 @@ class modConfig extends modCore { } // generate language array - $lang_keys = sm_get_langs(); + $lang_keys = psm_get_langs(); $languages = array(); foreach($lang_keys as $key) { - $label = sm_get_lang('config', 'language_' . $key); + $label = psm_get_lang('config', 'language_' . $key); // if we don't have a proper label, just show the key.. // better something than nothing huh if($label == null) { @@ -125,10 +127,10 @@ class modConfig extends modCore { // save all values to the database foreach($clean as $key => $value) { // check if key already exists, otherwise add it - if(sm_get_conf($key) === null) { + if(psm_get_conf($key) === null) { // not yet set, add it $this->db->save( - SM_DB_PREFIX . 'config', + PSM_DB_PREFIX . 'config', array( 'key' => $key, 'value' => $value, @@ -137,16 +139,16 @@ class modConfig extends modCore { } else { // update $this->db->save( - SM_DB_PREFIX . 'config', + PSM_DB_PREFIX . 'config', array('value' => $value), array('key' => $key) ); } } - $this->message = sm_get_lang('config', 'updated'); + $this->message = psm_get_lang('config', 'updated'); - if($clean['language'] != sm_get_conf('language')) { + if($clean['language'] != psm_get_conf('language')) { header('Location: ' . $_SERVER['REQUEST_URI']); die(); } @@ -157,35 +159,35 @@ class modConfig extends modCore { $this->tpl->addTemplateData( $this->getTemplateId(), array( - 'label_settings_email' => sm_get_lang('config', 'settings_email'), - 'label_settings_sms' => sm_get_lang('config', 'settings_sms'), - 'label_settings_notification' => sm_get_lang('config', 'settings_notification'), - 'label_settings_log' => sm_get_lang('config', 'settings_log'), - 'label_general' => sm_get_lang('config', 'general'), - 'label_language' => sm_get_lang('config', 'language'), - 'label_show_update' => sm_get_lang('config', 'show_update'), - 'label_email_status' => sm_get_lang('config', 'email_status'), - 'label_email_from_email' => sm_get_lang('config', 'email_from_email'), - 'label_email_from_name' => sm_get_lang('config', 'email_from_name'), - 'label_sms_status' => sm_get_lang('config', 'sms_status'), - 'label_sms_gateway' => sm_get_lang('config', 'sms_gateway'), - 'label_sms_gateway_mosms' => sm_get_lang('config', 'sms_gateway_mosms'), - 'label_sms_gateway_mollie' => sm_get_lang('config', 'sms_gateway_mollie'), - 'label_sms_gateway_spryng' => sm_get_lang('config', 'sms_gateway_spryng'), - 'label_sms_gateway_inetworx' => sm_get_lang('config', 'sms_gateway_inetworx'), - 'label_sms_gateway_clickatell' => sm_get_lang('config', 'sms_gateway_clickatell'), - 'label_sms_gateway_username' => sm_get_lang('config', 'sms_gateway_username'), - 'label_sms_gateway_password' => sm_get_lang('config', 'sms_gateway_password'), - 'label_sms_from' => sm_get_lang('config', 'sms_from'), - 'label_alert_type' => sm_get_lang('config', 'alert_type'), - 'label_alert_type_description' => sm_get_lang('config', 'alert_type_description'), - 'label_alert_type_status' => sm_get_lang('config', 'alert_type_status'), - 'label_alert_type_offline' => sm_get_lang('config', 'alert_type_offline'), - 'label_alert_type_always' => sm_get_lang('config', 'alert_type_always'), - 'label_log_status' => sm_get_lang('config', 'log_status'), - 'label_log_email' => sm_get_lang('config', 'log_email'), - 'label_log_sms' => sm_get_lang('config', 'log_sms'), - 'label_auto_refresh_servers' => sm_get_lang('config', 'auto_refresh_servers'), + 'label_settings_email' => psm_get_lang('config', 'settings_email'), + 'label_settings_sms' => psm_get_lang('config', 'settings_sms'), + 'label_settings_notification' => psm_get_lang('config', 'settings_notification'), + 'label_settings_log' => psm_get_lang('config', 'settings_log'), + 'label_general' => psm_get_lang('config', 'general'), + 'label_language' => psm_get_lang('config', 'language'), + 'label_show_update' => psm_get_lang('config', 'show_update'), + 'label_email_status' => psm_get_lang('config', 'email_status'), + 'label_email_from_email' => psm_get_lang('config', 'email_from_email'), + 'label_email_from_name' => psm_get_lang('config', 'email_from_name'), + 'label_sms_status' => psm_get_lang('config', 'sms_status'), + 'label_sms_gateway' => psm_get_lang('config', 'sms_gateway'), + 'label_sms_gateway_mosms' => psm_get_lang('config', 'sms_gateway_mosms'), + 'label_sms_gateway_mollie' => psm_get_lang('config', 'sms_gateway_mollie'), + 'label_sms_gateway_spryng' => psm_get_lang('config', 'sms_gateway_spryng'), + 'label_sms_gateway_inetworx' => psm_get_lang('config', 'sms_gateway_inetworx'), + 'label_sms_gateway_clickatell' => psm_get_lang('config', 'sms_gateway_clickatell'), + 'label_sms_gateway_username' => psm_get_lang('config', 'sms_gateway_username'), + 'label_sms_gateway_password' => psm_get_lang('config', 'sms_gateway_password'), + 'label_sms_from' => psm_get_lang('config', 'sms_from'), + 'label_alert_type' => psm_get_lang('config', 'alert_type'), + 'label_alert_type_description' => psm_get_lang('config', 'alert_type_description'), + 'label_alert_type_status' => psm_get_lang('config', 'alert_type_status'), + 'label_alert_type_offline' => psm_get_lang('config', 'alert_type_offline'), + 'label_alert_type_always' => psm_get_lang('config', 'alert_type_always'), + 'label_log_status' => psm_get_lang('config', 'log_status'), + 'label_log_email' => psm_get_lang('config', 'log_email'), + 'label_log_sms' => psm_get_lang('config', 'log_sms'), + 'label_auto_refresh_servers' => psm_get_lang('config', 'auto_refresh_servers'), ) ); diff --git a/classes/mod/modCore.class.php b/src/psm/Module/Core.class.php similarity index 81% rename from classes/mod/modCore.class.php rename to src/psm/Module/Core.class.php index 10e50677..32e202e7 100755 --- a/classes/mod/modCore.class.php +++ b/src/psm/Module/Core.class.php @@ -25,17 +25,19 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ -abstract class modCore { +namespace psm\Module; + +abstract class Core { /** * Custom message - * @var string + * @var string $message */ public $message; /** * Current mode. Can be used by modules to determine * what to do - * @var string + * @var string $mode */ public $mode; @@ -47,13 +49,13 @@ abstract class modCore { /** * smDatabase object - * @var object + * @var object $db */ protected $db; /** - * smTemplate object - * @var object + * \psm\Template object + * @var object $tpl */ protected $tpl; @@ -67,8 +69,8 @@ abstract class modCore { function __construct() { global $db; - $this->db = ($db) ? $db : new smDatabase(); - $this->tpl = new smTemplate(); + $this->db = ($db) ? $db : new \psm\Database(); + $this->tpl = new \psm\Template(); } @@ -87,7 +89,7 @@ abstract class modCore { $html_footer = ''; } - if(sm_get_conf('show_update')) { + if(psm_get_conf('show_update')) { // user wants updates, lets see what we can do $this->createHTMLUpdateAvailable(); } @@ -101,7 +103,7 @@ abstract class modCore { 'content' => $this->tpl->getTemplate($this->getTemplateId()), 'message' => ($this->message == '') ? ' ' : $this->message, 'html_footer' => $html_footer, - 'label_back_to_top' => sm_get_lang('system', 'back_to_top'), + 'label_back_to_top' => psm_get_lang('system', 'back_to_top'), ) ); @@ -116,12 +118,12 @@ abstract class modCore { protected function createHTMLUpdateAvailable() { // check for updates? - if(sm_check_updates()) { + if(psm_check_updates()) { // yay, new update available =D $this->tpl->addTemplateData( 'main', array( - 'update_available' => '
'.sm_get_lang('system', 'update_available').'
', + 'update_available' => '
'.psm_get_lang('system', 'update_available').'
', ) ); } @@ -138,15 +140,15 @@ abstract class modCore { $this->tpl->addTemplateData( 'main', array( - 'title' => strtoupper(sm_get_lang('system', 'title')), - 'subtitle' => sm_get_lang('system', $type), + 'title' => strtoupper(psm_get_lang('system', 'title')), + 'subtitle' => psm_get_lang('system', $type), 'active_' . $type => 'active', - 'label_servers' => sm_get_lang('system', 'servers'), - 'label_users' => sm_get_lang('system', 'users'), - 'label_log' => sm_get_lang('system', 'log'), - 'label_config' => sm_get_lang('system', 'config'), - 'label_update' => sm_get_lang('system', 'update'), - 'label_help' => sm_get_lang('system', 'help'), + 'label_servers' => psm_get_lang('system', 'servers'), + 'label_users' => psm_get_lang('system', 'users'), + 'label_log' => psm_get_lang('system', 'log'), + 'label_config' => psm_get_lang('system', 'config'), + 'label_update' => psm_get_lang('system', 'update'), + 'label_help' => psm_get_lang('system', 'help'), ) ); } diff --git a/classes/mod/modLog.class.php b/src/psm/Module/Log.class.php similarity index 82% rename from classes/mod/modLog.class.php rename to src/psm/Module/Log.class.php index 515a74a1..2f05c10b 100755 --- a/classes/mod/modLog.class.php +++ b/src/psm/Module/Log.class.php @@ -25,10 +25,12 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ +namespace psm\Module; + /** * Log module. Create the page to view previous log messages */ -class modLog extends modCore { +class Log extends Core { function __construct() { parent::__construct(); @@ -36,8 +38,6 @@ class modLog extends modCore { // override parent::createHTML() public function createHTML() { - $this->tpl->addCSS('tabs.css', 'main'); - $this->createHTMLList(); return parent::createHTML(); @@ -55,7 +55,7 @@ class modLog extends modCore { $entries['sms'] = $this->getEntries('sms'); // get users - $users = $this->db->select(SM_DB_PREFIX.'users', null, array('user_id','name')); + $users = $this->db->select(PSM_DB_PREFIX.'users', null, array('user_id','name')); $users_labels = array(); foreach ($users as $user) { @@ -122,8 +122,8 @@ class modLog extends modCore { '\'%H:%i:%s %d-%m-%y\''. ') AS `datetime_format`, '. '`user_id` '. - 'FROM `'.SM_DB_PREFIX.'log` AS `log` '. - 'JOIN `'.SM_DB_PREFIX.'servers` AS `servers` ON (`servers`.`server_id`=`log`.`server_id`) '. + 'FROM `'.PSM_DB_PREFIX.'log` AS `log` '. + 'JOIN `'.PSM_DB_PREFIX.'servers` AS `servers` ON (`servers`.`server_id`=`log`.`server_id`) '. 'WHERE `log`.`type`=\''.$type.'\' '. 'ORDER BY `datetime` DESC '. 'LIMIT 0,20' @@ -136,15 +136,15 @@ class modLog extends modCore { $this->tpl->addTemplateData( $this->getTemplateId(), array( - 'label_status' => sm_get_lang('log', 'status'), - 'label_email' => sm_get_lang('log', 'email'), - 'label_sms' => sm_get_lang('log', 'sms'), - 'label_title' => sm_get_lang('log', 'title'), - 'label_server' => sm_get_lang('servers', 'server'), - 'label_type' => sm_get_lang('log', 'type'), - 'label_message' => sm_get_lang('system', 'message'), - 'label_date' => sm_get_lang('system', 'date'), - 'label_users' => ucfirst(sm_get_lang('system', 'users')), + 'label_status' => psm_get_lang('log', 'status'), + 'label_email' => psm_get_lang('log', 'email'), + 'label_sms' => psm_get_lang('log', 'sms'), + 'label_title' => psm_get_lang('log', 'title'), + 'label_server' => psm_get_lang('servers', 'server'), + 'label_type' => psm_get_lang('log', 'type'), + 'label_message' => psm_get_lang('system', 'message'), + 'label_date' => psm_get_lang('system', 'date'), + 'label_users' => ucfirst(psm_get_lang('system', 'users')), ) ); diff --git a/classes/mod/modServers.class.php b/src/psm/Module/Servers.class.php similarity index 77% rename from classes/mod/modServers.class.php rename to src/psm/Module/Servers.class.php index 0bb7aed8..c1114e31 100755 --- a/classes/mod/modServers.class.php +++ b/src/psm/Module/Servers.class.php @@ -25,10 +25,12 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ +namespace psm\Module; + /** * Server module. Add/edit/delete servers, show a list of all servers etc. */ -class modServers extends modCore { +class Servers extends Core { function __construct() { parent::__construct(); @@ -76,7 +78,7 @@ class modServers extends modCore { switch(intval($server_id)) { case 0: // insert mode - $tpl_data['titlemode'] = sm_get_lang('system', 'insert'); + $tpl_data['titlemode'] = psm_get_lang('system', 'insert'); $tpl_data['edit_server_id'] = '0'; break; default: @@ -84,7 +86,7 @@ class modServers extends modCore { // get server entry $edit_server = $this->db->selectRow( - SM_DB_PREFIX.'servers', + PSM_DB_PREFIX.'servers', array('server_id' => $server_id) ); if (empty($edit_server)) { @@ -93,7 +95,7 @@ class modServers extends modCore { } $tpl_data = array_merge($tpl_data, array( - 'titlemode' => sm_get_lang('system', 'edit') . ' ' . $edit_server['label'], + 'titlemode' => psm_get_lang('system', 'edit') . ' ' . $edit_server['label'], 'edit_server_id' => $edit_server['server_id'], 'edit_value_label' => $edit_server['label'], 'edit_value_ip' => $edit_server['ip'], @@ -143,7 +145,7 @@ class modServers extends modCore { '`active`, '. '`email`, '. '`sms` '. - 'FROM `'.SM_DB_PREFIX.'servers` '. + 'FROM `'.PSM_DB_PREFIX.'servers` '. 'ORDER BY `active` ASC, `status` DESC, `type` ASC, `label` ASC' ); @@ -162,7 +164,7 @@ class modServers extends modCore { $this->tpl->addTemplateDataRepeat($this->getTemplateId(), 'servers', $servers); // check if we need to add the auto refresh - $auto_refresh = sm_get_conf('auto_refresh_servers'); + $auto_refresh = psm_get_conf('auto_refresh_servers'); if(intval($auto_refresh) > 0) { // add it $this->tpl->newTemplate('main_auto_refresh', 'main.tpl.html'); @@ -192,16 +194,16 @@ class modServers extends modCore { if ((int) $_POST['server_id'] > 0) { // edit $this->db->save( - SM_DB_PREFIX.'servers', + PSM_DB_PREFIX.'servers', $clean, array('server_id' => $_POST['server_id']) ); - $this->message = sm_get_lang('servers', 'updated'); + $this->message = psm_get_lang('servers', 'updated'); } else { // add $clean['status'] = 'on'; - $this->db->save(SM_DB_PREFIX.'servers', $clean); - $this->message = sm_get_lang('servers', 'inserted'); + $this->db->save(PSM_DB_PREFIX.'servers', $clean); + $this->message = psm_get_lang('servers', 'inserted'); } } } @@ -212,12 +214,12 @@ class modServers extends modCore { protected function executeDelete() { // do delete $this->db->delete( - SM_DB_PREFIX . 'servers', + PSM_DB_PREFIX . 'servers', array( 'server_id' => $_GET['delete'] ) ); - $this->message = sm_get_lang('system', 'deleted'); + $this->message = psm_get_lang('system', 'deleted'); } // override parent::createHTMLLabels() @@ -225,23 +227,23 @@ class modServers extends modCore { $this->tpl->addTemplateData( $this->getTemplateId(), array( - 'label_label' => sm_get_lang('servers', 'label'), - 'label_domain' => sm_get_lang('servers', 'domain'), - 'label_port' => sm_get_lang('servers', 'port'), - 'label_type' => sm_get_lang('servers', 'type'), - 'label_last_check' => sm_get_lang('servers', 'last_check'), - 'label_rtime' => sm_get_lang('servers', 'rtime'), - 'label_last_online' => sm_get_lang('servers', 'last_online'), - 'label_monitoring' => sm_get_lang('servers', 'monitoring'), - 'label_send_email' => sm_get_lang('servers', 'send_email'), - 'label_send_sms' => sm_get_lang('servers', 'send_sms'), - 'label_action' => sm_get_lang('system', 'action'), - 'label_save' => sm_get_lang('system', 'save'), - 'label_edit' => sm_get_lang('system', 'edit') . ' ' . sm_get_lang('servers', 'server'), - 'label_delete' => sm_get_lang('system', 'delete') . ' ' . sm_get_lang('servers', 'server'), - 'label_yes' => sm_get_lang('system', 'yes'), - 'label_no' => sm_get_lang('system', 'no'), - 'label_add_new' => sm_get_lang('system', 'add_new'), + 'label_label' => psm_get_lang('servers', 'label'), + 'label_domain' => psm_get_lang('servers', 'domain'), + 'label_port' => psm_get_lang('servers', 'port'), + 'label_type' => psm_get_lang('servers', 'type'), + 'label_last_check' => psm_get_lang('servers', 'last_check'), + 'label_rtime' => psm_get_lang('servers', 'rtime'), + 'label_last_online' => psm_get_lang('servers', 'last_online'), + 'label_monitoring' => psm_get_lang('servers', 'monitoring'), + 'label_send_email' => psm_get_lang('servers', 'send_email'), + 'label_send_sms' => psm_get_lang('servers', 'send_sms'), + 'label_action' => psm_get_lang('system', 'action'), + 'label_save' => psm_get_lang('system', 'save'), + '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_yes' => psm_get_lang('system', 'yes'), + 'label_no' => psm_get_lang('system', 'no'), + 'label_add_new' => psm_get_lang('system', 'add_new'), ) ); diff --git a/classes/mod/modStatus.class.php b/src/psm/Module/Status.class.php similarity index 92% rename from classes/mod/modStatus.class.php rename to src/psm/Module/Status.class.php index 44ece599..cdf6a54c 100755 --- a/classes/mod/modStatus.class.php +++ b/src/psm/Module/Status.class.php @@ -26,10 +26,12 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ +namespace psm\Module; + /** * Status module */ -class modStatus extends modCore { +class Status extends Core { function __construct() { parent::__construct(); @@ -52,7 +54,7 @@ class modStatus extends modCore { // get the active servers from database $servers = $this->db->select( - SM_DB_PREFIX.'servers', + PSM_DB_PREFIX.'servers', array('active' => 'yes'), array('server_id', 'label', 'status', 'last_online', 'last_check', 'rtime') ); @@ -70,8 +72,8 @@ class modStatus extends modCore { $this->tpl->addTemplateData($this->getTemplateId(), $tpl_data); foreach ($servers as $server) { - $server['last_checked_nice'] = sm_timespan($server['last_check']); - $server['last_online_nice'] = sm_timespan($server['last_online']); + $server['last_checked_nice'] = psm_timespan($server['last_check']); + $server['last_online_nice'] = psm_timespan($server['last_online']); if ($server['status'] == "off") { $offline[$server['server_id']] = $server; diff --git a/classes/mod/modUsers.class.php b/src/psm/Module/Users.class.php similarity index 81% rename from classes/mod/modUsers.class.php rename to src/psm/Module/Users.class.php index 8995c304..78dfb5df 100755 --- a/classes/mod/modUsers.class.php +++ b/src/psm/Module/Users.class.php @@ -25,11 +25,13 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ +namespace psm\Module; + /** * User module. Add, edit and delete users, or assign * servers to users. */ -class modUsers extends modCore { +class Users extends Core { public $servers; function __construct() { @@ -50,7 +52,7 @@ class modUsers extends modCore { } } - $this->servers = $this->db->select(SM_DB_PREFIX.'servers', null, array('server_id', 'label')); + $this->servers = $this->db->select(PSM_DB_PREFIX.'servers', null, array('server_id', 'label')); } // override parent::createHTML() @@ -81,7 +83,7 @@ class modUsers extends modCore { switch((int) $user_id) { case 0: // insert mode - $tpl_data['titlemode'] = sm_get_lang('system', 'insert'); + $tpl_data['titlemode'] = psm_get_lang('system', 'insert'); $tpl_data['edit_user_id'] = '0'; // add inactive class to all servers @@ -95,7 +97,7 @@ class modUsers extends modCore { // get user entry $edit_user = $this->db->selectRow( - SM_DB_PREFIX.'users', + PSM_DB_PREFIX.'users', array('user_id' => $user_id) ); if (empty($edit_user)) { @@ -104,7 +106,7 @@ class modUsers extends modCore { } $tpl_data = array_merge($tpl_data, array( - 'titlemode' => sm_get_lang('system', 'edit') . ' ' . $edit_user['name'], + 'titlemode' => psm_get_lang('system', 'edit') . ' ' . $edit_user['name'], 'edit_user_id' => $edit_user['user_id'], 'edit_value_name' => $edit_user['name'], 'edit_value_mobile' => $edit_user['mobile'], @@ -146,7 +148,7 @@ class modUsers extends modCore { // get users from database $users = $this->db->select( - SM_DB_PREFIX.'users', + PSM_DB_PREFIX.'users', null, null, null, @@ -193,15 +195,15 @@ class modUsers extends modCore { if ((int) $_POST['user_id'] > 0) { // edit $this->db->save( - SM_DB_PREFIX.'users', + PSM_DB_PREFIX.'users', $clean, array('user_id' => $_POST['user_id']) ); - $this->message = sm_get_lang('users', 'updated'); + $this->message = psm_get_lang('users', 'updated'); } else { // add - $this->db->save(SM_DB_PREFIX.'users', $clean); - $this->message = sm_get_lang('users', 'inserted'); + $this->db->save(PSM_DB_PREFIX.'users', $clean); + $this->message = psm_get_lang('users', 'inserted'); } } } @@ -212,12 +214,12 @@ class modUsers extends modCore { protected function executeDelete() { // do delete $this->db->delete( - SM_DB_PREFIX . 'users', + PSM_DB_PREFIX . 'users', array( 'user_id' => $_GET['delete'] ) ); - $this->message = sm_get_lang('system', 'deleted'); + $this->message = psm_get_lang('system', 'deleted'); } // override parent::createHTMLLabels() @@ -225,16 +227,16 @@ class modUsers extends modCore { $this->tpl->addTemplateData( $this->getTemplateId(), array( - 'label_users' => sm_get_lang('system', 'users'), - 'label_name' => sm_get_lang('users', 'name'), - 'label_mobile' => sm_get_lang('users', 'mobile'), - 'label_email' => sm_get_lang('users', 'email'), - 'label_servers' => sm_get_lang('system', 'servers'), - 'label_action' => sm_get_lang('system', 'action'), - 'label_save' => sm_get_lang('system', 'save'), - 'label_edit' => sm_get_lang('system', 'edit') . ' ' . sm_get_lang('users', 'user'), - 'label_delete' => sm_get_lang('system', 'delete') . ' ' . sm_get_lang('users', 'user'), - 'label_add_new' => sm_get_lang('system', 'add_new'), + 'label_users' => psm_get_lang('system', 'users'), + 'label_name' => psm_get_lang('users', 'name'), + 'label_mobile' => psm_get_lang('users', 'mobile'), + 'label_email' => psm_get_lang('users', 'email'), + 'label_servers' => psm_get_lang('system', 'servers'), + 'label_action' => psm_get_lang('system', 'action'), + 'label_save' => psm_get_lang('system', 'save'), + 'label_edit' => psm_get_lang('system', 'edit') . ' ' . psm_get_lang('users', 'user'), + 'label_delete' => psm_get_lang('system', 'delete') . ' ' . psm_get_lang('users', 'user'), + 'label_add_new' => psm_get_lang('system', 'add_new'), ) ); diff --git a/classes/sm/smTemplate.class.php b/src/psm/Template.class.php similarity index 67% rename from classes/sm/smTemplate.class.php rename to src/psm/Template.class.php index bcbd6da7..efc63787 100755 --- a/classes/sm/smTemplate.class.php +++ b/src/psm/Template.class.php @@ -25,9 +25,9 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ -class smTemplate { - protected $css_files = array(); - protected $js_files = array(); +namespace psm; + +class Template { protected $output; protected $templates = array(); @@ -46,8 +46,8 @@ class smTemplate { public function newTemplate($id, $filename) { if (file_exists($filename)) { $this->templates[$id] = $this->parseFile($filename); - } elseif (file_exists(SM_PATH_TPL.$filename)) { - $this->templates[$id] = $this->parseFile(SM_PATH_TPL.$filename); + } elseif (file_exists(PSM_PATH_TPL.$filename)) { + $this->templates[$id] = $this->parseFile(PSM_PATH_TPL.$filename); } else { // file does not exist trigger_error('Template not found with id: '.$id.' and filename: '.$filename); @@ -159,9 +159,6 @@ class smTemplate { // check for tpl variables that have not been replaced. ie: {name}. ignore literal stuff, though. ie: {{name}} is {name} and should not be removed preg_match_all('~{?{(.+?)}}?~', $result, $matches); - // add css and javascript files to header - $result = $this->addHeaderFiles($id, $result); - foreach($matches[0] as $match) { if (substr($match, 0, 2) == '{{') { // literal! remove only first and last bracket! @@ -174,48 +171,6 @@ class smTemplate { return $result; } - /** - * Adds a css file to the list which will be added to the template when display() is called - * - * @param string $template_id - * @param string $filename - * @param string $path uses default set in config if non specified - */ - public function addCSS($filename, $template_id = 'main', $path = SM_PATH_CSS) { - if (!isset($this->css_files[$template_id])) { - $this->css_files[$template_id] = array(); - } - - // if file doesn't exist we assume it's inline - $type = (file_exists($path.$filename)) ? 'file' : 'inline'; - - $this->css_files[$template_id][$filename] = array( - 'file' => ($type == 'file') ? $path.$filename : $filename, - 'type' => $type - ); - } - - /** - * Adds a javascript file to the list which will be added to the template when display() is called - * - * @param string $template_id - * @param string $filename path to file or CSS code to be added inline - * @param string $path uses default set in config if non specified - */ - public function addJS($filename, $template_id = 'main', $path = SM_PATH_JS) { - if (!isset($this->js_files[$template_id])) { - $this->js_files[$template_id] = array(); - } - - // if file doesn't exist we assume it's inline - $type = (file_exists($path.$filename)) ? 'file' : 'inline'; - - $this->js_files[$template_id][$filename] = array( - 'file' => ($type == 'file') ? $path.$filename : $filename, - 'type' => $type - ); - } - /** * Get html code for a template, or if no template id given get all templates * @@ -232,62 +187,6 @@ class smTemplate { } } - /** - * Adds the CSS and JavaScript files to the header html. - * - * @param string $template_id - * @param string $html - * @return string new html code - */ - protected function addHeaderFiles($template_id, $html) { - // get code between tags - preg_match_all("{(.*?)<\/head>}is", $html, $matches); - - if (isset($matches[1][0]) && $matches[1][0] != '') { - $header = $matches[1][0]; - - if (isset($this->css_files[$template_id]) && !empty($this->css_files[$template_id])) { - $header .= "\t\n"; - - foreach($this->css_files[$template_id] as $filename => $info) { - switch($info['type']) { - case 'file': - $header .= "\t\n"; - break; - case 'inline': - $header .= - "\t\n"; - break; - } - } - } - - if (isset($this->js_files[$template_id]) && !empty($this->js_files[$template_id])) { - $header .= "\t\n"; - - foreach($this->js_files[$template_id] as $filename => $info) { - switch($info['type']) { - case 'file': - $header .= "\t\n"; - break; - case 'inline': - $header .= - "\t\n"; - break; - } - } - } - // add new header to html - $html = preg_replace('{'.$matches[1][0].'}is', $header, $html); - } - - return $html; - } - /** * * Get file content diff --git a/classes/txtmsg/txtmsgClickatell.class.php b/src/psm/Txtmsg/Clickatell.class.php similarity index 96% rename from classes/txtmsg/txtmsgClickatell.class.php rename to src/psm/Txtmsg/Clickatell.class.php index 8d826e13..a8bd7538 100755 --- a/classes/txtmsg/txtmsgClickatell.class.php +++ b/src/psm/Txtmsg/Clickatell.class.php @@ -25,7 +25,9 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ -class txtmsgClickatell extends txtmsgCore { +namespace psm\Txtmsg; + +class Clickatell extends Core { // ========================================================================= // [ Fields ] // ========================================================================= @@ -59,7 +61,7 @@ class txtmsgClickatell extends txtmsgCore { protected function _auth_https_post($host, $path, $data) { $url = $host . $path . $data; - return sm_curl_get($url); + return psm_curl_get($url); } } diff --git a/classes/txtmsg/txtmsgCore.class.php b/src/psm/Txtmsg/Core.class.php similarity index 96% rename from classes/txtmsg/txtmsgCore.class.php rename to src/psm/Txtmsg/Core.class.php index d89229c5..b6726684 100755 --- a/classes/txtmsg/txtmsgCore.class.php +++ b/src/psm/Txtmsg/Core.class.php @@ -25,7 +25,9 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ -abstract class txtmsgCore implements txtmsgInterface { +namespace psm\Txtmsg; + +abstract class Core implements TxtmsgInterface { protected $originator; protected $password; protected $recipients = array(); diff --git a/classes/txtmsg/txtmsgInetworx.class.php b/src/psm/Txtmsg/Inetworx.class.php similarity index 98% rename from classes/txtmsg/txtmsgInetworx.class.php rename to src/psm/Txtmsg/Inetworx.class.php index d066fb3d..a327e6b2 100755 --- a/classes/txtmsg/txtmsgInetworx.class.php +++ b/src/psm/Txtmsg/Inetworx.class.php @@ -25,7 +25,9 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ -class txtmsgInetworx extends txtmsgCore { +namespace psm\Txtmsg; + +class Inetworx extends Core { // ========================================================================= // [ Fields ] // ========================================================================= diff --git a/classes/txtmsg/txtmsgMollie.class.php b/src/psm/Txtmsg/Mollie.class.php similarity index 98% rename from classes/txtmsg/txtmsgMollie.class.php rename to src/psm/Txtmsg/Mollie.class.php index c3d90711..cfa3d7ed 100755 --- a/classes/txtmsg/txtmsgMollie.class.php +++ b/src/psm/Txtmsg/Mollie.class.php @@ -25,7 +25,9 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ -class txtmsgMollie extends txtmsgCore { +namespace psm\Txtmsg; + +class Mollie extends Core { // ========================================================================= // [ Fields ] // ========================================================================= diff --git a/classes/txtmsg/txtmsgMosms.class.php b/src/psm/Txtmsg/Mosms.class.php similarity index 97% rename from classes/txtmsg/txtmsgMosms.class.php rename to src/psm/Txtmsg/Mosms.class.php index 761a098e..8757cf4a 100755 --- a/classes/txtmsg/txtmsgMosms.class.php +++ b/src/psm/Txtmsg/Mosms.class.php @@ -26,7 +26,9 @@ * @since phpservermon 2.1 **/ -class txtmsgMosms extends txtmsgCore { +namespace psm\Txtmsg; + +class Mosms extends Core { // ========================================================================= // [ Fields ] // ========================================================================= diff --git a/classes/txtmsg/txtmsgSpryng.class.php b/src/psm/Txtmsg/Spryng.class.php similarity index 97% rename from classes/txtmsg/txtmsgSpryng.class.php rename to src/psm/Txtmsg/Spryng.class.php index 2ff19a70..3a81cfa0 100755 --- a/classes/txtmsg/txtmsgSpryng.class.php +++ b/src/psm/Txtmsg/Spryng.class.php @@ -25,7 +25,9 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ -class txtmsgSpryng extends txtmsgCore { +namespace psm\Txtmsg; + +class Spryng extends Core { // ========================================================================= // [ Fields ] // ========================================================================= diff --git a/classes/txtmsg/txtmsgInterface.class.php b/src/psm/Txtmsg/TxtmsgInterface.class.php similarity index 96% rename from classes/txtmsg/txtmsgInterface.class.php rename to src/psm/Txtmsg/TxtmsgInterface.class.php index aa0e0a42..c5f9399d 100755 --- a/classes/txtmsg/txtmsgInterface.class.php +++ b/src/psm/Txtmsg/TxtmsgInterface.class.php @@ -25,7 +25,9 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ -interface txtmsgInterface { +namespace psm\Txtmsg; + +interface TxtmsgInterface { public function setLogin($username, $password); public function setOriginator($originator); diff --git a/classes/sm/smUpdaterStatus.class.php b/src/psm/UpdaterStatus.class.php similarity index 84% rename from classes/sm/smUpdaterStatus.class.php rename to src/psm/UpdaterStatus.class.php index a55a3b51..3b1e2711 100755 --- a/classes/sm/smUpdaterStatus.class.php +++ b/src/psm/UpdaterStatus.class.php @@ -25,7 +25,9 @@ * @link http://phpservermon.neanderthal-technology.com/ **/ -class smUpdaterStatus extends smCore { +namespace psm; + +class UpdaterStatus { public $error; public $notify; public $rtime = 0; @@ -33,6 +35,13 @@ class smUpdaterStatus extends smCore { public $status_org = false; public $status_new = false; + public $db; + + function __construct() { + // add database handler + $this->db = $GLOBALS['db']; + } + /** * Set a new server * @@ -168,14 +177,14 @@ class smUpdaterStatus extends smCore { * */ public function notify() { - if(sm_get_conf('email_status') == false && sm_get_conf('sms_status') == false && sm_get_conf('log_status') == false) { + if(psm_get_conf('email_status') == false && psm_get_conf('sms_status') == false && psm_get_conf('log_status') == false) { // seems like we have nothing to do. skip the rest return false; } $notify = false; // check which type of alert the user wants - switch(sm_get_conf('alert_type')) { + switch(psm_get_conf('alert_type')) { case 'always': if($this->status_new == 'off') { // server is offline. we are in error state. @@ -201,22 +210,22 @@ class smUpdaterStatus extends smCore { } // first add to log (we use the same text as the SMS message because its short..) - if(sm_get_conf('log_status')) { - sm_add_log( + if(psm_get_conf('log_status')) { + psm_add_log( $this->server['server_id'], 'status', - sm_parse_msg($this->status_new, 'sms', $this->server) + psm_parse_msg($this->status_new, 'sms', $this->server) ); } // check if email is enabled for this server - if(sm_get_conf('email_status') && $this->server['email'] == 'yes') { + if(psm_get_conf('email_status') && $this->server['email'] == 'yes') { // send email $this->notifyByEmail(); } // check if sms is enabled for this server - if(sm_get_conf('sms_status') && $this->server['sms'] == 'yes') { + if(psm_get_conf('sms_status') && $this->server['sms'] == 'yes') { // yay lets wake those nerds up! $this->notifyByTxtMsg(); } @@ -233,7 +242,7 @@ class smUpdaterStatus extends smCore { // find all the users with this server listed $users = $this->db->select( - SM_DB_PREFIX . 'users', + PSM_DB_PREFIX . 'users', 'FIND_IN_SET(\''.$this->server['server_id'].'\', `server_id`) AND `email` != \'\'', array('user_id', 'name', 'email') ); @@ -243,14 +252,14 @@ class smUpdaterStatus extends smCore { } // build mail object with some default values - $mail = new phpmailer(); + $mail = new \phpmailer(); - $mail->From = sm_get_conf('email_from_email'); - $mail->FromName = sm_get_conf('email_from_name'); - $mail->Subject = sm_parse_msg($this->status_new, 'email_subject', $this->server); + $mail->From = psm_get_conf('email_from_email'); + $mail->FromName = psm_get_conf('email_from_name'); + $mail->Subject = psm_parse_msg($this->status_new, 'email_subject', $this->server); $mail->Priority = 1; - $body = sm_parse_msg($this->status_new, 'email_body', $this->server); + $body = psm_parse_msg($this->status_new, 'email_body', $this->server); $mail->Body = $body; $mail->AltBody = str_replace('
', "\n", $body); @@ -263,9 +272,9 @@ class smUpdaterStatus extends smCore { $mail->ClearAddresses(); } - if(sm_get_conf('log_email')) { + if(psm_get_conf('log_email')) { // save to log - sm_add_log($this->server['server_id'], 'email', $body, implode(',', $userlist)); + psm_add_log($this->server['server_id'], 'email', $body, implode(',', $userlist)); } } @@ -277,7 +286,7 @@ class smUpdaterStatus extends smCore { protected function notifyByTxtMsg() { // send sms to all users for this server using defined gateway $users = $this->db->select( - SM_DB_PREFIX . 'users', + PSM_DB_PREFIX . 'users', 'FIND_IN_SET(\''.$this->server['server_id'].'\', `server_id`) AND `mobile` != \'\'', array('user_id', 'name', 'mobile') ); @@ -291,28 +300,28 @@ class smUpdaterStatus extends smCore { // open the right class // not making this any more dynamic, because perhaps some gateways need custom settings (like Mollie) - switch(strtolower(sm_get_conf('sms_gateway'))) { + switch(strtolower(psm_get_conf('sms_gateway'))) { case 'mosms': - $sms = new txtmsgMosms(); + $sms = new \psm\Txtmsg\Mosms(); break; case 'inetworx': - $sms = new txtmsgInetworx(); + $sms = new \psm\Txtmsg\Inetworx(); break; case 'mollie': - $sms = new txtmsgMollie(); + $sms = new \psm\Txtmsg\Mollie(); $sms->setGateway(1); break; case 'spryng': - $sms = new txtmsgSpryng(); + $sms = new \psm\Txtmsg\Spryng(); break; case 'clickatell': - $sms = new txtmsgClickatell(); + $sms = new \psm\Txtmsg\Clickatell(); break; } // copy login information from the config file - $sms->setLogin(sm_get_conf('sms_gateway_username'), sm_get_conf('sms_gateway_password')); - $sms->setOriginator(sm_get_conf('sms_from')); + $sms->setLogin(psm_get_conf('sms_gateway_username'), psm_get_conf('sms_gateway_password')); + $sms->setOriginator(psm_get_conf('sms_from')); // add all users to the recipients list foreach ($users as $user) { @@ -320,14 +329,14 @@ class smUpdaterStatus extends smCore { $sms->addRecipients($user['mobile']); } - $message = sm_parse_msg($this->status_new, 'sms', $this->server); + $message = psm_parse_msg($this->status_new, 'sms', $this->server); // Send sms $result = $sms->sendSMS($message); - if(sm_get_conf('log_sms')) { + if(psm_get_conf('log_sms')) { // save to log - sm_add_log($this->server['server_id'], 'sms', $message, implode(',', $userlist)); + psm_add_log($this->server['server_id'], 'sms', $message, implode(',', $userlist)); } return $result; } diff --git a/tpl/config.tpl.html b/src/templates/config.tpl.html similarity index 100% rename from tpl/config.tpl.html rename to src/templates/config.tpl.html diff --git a/tpl/install.tpl.html b/src/templates/install.tpl.html similarity index 100% rename from tpl/install.tpl.html rename to src/templates/install.tpl.html diff --git a/tpl/log.tpl.html b/src/templates/log.tpl.html similarity index 100% rename from tpl/log.tpl.html rename to src/templates/log.tpl.html diff --git a/tpl/main.tpl.html b/src/templates/main.tpl.html similarity index 100% rename from tpl/main.tpl.html rename to src/templates/main.tpl.html diff --git a/tpl/servers.tpl.html b/src/templates/servers.tpl.html similarity index 100% rename from tpl/servers.tpl.html rename to src/templates/servers.tpl.html diff --git a/tpl/status.tpl.html b/src/templates/status.tpl.html similarity index 100% rename from tpl/status.tpl.html rename to src/templates/status.tpl.html diff --git a/tpl/users.tpl.html b/src/templates/users.tpl.html similarity index 100% rename from tpl/users.tpl.html rename to src/templates/users.tpl.html diff --git a/classes/phpmailer.class.php b/vendor/phpmailer.class.php similarity index 100% rename from classes/phpmailer.class.php rename to vendor/phpmailer.class.php