function availableElems()
{
    $db = new db();
    $log = ADLog::getInstance();
    /*
     * Extract all Policy Elements for select list below
     */
    $q = "SELECT id, elementName FROM compliancePolElem WHERE status = 1 ORDER BY elementName ASC";
    $result = $db->q($q);
    $num_rows = mysql_numrows($result);
    if (!$result || $num_rows < 0) {
        $log->Warn("Failure: Problem Displaying compliancePolElem options (File: " . $_SERVER['PHP_SELF'] . ")");
        echo "Error displaying info for availableElems() function";
        return;
    }
    if ($num_rows == 0) {
        $log->Warn("Failure: Problem Displaying availableElems() - no options returned (File: " . $_SERVER['PHP_SELF'] . ")");
        echo "Database table empty";
        return;
    }
    for ($i = 0; $i < $num_rows; $i++) {
        $id = mysql_result($result, $i, "id");
        $elementName = mysql_result($result, $i, "elementName");
        echo "<option value=" . $id . ">" . $elementName . "</option>";
    }
}
Example #2
0
function snippetsOptions()
{
    $db = new db();
    $log = ADLog::getInstance();
    /*
     * Extract all snippets for select list below
     */
    $q = "SELECT id, snippetName\n\t\t\t\t\t\tFROM snippets \n\t\t\t\t\t\tORDER BY snippetName ASC";
    $result = $db->q($q);
    $num_rows = mysql_numrows($result);
    if (!$result || $num_rows < 0) {
        $log->Warn("Failure: Problem Displaying snippetsOptions() options (File: " . $_SERVER['PHP_SELF'] . ")");
        echo "Error displaying info for reportsOptions() function";
        return;
    }
    if ($num_rows == 0) {
        $log->Warn("Failure: Problem Displaying snippetsOptions() - no options returned (File: " . $_SERVER['PHP_SELF'] . ")");
        echo "Database table empty";
        return;
    }
    for ($i = 0; $i < $num_rows; $i++) {
        $id = mysql_result($result, $i, "id");
        $snippetName = mysql_result($result, $i, "snippetName");
        echo "<option value=snippetId-" . $id . ">" . $snippetName . "</option>";
    }
}
Example #3
0
    public function view()
    {
        if (user::issetRight('delete')) {
            ui::newButton(lang::get('BTN_CLEAR_JORNAL'), 'javascript:clearJornal();');
        }
        ui::addLeftButton('Системный журнал', 'system_view');
        ui::addLeftButton('Журнал БД', 'db_view');
        function getState($val)
        {
            if ($val == info) {
                return 'info';
            } else {
                if ($val == error) {
                    return 'error';
                } else {
                    if ($val == warning) {
                        return 'warning';
                    }
                }
            }
        }
        function getEditUser($val, $obj)
        {
            if (user::issetRight('user_upd', 'users')) {
                return '<a href="' . system::au() . '/users/user_upd/' . $obj['rev_user_id'] . '" target="_blank">' . $val . '</a>';
            } else {
                return $val;
            }
        }
        $count = db::q('SELECT count(rev_id) count FROM <<revue>>, <<objects>> WHERE rev_obj_id = o_id;', value);
        $max_count = uiTable::getMaxCount();
        if (uiTable::getCurPage() != 1) {
            $niz = empty($start_pos) ? uiTable::getCurPage() * $max_count - $max_count : 0;
            $limit = ' LIMIT ' . $niz . ', ' . $max_count;
        } else {
            $limit = ' LIMIT ' . $max_count;
        }
        $mas = db::q('SELECT rev_state, rev_user, rev_user_id, rev_datetime,
        			concat(rev_message, " <b>", o_name, "</b>") rev_msg, rev_ip
		        	FROM <<revue>>, <<objects>>
		        	WHERE rev_obj_id = o_id
		        	ORDER BY rev_datetime DESC ' . $limit, records);
        /*
          Сделать фильтры:
          	- важность
          	- пользователь
          	- тип данных
          	- периуд времени
          	- IP
        */
        $table = new uiTable($mas, $count);
        $table->addColumn('rev_state', 'Важность', 0, false, false, 'getState');
        $table->addColumn('rev_user', 'Пользователь', 0, false, false, 'getEditUser');
        $table->addColumn('rev_msg', 'Действие', 400);
        $table->addColumn('rev_datetime', 'Дата / Время', 0, false, false, 'viewDateTime2');
        $table->addColumn('rev_ip', 'IP');
        $table->emptyText('В журнале нет записей!');
        return $table->getHTML();
    }
Example #4
0
 public function defAction()
 {
     $file = @fopen(ROOT_DIR . "/revue.log", "w");
     @fclose($file);
     db::q('DELETE FROM <<revue>>');
     echo 'delete';
     system::stop();
 }
 /**
  * @return array
  * @param boolean $prinud - Если true, принудительно читает данные из БД.
  * @desc Вернет все языковые версии системы
  */
 static function getAll($prinud = false)
 {
     if (empty(self::$langs) || $prinud) {
         $mas = db::q('SELECT *, l_id id FROM <<langs>>;', records);
         self::$langs = array();
         while (list($key, $lang) = each($mas)) {
             self::$langs[$lang['l_id']] = $lang;
             self::$langs_rel[$lang['l_prefix']] = $lang['l_id'];
         }
     }
     return self::$langs;
 }
Example #6
0
 private static function deleteKey($id)
 {
     $num = self::findInMas($id);
     if ($num !== false) {
         $child = db::q('SELECT r_id FROM <<register>> WHERE r_section_id="' . $id . '";', records);
         for ($i = 0; $i < count($child); $i++) {
             self::deleteKey($child[$i]['r_id']);
         }
         db::q('DELETE FROM <<register>> WHERE r_id="' . $id . '";');
         array_splice(self::$keys, $num, 1);
         return true;
     } else {
         return false;
     }
 }
    /**
     * @return integer -	ID шаблона
     * @param integer $obj_id - ID раздела сайта
     * @desc Определяет популярный (часто используемый) шаблон в указанном разделе
     */
    static function getPopularForSection($obj_id)
    {
        $sql = empty($obj_id) ? ' r_parent_id is NULL and ' : ' r_parent_id = "' . $obj_id . '" and ';
        $mas = db::q('SELECT template_id, template2_id
    				FROM <<pages>>, <<objects>>, <<rels>>
    				WHERE ' . $sql . '
	        			  r_field_id is NULL and
	        			  r_children_id = o_id and
	        			  p_obj_id = o_id and
	        			  o_to_trash = 0
	        		GROUP BY o_id;', records);
        if (count($mas) > 0) {
            return array(self::getPopTemplate($mas, 'template_id'), self::getPopTemplate($mas, 'template2_id'));
        } else {
            if (!empty($obj_id)) {
                return array(ormPages::get($obj_id)->__get('template_id'), ormPages::get($obj_id)->__get('template2_id'));
            } else {
                return array(0, 0);
            }
        }
    }
Example #8
0
 public function defAction()
 {
     function getUserName($val, $obj)
     {
         $name = $val . ' (' . $obj['c_email'] . ')';
         if (!empty($obj['c_user_id']) && user::issetRight('user_upd', 'users')) {
             $url = system::au() . '/users/user_upd/' . $obj['c_user_id'];
             $name = '<a href="' . $url . '" target="_blank">' . $name . '</a>';
         }
         return $name;
     }
     function getCommentText($val, $obj)
     {
         return strip_tags($val);
     }
     $count = db::q('SELECT count(c_id) count FROM <<comments>>;', value);
     $max_count = uiTable::getMaxCount();
     if (uiTable::getCurPage() != 1) {
         $niz = empty($start_pos) ? uiTable::getCurPage() * $max_count - $max_count : 0;
         $limit = 'LIMIT ' . $niz . ', ' . $max_count;
     } else {
         $limit = 'LIMIT ' . $max_count;
     }
     $sql = 'SELECT c_id id, c_active active, c_text, c_username, c_publ_date, c_email, c_user_id
         FROM <<comments>> ORDER BY c_publ_date DESC ' . $limit . ';';
     $mas = db::q($sql, records);
     $table = new uiTable($mas, $count);
     $table->addColumn('c_text', 'Текст', 500, 0, 1, 'getCommentText');
     $table->addColumn('c_username', 'Пользователь', 200, 0, 0, 'getUserName');
     $table->addColumn('c_publ_date', 'Дата создания', 200, 0, 1, 'viewDateTime');
     $table->defaultRight('comment_upd');
     $table->addRight('comment_upd', 'edit', single);
     $table->addRight('comment_act', 'active', multi);
     $table->addRight('comment_del', 'drop', multi);
     return $table->getHTML();
 }
Example #9
0
	public static function modBindsList($mod="",$method="",$cid=0)
	{
		$binds=array();
		if(!$mod)return $binds;
		$hookRender=self::$c->modHookName(self::$class);
		if(!$method || ($method==$hookRender))$methodSql="((`b`.`method`='') OR (`b`.`method`='{$hookRender}'))";
		else $methodSql="`b`.`method`='{$method}'";
		$q="SELECT `c`.`id`,`c`.`alias`,`b`.`sid`,`b`.`ord`,`b`.`pages`,`b`.`args` FROM ".db::tnm(self::$class."_binds")." `b`
		INNER JOIN ".db::tn("mods")." `m` ON `m`.`id`=`b`.`mid`
		LEFT JOIN ".db::tnm(self::$class."_bind_adds")." `ba` ON `ba`.`bid`=`b`.`id`
		LEFT JOIN ".db::tnm("content")." `c` ON `c`.`id`=`ba`.`cid`
		WHERE `m`.`class`='{$mod}' AND {$methodSql}".($cid?(" AND (ISNULL(`c`.`id`) OR (`c`.`id`={$cid}))"):"");
		$r=db::q($q,true);
		while($rec=@mysql_fetch_assoc($r))
		{
			$rec["id"]=0+$rec["id"];
			$rec["alias"]="".$rec["alias"];
			$rec["sid"]=0+$rec["sid"];
			$rec["ord"]=0+$rec["ord"];
			$rec["pages"]="".$rec["pages"];
			$rec["args"]="".$rec["args"];
			if($rec["pages"]=="none" && (!$rec["id"]))continue;
			$binds[]=@array_merge(array(),$rec);
		}
		return $binds;
	}
Example #10
0
    function getGroupBySName($name, $only_id = false)
    {
        $sname = system::checkVar($name, isVarName);
        if ($sname !== false) {
            $sql = 'SELECT fg_id FROM <<fgroup>>
		        		 WHERE fg_class_id = "' . $this->id . '" and fg_sname="' . $sname . '";';
            $id = db::q($sql, value);
            if ($id !== false) {
                if (!$only_id) {
                    return new ormFieldsGroup($id);
                } else {
                    return $id;
                }
            } else {
                return false;
            }
        }
    }
Example #11
0
	public function modsListAll($fields=array(),$filters=array())
	{
		if(is_string($fields))$fields=array($fields);
		$len=count($fields);
		if($len)
		{
			$known=db::tFields("mods");
			for($c=($len-1);$c>0;$c--)
			{
				$name=trim($fields[$c],"`");
				if(!in_array($name,$known))unset($fields[$c]);
			}
		}
		if(!count($fields))$fields=array("id","class");
		if($filters)$filtersSQL=db::filtersMake($filters,true);
		else $filtersSQL="";
		$r=db::q("SELECT `".implode("`,`",$fields)."` FROM ".db::tn("mods").($filtersSQL?(" WHERE".$filtersSQL):""),true);
		while($rec=@mysql_fetch_assoc($r))$recs[]=$rec;
		return $recs;
	}
Example #12
0
    public function delete()
    {
        if (!empty($this->id) && $this->id != 1) {
            $is_ok = true;
            $list = languages::getAll();
            while (list($key, $val) = each($list)) {
                // Удаление страниц
                $tmp = ormPages::delAllFor($this->id, $val['id']);
                if (!$tmp) {
                    $is_ok = $tmp;
                } else {
                    // Удаление прав на домен
                    db::q('DELETE FROM <<modules_rights>>
	    				   WHERE mr_name = "' . $val['id'] . ' ' . $this->id . '"
	    				   		 and mr_mod_id = "3";');
                }
            }
            // Удаление домена
            if ($is_ok) {
                $is_ok = db::q('DELETE FROM <<domains>> WHERE d_id = "' . $this->id . '";');
                if ($is_ok !== false) {
                    // Удаление настроек
                    reg::delKey('/structure/' . $this->id);
                    system::log('Удален домен "' . $this->values['d_name'] . '" (id:' . $this->id . ')', warning);
                    return true;
                } else {
                    system::log('Произошла ошибка при удалении домена "' . $this->values['d_name'] . '" (id:' . $this->id . ')', error);
                    $this->newError(12, 'Произошла ошибка при удалении домена "' . $this->values['d_name'] . '"!');
                }
            } else {
                system::log('Пользователь пытался удалить домен "' . $this->values['d_name'] . '" (id:' . $this->id . '), но ему не хватило прав на удаление всех страниц!', error);
                $this->newError(63, 'Вы не можете удалить домен "' . $this->values['d_name'] . '", т.к. не имеете прав на удаление некоторых страниц!');
            }
        }
        return false;
    }
Example #13
0
		  border-radius: 8px;
		  background-image: linear-gradient(#FFF, #ECF1F7);
		  background-clip: padding-box;
		  box-shadow: 2px 2px 4px #999; 
		  max-width:150px;
		}


	
    </style>
</head>
<body>
<?php 
$db = new db();
/* Get all snippets for the snippetSelect Selection list */
$snippetQ = $db->q('SELECT `id`, `snippetName` FROM `snippets` 	
										ORDER BY `snippetName` ASC');
?>
<div id="snippetSelectDiv" style="width:500px;">
	<fieldset style="width:500px;">
	<label for="snippetSelect" style="font-size:12px; float:left;">Snippet Name:</label>
	<legend>Select Config Snippet</legend>
		<select name="snippetSelect[]" id ="snippetSelect" style="font-size:14px; float:left;margin-left:10px;" onchange="switchSnippet(this.value)">
			<?php 
echo "<option value=\"\">  Select  </option>";
while ($row = mysql_fetch_assoc($snippetQ)) {
    echo "<option value=" . $row['id'] . ">" . $row['snippetName'] . "</option>";
}
?>
		</select>
		<div style="clear:both;"></div>
Example #14
0
*/
/* begin delete check */
if (isset($_POST['delete'])) {
    if (ctype_digit($_POST['id'])) {
        $id = $_POST['id'];
    } else {
        $errors['Fail'] = "Fatal: id not of type int for getRow";
        $log->Fatal("Fatal: id not of type int for getRow - " . $_SERVER['PHP_SELF'] . ")");
        $_SESSION['errors'] = $errors;
        session_write_close();
        header("Location: " . $config_basedir . "useradmin.php?error");
        exit;
    }
    /* the query*/
    $q = "UPDATE users SET status = 2 WHERE id = " . $id . ";";
    if ($result = $db->q($q)) {
        $log->Info("Success: Deleted user of ID: " . $id . " in DB (File: " . $_SERVER['PHP_SELF'] . ")");
        $response = json_encode(array('success' => true));
    } else {
        $log->Warn("Failure: Unable to delete user of ID: " . $id . " in DB (File: " . $_SERVER['PHP_SELF'] . ")");
        $response = json_encode(array('failure' => true));
    }
    echo $response;
} elseif (isset($_GET['getRow']) && isset($_GET['id'])) {
    if (ctype_digit($_GET['id'])) {
        $id = $_GET['id'];
    } else {
        $errors['Fail'] = "Fatal: id not of type int for getRow";
        $log->Fatal("Fatal: id not of type int for getRow - " . $_SERVER['PHP_SELF'] . ")");
        $_SESSION['errors'] = $errors;
        session_write_close();
Example #15
0
 /**
  * @return integer
  * @param integer $obj_id - ID объекта
  * @param boolean $only_active - Если true - вернет количество активных (проверенных) комментариев
  * @desc Вернет общее количество комментариев для указанного объекта
  */
 public static function getAllCount($obj_id, $only_active = false)
 {
     $obj_id = system::checkVar($obj_id, isInt);
     if ($obj_id) {
         $where = $only_active ? ' and c_active = 1' : '';
         $count = db::q('SELECT count(c_id) FROM <<comments>> WHERE c_obj_id = "' . $obj_id . '" ' . $where . ';', value);
         if ($count) {
             return $count;
         }
     }
     return 0;
 }
Example #16
0
     // reset $command var to actual input and escape
 }
 /* if command inputted and no cat selected - return error */
 $catId = $_POST['catId'];
 if ($catId['0'] == 0) {
     $errors['catId'] = "You must select a category";
 } else {
     $catId = $_POST['catId'];
 }
 if (!empty($command) && $catId['0'] != 0) {
     /* Begin DB query. This will either be an Insert if $_POST editid is not set - or an edit/Update if editid is set in POST */
     if (empty($_POST['editid'])) {
         // actual add
         // add command to configcommand table
         $q = "INSERT INTO configcommands\n\t\t\t\t\t\t\t(command, \n\t\t\t\t\t\t\tstatus) \n\t\t\t\t\t\t\tVALUES \n\t\t\t\t\t\t\t\t('" . $command . "', \n\t\t\t\t\t\t\t\t'1'\n\t\t\t\t\t\t\t\t)";
         if ($result = $db->q($q)) {
             $cmdIdQ = $db->q('SELECT id FROM configcommands WHERE command = "' . $command . '"');
             while ($row = mysql_fetch_assoc($cmdIdQ)) {
                 $cmdId = $row['id'];
             }
             // next loop over catId Post and get all IDs selected and insert to cmdCatTbl
             $catIds = $_POST['catId'];
             for ($i = 0; $i < count($catIds); $i++) {
                 $catId = $catIds[$i];
                 $db->q('INSERT INTO cmdCatTbl (configCmdId, nodeCatId) VALUES (' . $cmdId . ', ' . $catId . ')');
             }
             $errors['Success'] = "Added command '" . $command . "' to Database";
             $log->Info("Success: Added command " . $command . " to DB (File: " . $_SERVER['PHP_SELF'] . ")");
             $_SESSION['errors'] = $errors;
             session_write_close();
             header("Location: " . $config_basedir . "commands.php");
Example #17
0
<?php

/* Includes */
require_once "../classes/db.class.php";
include_once '../classes/paginator.class.php';
/* Instantiate DB Class */
$db = new db();
/* Get Row count from nodes where NOT deleted*/
$rs = $db->q('SELECT COUNT(*) AS total FROM users WHERE status = 1');
$row = mysql_fetch_row($rs);
$result["total"] = $row[0];
/* Instantiate Paginator Class */
$pages = new Paginator();
$pages->items_total = $result['total'];
$pages->mid_range = 7;
// Number of pages to display. Must be odd and > 3
$pages->paginate();
echo $pages->display_pages();
echo "<span class=\"\">" . $pages->display_jump_menu() . $pages->display_items_per_page() . "</span>";
/* GET all nodes records from DB */
$q = $db->q("SELECT \n\t\tid,\n\t\tusername,\n\t\tuserlevel,\n\t\temail,\n\t\ttimestamp\n\tFROM users\n\tWHERE status = 1\n\t{$pages->limit}");
// push rows to $itesm array
$items = array();
while ($row = mysql_fetch_assoc($q)) {
    array_push($items, $row);
}
/* Create Multidimensional array for use later */
$result["rows"] = $items;
$i = 0;
# row counter  to enable alternate row coloring
?>
Example #18
0
function cntDevices()
{
    require_once "../classes/db.class.php";
    $db = new db();
    $q = "SELECT * FROM nodes WHERE status = 1";
    $result = $db->q($q);
    $num_rows = mysql_numrows($result);
    return $num_rows;
}
Example #19
0
require "/home/rconfig/classes/db.class.php";
require "/home/rconfig/classes/ADLog.class.php";
require "/home/rconfig/classes/compareClass.php";
require '/home/rconfig/classes/sshlib/Net/SSH2.php';
// this will be used in connection.class.php
require "/home/rconfig/classes/connection.class.php";
require "/home/rconfig/classes/debugging.class.php";
require "/home/rconfig/classes/textFile.class.php";
require "/home/rconfig/classes/reportTemplate.class.php";
require "/home/rconfig/classes/phpmailer/class.phpmailer.php";
require_once "/home/rconfig/config/config.inc.php";
require_once "/home/rconfig/config/functions.inc.php";
// declare DB Class
$db = new db();
// check and set timeZone
$q = $db->q("SELECT timeZone FROM settings");
$result = mysql_fetch_assoc($q);
$timeZone = $result['timeZone'];
date_default_timezone_set($timeZone);
// declare Logging Class
$log = ADLog::getInstance();
$log->logDir = $config_app_basedir . "logs/";
// create array for json output to return to snippet window
$jsonArray = array();
// check if this script was CLI Invoked and throw an error to the CLI if it was.
if (php_sapi_name() == 'cli') {
    // if invoked from CLI
    $text = "You are not allowed to invoke this script from the CLI - unable to run script";
    echo $text . "\n";
    $log->Fatal("Error: " . $text . " (File: " . $_SERVER['PHP_SELF'] . ")");
    die;
Example #20
0
<?php

/* Includes */
require_once "../classes/db.class.php";
include_once '../classes/paginator.class.php';
/* Instantiate DB Class */
$db = new db();
/* Get Row count from nodes where NOT deleted*/
$rs = $db->q('SELECT COUNT(*) AS total FROM snippets');
$row = mysql_fetch_row($rs);
$result["total"] = $row[0];
/* Instantiate Paginator Class */
$pages = new Paginator();
$pages->items_total = $result['total'];
$pages->mid_range = 7;
// Number of pages to display. Must be odd and > 3
$pages->paginate();
?>
<!-- begin Search form -->
<div id="deviceActionDiv">
	<div id="searchForm"> 
	<legend>Search</legend>
		<form name ="searchForm" method="GET" action="snippets.php" onsubmit="return searchValidateForm()">
			<select name="searchColumn" id="searchColumn" class="paginate">
				<option value="snippet">Snippet</option>
				<option value="snippetName">Name</option>
			</select>
			<select name="searchOption" id="searchOption" class="paginate">
				<option value="contains" selected>Contains</option>
				<option value="notContains">Not Contains</option>
				<option value="equals">Equals</option>
Example #21
0
 function delete()
 {
     if (!empty($this->id)) {
         $ret = db::q('DELETE FROM <<comments>> WHERE c_id = "' . $this->id . '";');
         if ($ret) {
             $this->clearCache();
             return true;
         } else {
             $this->newError(100, 'Произошла ошибка при удалении комментария!');
         }
     }
     return false;
 }
Example #22
0
    /**
    * @return array(
                	'count' => 0,     		// Общее количество страниц
                	'pages' => array()      // Результат поиска. Список ID страниц с учетом параметра $limit
                );
    * @param array $tags - список ID тегов
    * @param int $limit - Максимальное количество страниц в результатах поиска
    * @param int $start_pos - Порядковый номер страницы, с которой начнется вывод результатов
    * @param array $classes_filter - Список ORM-классов, по которым ведется поиск
    * @desc Формирует список страниц имеющих указанные теги.
    */
    static function find($tags, $limit = 10, $start_pos = 0, $classes_filter = array())
    {
        if (!empty($tags)) {
            $q_tags = '';
            foreach ($tags as $id) {
                $or = empty($q_tags) ? '' : ' AND ';
                $q_tags .= $or . 't_id = "' . $id . '"';
            }
            // Генерируем sql-запрос
            if (!empty($q_tags)) {
                // Устанавливаем видимость объектов с учестом прав доступа пользователя
                $state = system::$isAdmin && reg::getKey(ormPages::getPrefix() . '/no_view_no_edit') ? '= 2' : '> 0';
                $groups = '';
                $m = user::getGroups();
                while (list($key, $val) = each($m)) {
                    $groups .= ' or r_group_id = "' . $key . '"';
                }
                // Формируем фильтр по классам
                $cf = '';
                if (!empty($classes_filter) && is_array($classes_filter)) {
                    while (list($num, $class) = each($classes_filter)) {
                        if ($c = ormClasses::get($class)) {
                            $or = empty($cf) ? '' : ' OR ';
                            $cf .= $or . 'o_class_id = "' . $c->id() . '"';
                        }
                    }
                    if (!empty($cf)) {
                        $cf = 'and (' . $cf . ')';
                    }
                }
                // Получаем количество объектов
                $sql = 'SELECT count(tr_obj_id) FROM (SELECT tr_obj_id
	            		FROM <<tags>>, <<tags_rels>>, <<rights>>, <<objects>>, <<pages>>
	            		WHERE t_id = tr_tag_id and
	            			tr_obj_id = r_obj_id and
	            			r_state ' . $state . ' and
	            			(
	            				r_group_id is NULL or
	            				r_group_id = "' . user::get('id') . '"
	            				' . $groups . '
	            			) and
	            			(' . $q_tags . ') and
	            			tr_obj_id = o_id and
	            			o_id = p_obj_id and
	            			active = 1 ' . $cf . '
	            		GROUP BY tr_obj_id) t;';
                $count = db::q($sql, value);
                // Получаем список объектов
                if ($count > 0) {
                    $sql = 'SELECT tr_obj_id page_id
		            		FROM <<tags>>, <<tags_rels>>, <<rights>>, <<objects>>, <<pages>>
		            		WHERE  t_id = tr_tag_id and
	            			    tr_obj_id = r_obj_id and
		            			r_state ' . $state . ' and
		            			(
		            				r_group_id is NULL or
		            				r_group_id = "' . user::get('id') . '"
		            				' . $groups . '
		            			) and
		            			(' . $q_tags . ') and
		            			tr_obj_id = o_id and
		            			o_id = p_obj_id and
		            			active = 1 ' . $cf . '
		            		GROUP BY tr_obj_id';
                    if (empty($start_pos)) {
                        $sql .= ' LIMIT ' . $limit . ';';
                    } else {
                        $sql .= ' LIMIT ' . $start_pos . ', ' . $limit . ';';
                    }
                    $mas = db::q($sql, records);
                } else {
                    $mas = array();
                }
                return array('count' => $count, 'pages' => $mas);
            }
        }
    }
Example #23
0
 /**
  * getDefaultCredsManualSet - Get value set for using default credentials with manual uploads & downloads
  */
 function getDefaultCredsManualSet()
 {
     session_start();
     require_once "../../../classes/db.class.php";
     require_once "../../../classes/ADLog.class.php";
     $db = new db();
     $log = ADLog::getInstance();
     if (isset($_GET['getDefaultCredsManualSet'])) {
         /* Update settings table with new option */
         // echo $option;
         $q = $db->q("SELECT useDefaultCredsManualSet FROM settings WHERE ID = '1'");
         $result = mysql_fetch_assoc($q);
         $useDefaultCredsManualSet = $result['useDefaultCredsManualSet'];
         /* Update successful */
         $response = $useDefaultCredsManualSet;
         echo json_encode($response);
     }
 }
Example #24
0
 }
 /* END - INSTALL CRON TABS */
 /* ADD CRONTAB RECORDS TO DB */
 if ($_POST['taskType'] == 1) {
     //taskType is download Configurations
     $query = "INSERT INTO tasks\n\t\t\t\t(id, \n\t\t\t\ttaskType,\n\t\t\t\ttaskName,\n\t\t\t\ttaskDescription,\n\t\t\t\tcrontime,\n\t\t\t\tcroncmd,\n\t\t\t\taddedby,\n\t\t\t\tdateadded,\n\t\t\t\tstatus,\n\t\t\t\tcatId,\n\t\t\t\tmailConnectionReport,\n\t\t\t\tmailErrorsOnly) \n\t\t\t\tVALUES \n\t\t\t\t\t('" . $randNum . "',\n\t\t\t\t\t'" . $_POST['taskType'] . "', \t\t\t\t\t\t\t\t\n\t\t\t\t\t'" . $_POST['taskName'] . "', \t\t\t\t\t\t\t\t\n\t\t\t\t\t'" . $_POST['taskDesc'] . "', \t\t\t\t\t\t\t\t\n\t\t\t\t\t'" . $cronPattern . "', \t\t\t\t\t\t\t\t\n\t\t\t\t\t'" . $cronScript . "', \t\t\t\t\t\t\t\t\n\t\t\t\t\t'" . $_SESSION['username'] . "', \t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\tNOW(), \t\t\t\t\t\t\t\t\n\t\t\t\t\t'1',\n\t\t\t\t\t'" . $categories . "',\n\t\t\t\t\t'" . $mailConnectionReportChk . "',\t\t\n\t\t\t\t\t'" . $mailErrorsOnlyChk . "'\t\t\n\t\t\t\t\t)";
 } else {
     if ($_POST['taskType'] == 2) {
         $query = "INSERT INTO tasks\n\t\t\t\t(id, \n\t\t\t\ttaskType,\n\t\t\t\ttaskName,\n\t\t\t\ttaskDescription,\n\t\t\t\tcrontime,\n\t\t\t\tcroncmd,\n\t\t\t\taddedby,\n\t\t\t\tdateadded,\n\t\t\t\tstatus,\n\t\t\t\tmailConnectionReport,\n\t\t\t\tcatId,\n\t\t\t\tcatCommand,\n\t\t\t\tcomplianceId) \n\t\t\t\tVALUES \n\t\t\t\t\t('" . $randNum . "',\n\t\t\t\t\t'" . $_POST['taskType'] . "', \t\t\t\t\t\t\t\t\n\t\t\t\t\t'" . $_POST['taskName'] . "', \t\t\t\t\t\t\t\t\n\t\t\t\t\t'" . $_POST['taskDesc'] . "', \t\t\t\t\t\t\t\t\n\t\t\t\t\t'" . $cronPattern . "', \t\t\t\t\t\t\t\t\n\t\t\t\t\t'" . $cronScript . "', \t\t\t\t\t\t\t\t\n\t\t\t\t\t'" . $_SESSION['username'] . "', \t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\tNOW(), \t\t\t\t\t\t\t\t\n\t\t\t\t\t'1',\n\t\t\t\t\t'" . $mailConnectionReportChk . "',\t\t\n\t\t\t\t\t'" . $categories . "',\n\t\t\t\t\t'" . $catCommand . "',\n\t\t\t\t\t'" . $complianceId . "'\n\t\t\t\t\t)";
     } else {
         if ($_POST['taskType'] == 3) {
             $query = "INSERT INTO tasks\n\t\t\t\t(id, \n\t\t\t\ttaskType,\n\t\t\t\ttaskName,\n\t\t\t\ttaskDescription,\n\t\t\t\tcrontime,\n\t\t\t\tcroncmd,\n\t\t\t\taddedby,\n\t\t\t\tdateadded,\n\t\t\t\tstatus,\n\t\t\t\tmailConnectionReport,\n\t\t\t\tcatId,\n\t\t\t\tsnipId) \n\t\t\t\tVALUES \n\t\t\t\t\t('" . $randNum . "',\n\t\t\t\t\t'" . $_POST['taskType'] . "', \t\t\t\t\t\t\t\t\n\t\t\t\t\t'" . $_POST['taskName'] . "', \t\t\t\t\t\t\t\t\n\t\t\t\t\t'" . $_POST['taskDesc'] . "', \t\t\t\t\t\t\t\t\n\t\t\t\t\t'" . $cronPattern . "', \t\t\t\t\t\t\t\t\n\t\t\t\t\t'" . $cronScript . "', \t\t\t\t\t\t\t\t\n\t\t\t\t\t'" . $_SESSION['username'] . "', \t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\tNOW(), \t\t\t\t\t\t\t\t\n\t\t\t\t\t'1',\n\t\t\t\t\t'" . $mailConnectionReportChk . "',\t\t\n\t\t\t\t\t'" . $categories . "',\n\t\t\t\t\t'" . $snipId . "'\n\t\t\t\t\t)";
         }
     }
 }
 if ($result = $db->q($query)) {
     /* ADD NEW COLUMN TO NODES TABLE */
     /*  add to taskID column to nodes table in database to specify which nodes belong to this task 
         default of '2' means all nodes are not part of this task will update with 1 for node selection
         in next query
         */
     $addTaskColSql = "ALTER TABLE `nodes` ADD COLUMN taskId" . $randNum . " VARCHAR(20) NOT NULL DEFAULT '2' AFTER `id`";
     if ($result = $db->q($addTaskColSql)) {
         $log->Info("Success: Added task Column to nodes table to DB (File: " . $_SERVER['PHP_SELF'] . ")");
     } else {
         $errors['Fail'] = "ERROR: " . mysql_error();
         $log->Fatal("Fatal: " . mysql_error() . " (File: " . $_SERVER['PHP_SELF'] . ")");
     }
     /* END - ADD NEW COLUMN TO NODES TABLE */
     /* UPDATE NEW TASK COLUMN IN NODES TBL WITH '1' FOR SELECTED NODES/CATEGORIES */
     // Amend all selected Nodes new TaskID with a '1' to identify an active state for this task
Example #25
0
    /**
     * @return string HTML
     * @param integer $obj - Экземпляр объекта (ormObject, ormPage)
     * @param string $action - Тип действия: "upd" - изменение, "add" - добавление
     * @desc Выводит форму изменения прав доступа для объекта
     */
    public static function getListForObject($obj, $action)
    {
        if (file_exists(MODUL_DIR . '/users/template/right_list_object.tpl')) {
            include MODUL_DIR . '/users/template/right_list_object.tpl';
        }
        if (isset($_POST['query'])) {
            // Формируем список подсказок для пользователя
            $sel = new ormSelect('user');
            $sel->fields('login');
            $sel->where('id', '<>', '29');
            $sel->where('login', 'LIKE', '%' . $_POST['query'] . '%');
            $users = '';
            while ($user = $sel->getObject()) {
                $zapi = $sel->getObjectNum() != 0 ? ', ' : '';
                $users .= $zapi . "'" . $user->login . "'";
            }
            echo "{ query:'" . $_POST['query'] . "', suggestions:[" . $users . "], data:[] }";
            system::stop();
        } else {
            if (isset($_POST['user_name'])) {
                // Добавляем выбранного пользователя в список
                $sel = new ormSelect('user');
                $sel->fields('login');
                $sel->where('id', '<>', '29');
                $sel->where('login', '=', $_POST['user_name']);
                $sel->limit(1);
                $user = $sel->getObject();
                if ($user instanceof ormObject) {
                    page::assign("group.id", $user->id);
                    page::assign("group.name", $user->login);
                    page::assign("checked_edit", '');
                    page::assign("checked_view", 'checked');
                    echo page::parse($TEMPLATE['group']);
                }
                system::stop();
            }
        }
        // Выводим список групп
        $sel = new ormSelect('user_group');
        $sel->where('id', '<>', '32');
        $sel->orderBy('name', asc);
        $groups = $sel->getData();
        $rights = array();
        if ($action == 'upd') {
            $users = db::q('SELECT o_id, login o_name
							FROM <<rights>>, <<objects>>, <<__user>>
							WHERE r_obj_id = "' . $obj->id . '" and
								  r_group_id = o_id and
								  obj_id = o_id and
								  o_class_id <> 33;', records);
            $groups = array_merge($groups, $users);
            $tmp = db::q('SELECT r_state, r_group_id FROM <<rights>> WHERE r_obj_id = "' . $obj->id . '";', records);
            while (list($key, $right) = each($tmp)) {
                $rights[$right['r_group_id']] = $right['r_state'];
            }
            $select_all = count($tmp) == 1 && empty($tmp[0]['r_group_id']) ? $tmp[0]['r_state'] : false;
        } else {
            $select_all = 2;
        }
        $items = '';
        $num = $edit_num = $view_num = 0;
        while (list($key, $group) = each($groups)) {
            $state = isset($rights[$group['o_id']]) ? $rights[$group['o_id']] : 0;
            if ($state == 2) {
                $edit_num++;
            }
            $checked_edit = $state == 2 || $select_all == 2 ? 'checked' : '';
            page::assign("checked_edit", $checked_edit);
            if ($state > 0) {
                $view_num++;
            }
            $checked_view = $state > 0 || $select_all > 0 ? 'checked' : '';
            page::assign("checked_view", $checked_view);
            page::assign("group.id", $group['o_id']);
            page::assign("group.name", $group['o_name']);
            $items .= page::parse($TEMPLATE['group']);
            $num = $key + 1;
        }
        $checked_edit = $select_all == 2 || $num == $edit_num ? 'checked' : '';
        page::assign("checked_edit", $checked_edit);
        $checked_view = $select_all > 0 || $num == $view_num ? 'checked' : '';
        page::assign("checked_view", $checked_view);
        page::assign("text.all_user", lang::get('STRUCTURE_RIGHT_ALL_USER'));
        page::assign("text.title", lang::get('STRUCTURE_RIGHT_TITLE'));
        page::assign("groups", $items);
        return page::parse($TEMPLATE['frame']);
    }
Example #26
0
    private function createQuery($parram)
    {
        if ($this->stop) {
            return $parram != 2 ? array() : 0;
        }
        // Добавляем ID родителя в результаты выборки, если работаем со страницами
        if ($this->find_page && !$this->relsToField) {
            if (!strpos('link_.&..r_children_id = obj_.&..o_id', $this->where)) {
                $this->tables[', <<rels>> link_.&.'] = 1;
                $this->where .= '
                    and link_.&..r_children_id = obj_.&..o_id
                    and link_.&..r_field_id is NULL
                ';
                $this->relsToField = true;
            }
        }
        if (!empty($this->class)) {
            $sn = $this->class->getSName();
        } else {
            $sn = 'obj';
        }
        // +++		Формируем блок SELECT		+++
        // Делаем специальное преобразование
        if (count($this->class_list) == 1 && !empty($this->fields)) {
            while (list($key, $val) = each($this->fields)) {
                $this->where = str_replace('%field_' . $val['f_sname'] . '_repl%', $val['f_id'], $this->where);
            }
        }
        // Формируем список полей. Попутно перепроверяем, какие контентные таблицы нам нужны
        //$this->isset_page_field = $this->isset_base_field = false;
        if (empty($this->sel_fields)) {
            // Выбираем все поля
            $this->checkFieldList(2);
            reset($this->fields);
            while (list($key, $val) = each($this->fields)) {
                $this->addFieldToSelect($val['f_sname'], $val['f_type'], $sn, $parram != 2);
            }
        } else {
            // Выбираем только указанные пользователем поля
            $this->sel_fields = str_replace(' ', '', $this->sel_fields);
            $mas = explode(',', $this->sel_fields);
            if ($parram != 2) {
                $this->sel_fields = '';
            }
            foreach ($mas as $val) {
                if ($this->issetField($val)) {
                    $type = isset($this->fields[$val]) ? $this->fields[$val]['f_type'] : 0;
                    $this->addFieldToSelect($val, $type, $sn, $parram != 2);
                }
            }
            if (!empty($this->orderField)) {
                $type = isset($this->fields[$this->orderField]) ? $this->fields[$this->orderField]['f_type'] : 0;
                $this->addFieldToSelect($this->orderField, $type, $sn, $parram != 2);
            }
        }
        // Формируем список полей в зависимости от типа запроса: получение количества или выборки
        if ($parram < 2) {
            $rels_f = $this->relsToField ? ', link_' . $sn . '.r_position r_position, link_' . $sn . '.r_parent_id r_parent_id' : '';
            if ($this->find_page) {
                $page_field = ', pt_' . $sn . '.other_link other_link,
                				pt_' . $sn . '.pseudo_url pseudo_url,
                				pt_' . $sn . '.in_new_window in_new_window,
                				pt_' . $sn . '.is_home_page is_home_page,
                				pt_' . $sn . '.lang_id lang_id,
                				pt_' . $sn . '.domain_id domain_id,
                				pt_' . $sn . '.template_id template_id,
                				pt_' . $sn . '.template2_id template2_id';
                if ($this->permission) {
                    $page_field .= ', MAX(r_state) r_state';
                }
            } else {
                $page_field = '';
            }
            $select = '/* list */ SELECT obj_' . $sn . '.o_id o_id,
			            	   obj_' . $sn . '.o_name o_name,
			            	   obj_' . $sn . '.o_class_id o_class_id,
			            	   obj_' . $sn . '.o_create_date o_create_date,
			            	   obj_' . $sn . '.o_change_date o_change_date' . $page_field . $rels_f . '
			            	   ' . $this->sel_fields . ' ';
        } else {
            $select = '/* count */ SELECT obj_' . $sn . '.o_id id';
        }
        // +++		Формируем блок FROM		+++
        // Cписок используемых таблиц
        $tables = '';
        reset($this->tables);
        while (list($key, $val) = each($this->tables)) {
            $tables .= $key;
        }
        // Устанавливаем условие на выборку с учетом прав доступа
        if ($this->find_page && $this->permission) {
            $rights_where = str_replace('GROUP BY o_id', '', ormPages::getSqlForRights());
            $tables .= ', <<rights>>';
        } else {
            $rights_where = '';
        }
        // +++		Собираем основную часть запроса		+++
        reset($this->class_list);
        if ($this->isset_base_field && count($this->class_list) > 1) {
            // Работаем с несколькими типами данных
            $sql = '';
            $num = 0;
            while (list($id, $sname) = each($this->class_list)) {
                $num++;
                $union = $num >= 2 ? ' UNION ' : '';
                $sql .= $union . '(' . $this->getBasePartQuery($sn, $select, $tables, $rights_where, $id, $sname) . ')';
            }
        } else {
            // Работаем с одним типом данных или без выборки из таблицы данных
            if (count($this->class_list) && $this->isset_base_field) {
                list($id, $sname) = each($this->class_list);
            } else {
                $id = $sname = '';
            }
            $sql = $this->getBasePartQuery($sn, $select, $tables, $rights_where, $id, $sname);
        }
        // Добавляем сортировку и лимит, получаем результат
        if ($parram != 2) {
            if (!empty($this->orderBy)) {
                $sql .= ' ' . $this->orderBy;
            }
            //  else
            //$sql .= 'ORDER BY r_position ASC';
            if (!empty($this->limit)) {
                $sql .= ' ' . $this->limit;
            }
            // echo $sql.'<br/><br/>';
            $obj = db::q($sql, records, 0);
        } else {
            $obj = count(db::q($sql, records, 0));
        }
        return $obj;
    }
<?php

session_start();
require_once "../../../classes/db.class.php";
require_once "../../../classes/ADLog.class.php";
require_once "../../../config/config.inc.php";
$defaultNodeUsername = $_REQUEST['defaultNodeUsername'];
$defaultNodePassword = $_REQUEST['defaultNodePassword'];
$defaultNodeEnable = $_REQUEST['defaultNodeEnable'];
$q = "UPDATE nodes SET\n\t\tdeviceUsername = '******',\n\t\tdevicePassword = '******',\n\t\tdeviceEnablePassword = '******'\n\t\tWHERE defaultCreds = 1";
$db = new db();
if ($db->q($q)) {
    $response = 'Success - Username & Password details saved';
} else {
    $response = 'Failed:' . mysql_error();
}
echo json_encode($response);
Example #28
0
// requires - full path required
require "/home/rconfig/classes/db.class.php";
require "/home/rconfig/classes/ADLog.class.php";
require "/home/rconfig/classes/compareClass.php";
require "/home/rconfig/classes/sshlib/Net/SSH2.php";
// this will be used in connection.class.php
require "/home/rconfig/classes/connection.class.php";
require "/home/rconfig/classes/debugging.class.php";
require "/home/rconfig/classes/textFile.class.php";
require "/home/rconfig/classes/reportTemplate.class.php";
require_once "/home/rconfig/config/config.inc.php";
require_once "/home/rconfig/config/functions.inc.php";
// declare DB Class
$db = new db();
// check and set timeZone
$q = $db->q("SELECT timeZone FROM settings");
$result = mysql_fetch_assoc($q);
$timeZone = $result['timeZone'];
date_default_timezone_set($timeZone);
// declare Logging Class
$log = ADLog::getInstance();
$log->logDir = $config_app_basedir . "logs/";
// script startTime
$startTime = date('h:i:s A');
$date = date('Ymd');
$time_start = microtime(true);
// if statement to check first argument in phpcli script - otherwise the script will not run under phpcli - similar to PHP getopt()
// script will exit with Error if not TID is sent
if (isset($argv[1])) {
    $_GET['id'] = $argv[1];
} else {
Example #29
0
	<div id="main">
	<!-- Breadcrumb Include -->    
	<?php 
include "includes/breadcrumb.inc.php";
?>
		
	<!-- Announcement Include -->    
	<?php 
include "includes/announcement.inc.php";
?>
			<div id="content">
			<?php 
/* Instantiate DB Class */
$db = new db();
$q = "SELECT \n\t\t\t\t\t\t\tn.id,\n\t\t\t\t\t\t\tn.deviceName,\n\t\t\t\t\t\t\tn.deviceIpAddr,\n\t\t\t\t\t\t\tn.connPort,\n\t\t\t\t\t\t\tv.vendorName vendorName,\n\t\t\t\t\t\t\tn.model,\n\t\t\t\t\t\t\tcat.categoryName categoryName\n\t\t\t\t\t\tFROM nodes n\n\t\t\t\t\t\tLEFT OUTER JOIN vendors v ON n.vendorId = v.id\n\t\t\t\t\t\tLEFT OUTER JOIN categories c ON n.nodeCatId = c.id\n\t\t\t\t\t\tLEFT OUTER JOIN devicesaccessmethod a ON n.deviceAccessMethodId = a.id\n\t\t\t\t\t\tLEFT OUTER JOIN categories cat ON n.nodeCatId = cat.id\n\t\t\t\t\t\tWHERE n.status = 1\n\t\t\t\t\t\tAND n.id = " . $_GET['deviceId'];
$result = $db->q($q);
//$result = $database->query($q);
$items = array();
while ($row = mysql_fetch_assoc($result)) {
    $items = $row;
}
// set VARs
$deviceName = $items['deviceName'];
$deviceIpAddr = $items['deviceIpAddr'];
$connPort = $items['connPort'];
$vendorName = $items['vendorName'];
$model = $items['model'];
$categoryName = $items['categoryName'];
?>

					<a name="top"></a> 
Example #30
0
 $catId = $_GET['catId'];
 $catCommand = $_GET['catCommand'];
 $nodeId = $_GET['nodeId'];
 $grepNumLineStr = $_GET['numLinesStr'];
 $grepNumLine = $_GET['noLines'];
 $username = $_SESSION['username'];
 // if nodeId was empty set it to blank
 if (empty($nodeId)) {
     $nodeId = '';
 } else {
     $nodeId = '/' . $nodeId . '/';
 }
 $returnArr = array();
 // Get the category Name from the Category selected
 $qCat = "SELECT categoryName from `categories` WHERE id = " . $catId . "";
 $resultCat = $db->q($qCat);
 $category = mysql_fetch_assoc($resultCat);
 $returnArr['category'] = $category['categoryName'];
 // get total file count
 $fileCount = array();
 $subDir = "";
 if (!empty($returnArr['category'])) {
     $subDir = "/" . $returnArr['category'];
 }
 exec("find /home/rconfig/data" . $subDir . $nodeId . " -maxdepth 10 -type f | wc -l", $fileCountArr);
 $returnArr['fileCount'] = $fileCountArr['0'];
 //next find all instances of the search term under the specific cat/dir
 $command = 'find /home/rconfig/data' . $subDir . $nodeId . ' -name ' . $catCommand . ' | xargs grep -il ' . $grepNumLineStr . ' ' . $searchTerm . ' | while read file ; do echo File:"$file"; grep ' . $grepNumLineStr . ' ' . $searchTerm . ' "$file" ; done';
 // echo $command;die();
 exec($command, $searchArr);
 if (!empty($searchArr)) {