Exemplo n.º 1
0
/**
* Ending measurement
*
* Ending measurement of time for specified block
*
* @param string $mpoint monitoring block name
*/
function EndMeasure($mpoint, $save_to_db = 0)
{
    global $perf_data;
    if (!$perf_data[$mpoint]['START']) {
        return;
    }
    $perf_data[$mpoint]['END'] = getmicrotime();
    if (!$perf_data[$mpoint]['MEMORY_END'] && function_exists('memory_get_usage')) {
        $perf_data[$mpoint]['MEMORY_END'] = memory_get_usage();
    }
    $perf_data[$mpoint]['TIME'] += $perf_data[$mpoint]['END'] - $perf_data[$mpoint]['START'];
    $perf_data[$mpoint]['NUM']++;
    return;
    if ($save_to_db) {
        global $db;
        if ($db->dbh) {
            $rec = array();
            $rec['OPERATION'] = substr($mpoint, 0, 200);
            $rec['COUNTER'] = 1;
            $rec['TIMEUSED'] = $perf_data[$mpoint]['TIME'];
            $rec['ADDED'] = date('Y-m-d H:i:s');
            if ($_SERVER['REQUEST_URI']) {
                $rec['SOURCE'] = 'web';
            } else {
                $rec['SOURCE'] = 'cmd';
            }
            SQLInsert('performance_log', $rec);
        }
    }
}
Exemplo n.º 2
0
function InsertClient($nom, $prenom, $mail, $tel, $dateNaiss, $mdp, $numAdr, $rueAdr, $villeAdr, $codePostal)
{
    // On insère l'utilisateur dans 'user' avec le champ 'fonction' à 0
    $sql = "INSERT INTO user(nom,prenom,mail,mdp,telephone,dateNaissance,fonction,numeroADR,rueADR,villeADR,codePostal) VALUES ('{$nom}','{$prenom}','{$mail}', '{$mdp}', '{$tel}','{$dateNaiss}','0','{$numAdr}', '{$rueAdr}', '{$villeAdr}', '{$codePostal}')";
    $res = SQLInsert($sql);
    return $res;
}
Exemplo n.º 3
0
function updateAccess($cmd_id, $users_id)
{
    SQLSelect("DELETE from tlg_user_cmd where CMD_ID=" . $cmd_id);
    $users = explode(",", $users_id);
    foreach ($users as $value) {
        $recCU = array();
        $recCU['CMD_ID'] = $cmd_id;
        $recCU['USER_ID'] = $value;
        $recCU['ID'] = SQLInsert('tlg_user_cmd', $recCU);
    }
}
Exemplo n.º 4
0
function subscribeToEvent($module_name, $event_name, $filter_details = '')
{
    $rec = SQLSelectOne("SELECT * FROM settings WHERE NAME='HOOK_EVENT_" . DBSafe(strtoupper($event_name)) . "'");
    if (!$rec['ID']) {
        $rec = array();
        $rec['NAME'] = 'HOOK_EVENT_' . strtoupper($event_name);
        $rec['TITLE'] = $rec['NAME'];
        $rec['TYPE'] = 'json';
        $rec['PRIORITY'] = 0;
        $rec['ID'] = SQLInsert('settings', $rec);
    }
    $data = json_decode($rec['VALUE'], true);
    if (!isset($data[$module_name])) {
        $data[$module_name] = 1;
        $rec['VALUE'] = json_encode($data);
        SQLUpdate('settings', $rec);
    }
}
Exemplo n.º 5
0
function getValueIdByName($object_name, $property)
{
    $value = SQLSelectOne("SELECT ID FROM pvalues WHERE PROPERTY_NAME = '" . DBSafe($object_name . '.' . $property) . "'");
    if (!$value['ID']) {
        $object = getObject($object_name);
        if (is_object($object)) {
            $property_id = $object->getPropertyByName($property, $object->class_id, $object->id);
            //
            $value = SQLSelectOne("SELECT ID FROM pvalues WHERE PROPERTY_ID='" . (int) $property_id . "' AND OBJECT_ID='" . (int) $object->id . "'");
            if (!$value['ID'] && $property_id) {
                $value = array();
                $value['PROPERTY_ID'] = $property_id;
                $value['OBJECT_ID'] = $object->id;
                $value['PROPERTY_NAME'] = $object_name . '.' . $property;
                $value['ID'] = SQLInsert('pvalues', $value);
            }
        }
    }
    return (int) $value['ID'];
}
Exemplo n.º 6
0
 /**
  * Title
  *
  * Description
  *
  * @access public
  */
 function addToList($id)
 {
     $product = SQLSelectOne("SELECT * FROM products WHERE ID='" . (int) $id . "'");
     if ($product['ID']) {
         SQLExec("DELETE FROM shopping_list_items WHERE PRODUCT_ID='" . (int) $id . "'");
         $rec = array();
         $rec['PRODUCT_ID'] = $product['ID'];
         $rec['TITLE'] = $product['TITLE'];
         $rec['IN_CART'] = 0;
         SQLInsert('shopping_list_items', $rec);
         if (defined('DROPBOX_SHOPPING_LIST')) {
             $data = LoadFile(DROPBOX_SHOPPING_LIST);
             $data = str_replace("\r", '', $data);
             $lines = explode("\n", $data);
             $total = count($lines);
             $found = 0;
             for ($i = 0; $i < $total; $i++) {
                 if ($found) {
                     continue;
                 }
                 if (is_integer(strpos($lines[$i], $product['TITLE']))) {
                     $found = 1;
                 }
             }
             if (!$found) {
                 if (!$data) {
                     $lines = array();
                     $lines[] = 'SHOPPING LIST';
                     $lines[] = '';
                 }
                 $lines[] = $product['TITLE'];
                 $data = implode("\n", $lines);
                 SaveFile(DROPBOX_SHOPPING_LIST, $data);
             }
         }
     }
 }
Exemplo n.º 7
0
 /**
 * BackEnd
 *
 * Module backend
 *
 * @access public
 */
 function admin(&$out)
 {
     global $ajax;
     if ($ajax) {
         global $op;
         global $item_id;
         if ($op == 'get_details') {
             startMeasure('getDetails');
             global $labels;
             global $values;
             $res = array();
             //echo "Debug labels: $labels \nValues: $values\n";
             $res['LABELS'] = array();
             $labels = explode(',', $labels);
             $total = count($labels);
             $seen = array();
             for ($i = 0; $i < $total; $i++) {
                 $item_id = trim($labels[$i]);
                 if (!$item_id || $seen[$item_id]) {
                     continue;
                 }
                 $seen[$item_id] = 1;
                 $item = SQLSelectOne("SELECT * FROM commands WHERE ID='" . (int) $item_id . "'");
                 if ($item['ID']) {
                     if ($item['TYPE'] == 'custom') {
                         $item['DATA'] = processTitle($item['DATA'], $this);
                         $data = $item['DATA'];
                     } else {
                         $item['TITLE'] = processTitle($item['TITLE'], $this);
                         $data = $item['TITLE'];
                     }
                     if ($item['RENDER_DATA'] != $item['DATA'] || $item['RENDER_TITLE'] != $item['TITLE']) {
                         $tmp = SQLSelectOne("SELECT * FROM commands WHERE ID='" . $item['ID'] . "'");
                         $tmp['RENDER_TITLE'] = $item['TITLE'];
                         $tmp['RENDER_DATA'] = $item['DATA'];
                         $tmp['RENDER_UPDATED'] = date('Y-m-d H:i:s');
                         SQLUpdate('commands', $tmp);
                     }
                     if (preg_match('/#[\\w\\d]{6}/is', $data, $m)) {
                         $color = $m[0];
                         $data = trim(str_replace($m[0], '<style>#item' . $item['ID'] . ' .ui-btn-active {background-color:' . $color . ';border-color:' . $color . '}</style>', $data));
                     }
                     $res['LABELS'][] = array('ID' => $item['ID'], 'DATA' => $data);
                 }
             }
             $res['VALUES'] = array();
             $values = explode(',', $values);
             $total = count($values);
             $seen = array();
             for ($i = 0; $i < $total; $i++) {
                 $item_id = trim($values[$i]);
                 if (!$item_id || $seen[$item_id]) {
                     continue;
                 }
                 $seen[$item_id] = 1;
                 $item = SQLSelectOne("SELECT * FROM commands WHERE ID='" . (int) $item_id . "'");
                 if ($item['ID']) {
                     $data = $item['CUR_VALUE'];
                     $res['VALUES'][] = array('ID' => $item['ID'], 'DATA' => $data);
                 }
             }
             $res['LATEST_REQUEST'] = time();
             echo json_encode($res);
             endMeasure('getDetails');
             exit;
         }
         if ($op == 'get_label') {
             startMeasure('getLabel');
             $item = SQLSelectOne("SELECT * FROM commands WHERE ID='" . (int) $item_id . "'");
             startMeasure('getLabel ' . $item['TITLE'], 1);
             if ($item['ID']) {
                 $res = array();
                 if ($item['TYPE'] == 'custom') {
                     $item['DATA'] = processTitle($item['DATA'], $this);
                     $res['DATA'] = $item['DATA'];
                 } else {
                     $item['TITLE'] = processTitle($item['TITLE'], $this);
                     $res['DATA'] = $item['TITLE'];
                 }
                 if ($item['RENDER_DATA'] != $item['DATA'] || $item['RENDER_TITLE'] != $item['TITLE']) {
                     $tmp = SQLSelectOne("SELECT * FROM commands WHERE ID='" . $item['ID'] . "'");
                     $tmp['RENDER_TITLE'] = $item['TITLE'];
                     $tmp['RENDER_DATA'] = $item['DATA'];
                     $tmp['RENDER_UPDATED'] = date('Y-m-d H:i:s');
                     SQLUpdate('commands', $tmp);
                 }
                 echo json_encode($res);
             }
             endMeasure('getLabel ' . $item['TITLE'], 1);
             endMeasure('getLabel', 1);
             exit;
         }
         if ($op == 'get_value') {
             startMeasure('getValue');
             $item = SQLSelectOne("SELECT * FROM commands WHERE ID='" . (int) $item_id . "'");
             if ($item['ID']) {
                 $res = array();
                 $res['DATA'] = $item['CUR_VALUE'];
                 echo json_encode($res);
             }
             endMeasure('getValue', 1);
             exit;
         }
         if ($op == 'value_changed') {
             global $new_value;
             $item = SQLSelectOne("SELECT * FROM commands WHERE ID='" . (int) $item_id . "'");
             if ($item['ID']) {
                 $old_value = $item['CUR_VALUE'];
                 $item['CUR_VALUE'] = $new_value;
                 SQLUpdate('commands', $item);
                 if ($item['LINKED_PROPERTY'] != '') {
                     //$old_value=gg($item['LINKED_OBJECT'].'.'.$item['LINKED_PROPERTY']);
                     sg($item['LINKED_OBJECT'] . '.' . $item['LINKED_PROPERTY'], $item['CUR_VALUE'], array($this->name => 'ID!=' . $item['ID']));
                 }
                 $params = array('VALUE' => $item['CUR_VALUE'], 'OLD_VALUE' => $old_value);
                 if ($item['ONCHANGE_METHOD'] != '') {
                     if (!$item['LINKED_OBJECT']) {
                         $item['LINKED_OBJECT'] = $item['ONCHANGE_OBJECT'];
                     }
                     getObject($item['LINKED_OBJECT'])->callMethod($item['ONCHANGE_METHOD'], $params);
                     //ONCHANGE_OBJECT
                     //DebMes("calling method ".$item['ONCHANGE_OBJECT'].".".$item['ONCHANGE_METHOD']." with ".$item['CUR_VALUE']);
                 }
                 if ($item['SCRIPT_ID']) {
                     //DebMes('Running on_change script #'.$item['SCRIPT_ID']);
                     runScript($item['SCRIPT_ID'], $params);
                 }
                 if ($item['CODE']) {
                     //DebMes("Running on_change code");
                     try {
                         $code = $item['CODE'];
                         $success = eval($code);
                         if ($success === false) {
                             DebMes("Error menu item code: " . $code);
                             registerError('menu_item', "Error menu item code: " . $code);
                         }
                     } catch (Exception $e) {
                         DebMes('Error: exception ' . get_class($e) . ', ' . $e->getMessage() . '.');
                         registerError('menu_item', get_class($e) . ', ' . $e->getMessage());
                     }
                 }
             }
             echo "OK";
         }
         exit;
     }
     if (isset($this->data_source) && !$_GET['data_source'] && !$_POST['data_source']) {
         $out['SET_DATASOURCE'] = 1;
     }
     if ($this->data_source == 'commands' || $this->data_source == '') {
         if ($this->view_mode == '' || $this->view_mode == 'search_commands') {
             startMeasure('searchCommands');
             $this->search_commands($out);
             endMeasure('searchCommands', 1);
         }
         if ($this->view_mode == 'moveup' && $this->id) {
             $this->reorder_items($this->id, 'up');
             $this->redirect("?");
         }
         if ($this->view_mode == 'movedown' && $this->id) {
             $this->reorder_items($this->id, 'down');
             $this->redirect("?");
         }
         if ($this->view_mode == 'edit_commands') {
             $this->edit_commands($out, $this->id);
         }
         if ($this->view_mode == 'clone_commands') {
             $rec = SQLSelectOne("SELECT * FROM commands WHERE ID='" . $this->id . "'");
             unset($rec['ID']);
             $rec['TITLE'] = $rec['TITLE'] . ' (copy)';
             $rec['ID'] = SQLInsert('commands', $rec);
             $this->redirect("?id=" . $rec['ID'] . "&view_mode=edit_commands");
         }
         if ($this->view_mode == 'delete_commands') {
             $this->delete_commands($this->id);
             $this->redirect("?");
         }
     }
 }
Exemplo n.º 8
0
 /**
 * FrontEnd
 *
 * Module frontend
 *
 * @access public
 */
 function usual(&$out)
 {
     global $session;
     if ($this->action == 'addevent') {
         global $mode;
         $this->mode = $mode;
         if ($this->mode == 'update') {
             global $type;
             global $window;
             global $details;
             global $terminal_to;
             global $user_to;
             $event = array();
             $event['EVENT_TYPE'] = $type;
             $event['WINDOW'] = $window;
             $event['DETAILS'] = $details;
             $event['TERMINAL_TO'] = $terminal_to;
             $event['TERMINAL_FROM'] = $session->data['TERMINAL'];
             $event['USER_TO'] = $user_to;
             $event['USER_FROM'] = $session->data['USERNAME'];
             $event['ADDED'] = date('Y-m-d H:i:s');
             $event['EXPIRE'] = date('Y-m-d H:i:s', time() + 5 * 60);
             //5 minutes expire
             SQLInsert('events', $event);
         }
         $terminals = SQLSelect("SELECT * FROM terminals ORDER BY TITLE");
         $total = count($terminals);
         for ($i = 0; $i < $total; $i++) {
             if ($terminals[$i]['NAME'] == $session->data['TERMINAL']) {
                 $terminals[$i]['SELECTED'] = 1;
                 $out['TERMINAL_TITLE'] = $terminals[$i]['TITLE'];
             }
         }
         $out['TERMINALS'] = $terminals;
         $users = SQLSelect("SELECT * FROM users ORDER BY NAME");
         $total = count($users);
         for ($i = 0; $i < $total; $i++) {
             if ($users[$i]['USERNAME'] == $session->data['USERNAME']) {
                 $users[$i]['SELECTED'] = 1;
                 $out['USER_TITLE'] = $users[$i]['NAME'];
             }
         }
         $out['USERS'] = $users;
     }
     if ($this->action == 'getnextevent') {
         if (!$session->data['TERMINAL']) {
             $session->data['TERMINAL'] = 'temp' . date('YmdHis');
         }
         //echo "next event for ".$session->data['USERNAME']." on ".$session->data['TERMINAL'];//.date('H:i:s')
         SQLExec("DELETE FROM events WHERE EXPIRE<NOW() AND EVENT_TYPE!='system'");
         $qry = "1";
         //$qry.=" AND TERMINAL_FROM!='".DBSafe($session->data['TERMINAL'])."'";
         $qry .= " AND EVENT_TYPE!='system'";
         $qry .= " AND PROCESSED=0";
         $qry .= " AND (TERMINAL_TO='*' OR TERMINAL_TO='" . DBSafe($session->data['TERMINAL']) . "')";
         $qry .= " AND (USER_TO='*' OR USER_TO='" . DBSafe($session->data['USERNAME']) . "')";
         $event = SQLSelectOne("SELECT * FROM events WHERE {$qry} ORDER BY ADDED");
         if ($event['ID']) {
             $res = $event['ID'] . '|' . $event['EVENT_TYPE'] . '|' . $event['WINDOW'] . '|' . str_replace("\n", '\\n', $event['DETAILS']);
             echo $res;
             $event['PROCESSED'] = 1;
             SQLUpdate('events', $event);
         }
         exit;
     }
 }
Exemplo n.º 9
0
function enregistrerMessage($idConversation, $idAuteur, $contenu)
{
    // Enregistre un message dans la base en encodant les caractères spéciaux HTML : <, > et &
    // pour interdire les messages HTML
    $SQL = "INSERT INTO messages(idConversation,idAuteur,contenu) ";
    $SQL .= " VALUES('{$idConversation}', '{$idAuteur}', '" . htmlspecialchars($contenu) . "')";
    return SQLInsert($SQL);
}
Exemplo n.º 10
0
/**
* Installing current module
*
* Adding information about module in project registry and
* processing to database installation routine if file "installed" does not
* exists in module directory.
*
* @param string $parent_name optional parent module for installing packages (reserved for future development)
* @access private
*/
 function install($parent_name="") {
  $this->dbInstall("");
  $rec=SQLSelectOne("SELECT * FROM project_modules WHERE NAME='".$this->name."'");
  if (!IsSet($rec["ID"])) {
   $rec["NAME"]=$this->name;
   if (!IsSet($this->title)) {
    $this->title=$this->name;
   }
   $rec["TITLE"]=$this->title;
   if (IsSet($this->module_category)) {
    $rec["CATEGORY"]=$this->module_category;
   }
   $rec["ID"]=SQLInsert("project_modules", $rec);
  }
  if (!file_exists(DIR_MODULES.$this->name."/installed")) {
   SaveFile(DIR_MODULES.$this->name."/installed", date("H:m d.M.Y"));
  }
 }
Exemplo n.º 11
0
 /**
 * Title
 *
 * Description
 *
 * @access public
 */
 function import_classes(&$out)
 {
     global $file;
     global $overwrite;
     global $only_classes;
     $data = LoadFile($file);
     $records = unserialize($data);
     if (is_array($records)) {
         $total = count($records);
         for ($i = 0; $i < $total; $i++) {
             $old_class = SQLSelectOne("SELECT ID FROM classes WHERE TITLE LIKE '" . DBSafe($records[$i]['TITLE']) . "'");
             $total_o = 0;
             if ($old_class['ID']) {
                 $old_objects = SQLSelect("SELECT * FROM objects WHERE CLASS_ID='" . $old_class['ID'] . "'");
                 $total_o = count($old_objects);
                 for ($io = 0; $io < $total_o; $io++) {
                     $old_objects[$io]['CLASS_ID'] = 0;
                     SQLUpdate('objects', $old_objects[$io]);
                 }
                 if ($overwrite) {
                     $this->delete_classes($old_class['ID']);
                     $records[$i]['ID'] = $old_class['ID'];
                 } else {
                     $records[$i]['TITLE'] = $records[$i]['TITLE'] . rand(0, 500);
                 }
             }
             $objects = $records[$i]['OBJECTS'];
             unset($records[$i]['OBJECTS']);
             $methods = $records[$i]['METHODS'];
             unset($records[$i]['METHODS']);
             $properties = $records[$i]['PROPERTIES'];
             unset($records[$i]['PROPERTIES']);
             $records[$i]['ID'] = SQLInsert('classes', $records[$i]);
             if ($total_o) {
                 for ($io = 0; $io < $total_o; $io++) {
                     $old_objects[$io]['CLASS_ID'] = $records[$i]['ID'];
                     SQLUpdate('objects', $old_objects[$io]);
                 }
             }
             if (is_array($properties)) {
                 $total_p = count($properties);
                 for ($p = 0; $p < $total_p; $p++) {
                     $properties[$p]['CLASS_ID'] = $records[$i]['ID'];
                     $properties[$p]['ID'] = SQLInsert('properties', $properties[$p]);
                 }
             }
             if (is_array($methods)) {
                 $total_m = count($methods);
                 for ($m = 0; $m < $total_m; $m++) {
                     $methods[$m]['CLASS_ID'] = $records[$i]['ID'];
                     $methods[$m]['ID'] = SQLInsert('methods', $methods[$m]);
                 }
             }
             if (is_array($objects) && !$only_classes) {
                 $total_o = count($objects);
                 for ($o = 0; $o < $total_o; $o++) {
                     $objects[$o]['CLASS_ID'] = $records[$i]['ID'];
                     $methods = $objects[$o]['METHODS'];
                     unset($objects[$o]['METHODS']);
                     $properties = $objects[$o]['PROPERTIES'];
                     unset($objects[$o]['PROPERTIES']);
                     $objects[$o]['ID'] = SQLInsert('objects', $objects[$o]);
                     if (is_array($properties)) {
                         $total_p = count($properties);
                         for ($p = 0; $p < $total_p; $p++) {
                             $properties[$p]['OBJECT_ID'] = $objects[$o]['ID'];
                             $properties[$p]['ID'] = SQLInsert('properties', $properties[$p]);
                         }
                     }
                     if (is_array($methods)) {
                         $total_m = count($methods);
                         for ($m = 0; $m < $total_m; $m++) {
                             $methods[$m]['OBJECT_ID'] = $objects[$o]['ID'];
                             $methods[$m]['ID'] = SQLInsert('methods', $methods[$m]);
                         }
                     }
                 }
             }
         }
         //print_r($records);
     }
     $this->updateTree_classes();
     $this->redirect("?");
 }
Exemplo n.º 12
0
function SQLEditor()
{
    extract($_SESSION);
    $conn = @mysql_connect($mhost . ":" . $mport, $muser, $mpass);
    if ($conn) {
        echo "Logged in as {$muser}@{$mhost} <a href='{$self}?act=logout'>[Logout]</a><center>";
        echo "<form method='POST' action='{$self}?'>\n            Quick SQL query: <input type='text' style='width: 300px' value='select * from users' name='sqlquery'>\n            <input type='hidden' name='db' value='{$_GET['db']}'>\n            <input type='submit' value='Go' name='sql'>\n            </form>";
        echo "<form action='{$self}?act=sqledit' method='post'>\n            <input type='submit' style='border: none;' value='[ List Processes ]' name='sql_list_proc'>\n            </form></center></br></br>";
        if (isset($_POST['sql_list_proc'])) {
            $res = mysql_list_processes();
            echo "<table style='margin: auto; text-align: center;'><tr>\n                <td>Proc ID</td><td>Host</td><td>DB</td><td>Command</td><td>Time</td>\n                </tr>";
            while ($r = mysql_fetch_assoc($res)) {
                echo "<tr><td>{$r['Id']}</td><td>{$r['Host']}</td><td>{$r['db']}</td><td>{$r['Command']}</td><td>{$r['Time']}</td></tr>";
            }
            mysql_free_result($res);
            echo "</table></br>";
        }
        if (!isset($_GET['db'])) {
            if (isset($_POST['dbc'])) {
                db_create();
            }
            if (isset($_GET['dropdb'])) {
                SQLDrop();
            }
            echo "<table style='margin: auto; text-align: center;'>\n            <tr><td>Database</td><td>Table count</td><td>Download</td><td>Drop</td></tr>";
            $all_your_base = mysql_list_dbs($conn);
            while ($your_base = mysql_fetch_assoc($all_your_base)) {
                $tbl = mysql_query("SHOW TABLES FROM {$your_base['Database']}");
                $tbl_count = mysql_num_rows($tbl);
                echo "<tr><td><a href='{$self}?act=sqledit&db={$your_base['Database']}'>{$your_base['Database']}</td><td>{$tbl_count}</td><td><a href='{$self}?act=download&db={$your_base['Database']}'>Download</a></td><td><a href='{$self}?act=sqledit&dropdb={$your_base['Database']}'>Drop</a></td></tr>";
            }
            echo "</table></br><center><form action='{$self}?act=sqledit' method='post'>New database name: <input type='text' value='new_database' name='db_name'><input type='submit' style='border: none;' value='[ Create Database ]' name='dbc'></form></center></br>";
        } elseif (isset($_GET['db']) && !isset($_GET['tbl'])) {
            if (isset($_POST['tblc'])) {
                table_create();
            }
            if (isset($_GET['droptbl'])) {
                SQLDrop();
            }
            echo "<table style='margin: auto; text-align: center;'>\n            <tr><td>Table</td><td>Column count</td><td>Dump</td><td>Drop</td></tr>";
            $tables = mysql_query("SHOW TABLES FROM {$_GET['db']}");
            while ($tblc = mysql_fetch_array($tables)) {
                $fCount = mysql_query("SHOW COLUMNS FROM {$_GET['db']}.{$tblc['0']}");
                $fc = mysql_num_rows($fCount);
                echo "<tr><td><a href='{$self}?act=sqledit&db={$_GET['db']}&tbl={$tblc['0']}'>{$tblc['0']}</a></td><td>{$fc}</td><td><a href='{$self}?act=download&db={$_GET['db']}&tbl={$tblc['0']}'>Dump</td><td><a href='{$self}?act=sqledit&db={$_GET['db']}&droptbl={$tblc['0']}'>Drop</a></td></tr>";
            }
            echo "</table></br><center><form action='{$self}?act=sqledit&db={$_GET['db']}' method='post'>Create new table: <input type='text' value='new_table' name='table_name'><input type='hidden' value='{$_GET['db']}' name='db_current'> <input type='submit' style='border: none;' value='[ Create Table ]' name='tblc'></form></center>";
        } elseif (isset($_GET['field']) && isset($_POST['sqlsave'])) {
            $discard_values = mysql_query("SELECT * FROM {$_GET['db']}.{$_GET['tbl']} WHERE {$_GET['field']}='{$_GET['v']}'");
            $values = mysql_fetch_assoc($discard_values);
            $keys = array_keys($values);
            $values = array();
            foreach ($_POST as $k => $v) {
                if (in_array($k, $keys)) {
                    $values[] = $v;
                }
            }
            $query = "UPDATE {$_GET['db']}.{$_GET['tbl']} SET ";
            for ($y = 0; $y < count($values); $y++) {
                if ($y == count($values) - 1) {
                    $query .= "{$keys[$y]}='{$values[$y]}' ";
                } else {
                    $query .= "{$keys[$y]}='{$values[$y]}', ";
                }
            }
            $query .= "WHERE {$_GET['field']} = '{$_GET['v']}'";
            $try = mysql_query($query) or die(mysql_error());
            echo "<center>Table updated!<br>";
            echo "<a href='{$self}?act=sqledit&db={$_GET['db']}&tbl={$_GET['tbl']}'>Go back</a><br><br>";
        } elseif (isset($_GET['field']) && isset($_GET['v']) && !isset($_GET['del'])) {
            echo "<center><form action='{$self}?act=sqledit&db={$_GET['db']}&tbl={$_GET['tbl']}&field={$_GET['field']}&v={$_GET['v']}' method='post'>";
            $sql_fields = array();
            $fields = mysql_query("SHOW COLUMNS FROM {$_GET['db']}.{$_GET['tbl']}");
            while ($field = mysql_fetch_assoc($fields)) {
                $sql_fields[] = $field['Field'];
            }
            $data = mysql_query("SELECT * FROM {$_GET['db']}.{$_GET['tbl']} WHERE {$_GET['field']}='{$_GET['v']}'");
            $d_piece = mysql_fetch_assoc($data);
            for ($m = 0; $m < count($sql_fields); $m++) {
                $point = $sql_fields[$m];
                echo "{$point}: <input type='text' value='{$d_piece[$point]}' name='{$sql_fields[$m]}'></br>";
            }
            echo "<input type='submit' value='Save' name='sqlsave'></form></center>";
        } elseif (isset($_GET['db']) && isset($_GET['tbl'])) {
            if (isset($_GET['insert'])) {
                SQLInsert();
            }
            if (isset($_GET['field']) && isset($_GET['v']) && isset($_GET['del'])) {
                echo "<center>";
                if (@mysql_query("DELETE FROM {$_GET['db']}.{$_GET['tbl']} WHERE {$_GET['field']}={$_GET['v']}")) {
                    echo "Row deleted</br>";
                } else {
                    echo "Failed to delete row</br>";
                }
                echo "</center>";
            }
            echo "<center><a href='{$self}?act=sqledit&db={$_GET['db']}&tbl={$_GET['tbl']}&insert=1'>[Insert new row]</a></center>";
            echo "<table style='margin: auto; text-align: center;'><tr>";
            $cols = mysql_query("SHOW COLUMNS FROM {$_GET['db']}.{$_GET['tbl']}");
            $fields = array();
            while ($col = mysql_fetch_assoc($cols)) {
                array_push($fields, $col['Field']);
                echo "<td>{$col['Field']}</td>";
            }
            echo "</tr>";
            if (isset($_GET['s']) && is_numeric($_GET['s'])) {
                $selector = mysql_query("SELECT * FROM {$_GET['db']}.{$_GET['tbl']} LIMIT {$_GET['s']}, 250");
            } else {
                $selector = mysql_query("SELECT * FROM {$_GET['db']}.{$_GET['tbl']} LIMIT 0, 250");
            }
            while ($select = mysql_fetch_row($selector)) {
                echo "<tr>";
                for ($i = 0; $i < count($fields); $i++) {
                    echo "<td>" . htmlspecialchars($select[$i]) . "</td>";
                }
                echo "<td><a href='{$self}?act=sqledit&db={$_GET['db']}&tbl={$_GET['tbl']}&field={$fields['0']}&v={$select['0']}'>Edit</a></td><td><a href='{$self}?act=sqledit&db={$_GET['db']}&tbl={$_GET['tbl']}&field={$fields['0']}&v={$select['0']}&del=true'>Delete</a></td>";
                echo "</tr>";
            }
            echo "</table>";
            echo "<table style='margin: auto;'>";
            if (isset($_GET['s'])) {
                $prev = intval($_GET['s']) - 250;
                $next = intval($_GET['s']) + 250;
                if ($_GET['s'] > 0) {
                    echo "<tr><td><a href='{$self}?act=sqledit&db={$_GET['db']}&tbl={$_GET['tbl']}&s={$prev}'>Previous</a></td>";
                }
                if (mysql_num_rows($selector) > 249) {
                    echo "<td><a href='{$self}?act=sqledit&db={$_GET['db']}&tbl={$_GET['tbl']}&s={$next}'>Next</a></td></tr>";
                }
            } else {
                echo "<center><a href='{$self}?act=sqledit&db={$_GET['db']}&tbl={$_GET['tbl']}&s=250'>Next</a></center>";
            }
            echo "</table>";
        } else {
            $_SESSION = array();
            session_destroy();
            header("Location: {$self}?act=sql");
        }
    }
}
Exemplo n.º 13
0
 /**
 * Title
 *
 * Description
 *
 * @access public
 */
 function updateChannel($id)
 {
     $ch = SQLSelectOne("SELECT * FROM rss_channels WHERE ID='" . (int) $id . "'");
     $ch['LAST_UPDATE'] = date('Y-m-d H:i:s');
     $ch['NEXT_UPDATE'] = date('Y-m-d H:i:s', time() + $ch['UPDATE_EVERY'] * 60);
     SQLUpdate('rss_channels', $ch);
     /*
     $cch =curl_init();
     curl_setopt($cch, CURLOPT_URL, $ch['URL']);
     curl_setopt($cch, CURLOPT_HTTPHEADER, array("User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3"));
     curl_setopt($cch, CURLOPT_RETURNTRANSFER, true);
     $rssdata = curl_exec($cch);
     curl_close($cch);
     */
     $rssdata = getURL($ch['URL'], 0);
     $data = simplexml_load_string($rssdata);
     if ($data) {
         if (is_object($data->channel) && !empty($data->channel)) {
             foreach ($data->channel->item as $item) {
                 $rec = array();
                 $rec['CHANNEL_ID'] = $ch['ID'];
                 $parsedFull = 0;
                 if ($item->pubDate) {
                     $rec['ADDED'] = date('Y-m-d H:i:s', strtotime((string) $item->pubDate));
                 } else {
                     $rec['ADDED'] = date('Y-m-d H:i:s');
                 }
                 $rec['TITLE'] = $this->convertObjDataToStr($item->title);
                 $rec['BODY'] = $this->convertObjDataToStr($item->description);
                 $rec['URL'] = $this->convertObjDataToStr($item->link);
                 $rec['GUID'] = $rec['URL'];
                 $timestamp = strtotime($rec['ADDED']);
                 //print_r($rec);
                 //exit;
                 $tmp = SQLSelectOne("SELECT ID FROM rss_items WHERE GUID='" . DBSafe($rec['GUID']) . "'");
                 if (!$tmp['ID']) {
                     $rec['ID'] = SQLInsert('rss_items', $rec);
                     if ($ch['SCRIPT_ID']) {
                         $params = $rec;
                         $params['CHANNEL_TITLE'] = $ch['TITLE'];
                         $params['TM'] = $timestamp;
                         $params['PASSED'] = time() - $timestamp;
                         runScript($ch['SCRIPT_ID'], $params);
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 14
0
    function MessageStatus( &$pMessage, $Status ) {
    global $skype, $CurrentUser, $archivechats;
    global $pt;

    $myhandle = $CurrentUser->Handle;

    $cmeUnknown = -1;
    $cmeCreatedChatWith = 0;
    $cmeAddedMembers = 2;
    $cmeSetTopic = 3;
    $cmeSaid = 4;
    $cmeLeft = 5;

    if ($pMessage->Type == $cmeSetTopic) {
      //skype_SetTopic($pMessage);      
    } else if ($pMessage->Type == $cmeAddedMembers) {
      //skype_add_member($pMessage);      
    } else if ($pMessage->Type == $cmeSaid || $pMessage->Type == $cmeUnknown) { 
      if ($Status == 0 || $Status == 2) {
//        print "\n$pMessage->body $Status $pMessage->type";

        if ($pMessage->FromHandle <> $CurrentUser->Handle ) {

          echo $pMessage->FromHandle.": ".convert_cyr_string($pMessage->Body, 'w', 'd')."\n";
      
          if ( substr(strtolower($pMessage->Body),0,4) == 'ping' ) {
            $skype->Chat($pMessage->ChatName)->SendMessage("pong");
          }

          $user=SQLSelectOne("SELECT ID FROM users WHERE SKYPE LIKE '".$pMessage->FromHandle."'");
          if (!$user['ID']) {
           $user=SQLSelectOne("SELECT ID FROM users ORDER BY ID");
          }
          $user_id=$user['ID'];


          $qrys=explode(' '.DEVIDER.' ', iconv('WINDOWS-1251', 'UTF-8', $pMessage->Body));
          $total=count($qrys);
          for($i=0;$i<$total;$i++) {
           $room_id=0;
           $rec=array();
           $rec['ROOM_ID']=(int)$room_id;
           $rec['MEMBER_ID']=$user_id;
           $rec['MESSAGE']=htmlspecialchars($qrys[$i]);
           $rec['ADDED']=date('Y-m-d H:i:s');
           SQLInsert('shouts', $rec);
           $pt->checkAllPatterns();
           getObject("ThisComputer")->raiseEvent("commandReceived", array("command"=>$qrys[$i]));
          }

        
        }
      }
    }
        }
Exemplo n.º 15
0
 /**
 * Title
 *
 * Description
 *
 * @access public
 */
 function clone_webvar($id)
 {
     $rec = SQLSelectOne("SELECT * FROM webvars WHERE ID='" . (int) $id . "'");
     $rec['TITLE'] .= ' (copy)';
     unset($rec['ID']);
     $rec['LOG'] = '';
     $rec['LATEST_VALUE'] = '';
     $rec['ID'] = SQLInsert('webvars', $rec);
     $this->redirect("?view_mode=edit_webvars&id=" . $rec['ID']);
 }
Exemplo n.º 16
0
    }
}
if ($this->filter_name == 'pushbullet' && !defined('SETTINGS_PUSHBULLET_PREFIX')) {
    $options = array('PUSHBULLET_KEY' => 'Pushbullet API Key', 'PUSHBULLET_LEVEL' => 'Pushbullet message minimum level', 'PUSHBULLET_DEVICE_ID' => 'Pushbullet Device ID (optional)', 'PUSHBULLET_PREFIX' => 'Pushbullet notifiaction prefix (optional)');
    foreach ($options as $k => $v) {
        $tmp = SQLSelectOne("SELECT ID FROM settings WHERE NAME LIKE '" . $k . "'");
        if (!$tmp['ID']) {
            $tmp = array();
            $tmp['NAME'] = $k;
            $tmp['TITLE'] = $v;
            $tmp['TYPE'] = 'text';
            if ($k == 'PUSHBULLET_LEVEL') {
                $tmp['VALUE'] = 1;
                $tmp['DEFAULTVALUE'] = 1;
            }
            SQLInsert('settings', $tmp);
        }
    }
}
// if (!empty($options)) {
// }
global $session;
if ($this->owner->name == 'panel') {
    $out['CONTROLPANEL'] = 1;
}
$qry = "1";
// search filters
// search filters
if ($this->filter_name != '') {
    $qry .= " AND NAME LIKE '%" . DBSafe($this->filter_name) . "%'";
    $out['FILTER_NAME'] = $this->filter_name;
   $out['ERR_TITLE']=1;
   $ok=0;
  }
 //updating 'ACTIVE' (int)
  global $active;
  $rec['ACTIVE']=(int)$active;
 //updating 'PRIORITY' (int)
  global $priority;
  $rec['PRIORITY']=(int)$priority;
 //UPDATING RECORD
  if ($ok) {
   if ($rec['ID']) {
    SQLUpdate($table_name, $rec); // update
   } else {
    $new_rec=1;
    $rec['ID']=SQLInsert($table_name, $rec); // adding new record
   }
  //updating 'ICON' (image)
  global $icon;
  global $icon_name;
  global $delete_icon;
  if ($icon!="" && file_exists($icon) && (!$delete_icon)) {
    $filename=strtolower(basename($icon_name));
    $ext=strtolower(end(explode(".",basename($icon_name))));
    if (
        (filesize($icon)<=(0*1024) || 0==0) && (Is_Integer(strpos('gif jpg png', $ext)))
       ) {
          $filename=$rec["ID"]."_icon_".time().".".$ext;
          if ($rec["ICON"]!='') {
           @Unlink(ROOT.'./cms/calendar/'.$rec["ICON"]);
          }
Exemplo n.º 18
0
 function upload(&$out)
 {
     set_time_limit(0);
     global $restore;
     global $file;
     global $file_name;
     global $folder;
     if (!$folder) {
         if (substr(php_uname(), 0, 7) == "Windows") {
             $folder = '/.';
         } else {
             $folder = '/';
         }
     } else {
         $folder = '/' . $folder;
     }
     if ($restore != '') {
         $file = $restore;
     } elseif ($file != '') {
         copy($file, ROOT . 'saverestore/' . $file_name);
         $file = $file_name;
     }
     umask(0);
     @mkdir(ROOT . 'saverestore/temp', 0777);
     if ($file != '') {
         // && mkdir(ROOT.'saverestore/temp', 0777)
         chdir(ROOT . 'saverestore/temp');
         if (substr(php_uname(), 0, 7) == "Windows") {
             // for windows only
             exec(DOC_ROOT . '/gunzip ../' . $file, $output, $res);
             //echo DOC_ROOT.'/tar xvf ../'.str_replace('.tgz', '.tar', $file);exit;
             exec(DOC_ROOT . '/tar xvf ../' . str_replace('.tgz', '.tar', $file), $output, $res);
         } else {
             exec('tar xzvf ../' . $file, $output, $res);
         }
         $x = 0;
         $dir = opendir('./');
         while (($filec = readdir($dir)) !== false) {
             if ($filec == '.' || $filec == '..') {
                 continue;
             }
             if (is_Dir($filec)) {
                 $latest_dir = $filec;
             } elseif (is_File($filec)) {
                 $latest_file = $filec;
             }
             $x++;
         }
         if ($x == 1 && $latest_dir) {
             $folder = '/' . $latest_dir;
         }
         @unlink(ROOT . 'saverestore/temp' . $folder . '/config.php');
         @unlink(ROOT . 'saverestore/temp' . $folder . '/README.md');
         chdir('../../');
         // UPDATING FILES DIRECTLY
         $this->copyTree(ROOT . 'saverestore/temp' . $folder, ROOT, 1);
         // restore all files
         $source = ROOT . 'modules';
         if ($dir = @opendir($source)) {
             while (($file = readdir($dir)) !== false) {
                 if (Is_Dir($source . "/" . $file) && $file != '.' && $file != '..') {
                     // && !file_exists($source."/".$file."/installed")
                     @unlink(ROOT . "modules/" . $file . "/installed");
                 }
             }
         }
         @unlink(ROOT . "modules/control_modules/installed");
         @SaveFile(ROOT . 'reboot', 'updated');
         global $name;
         global $version;
         $rec = SQLSelectOne("SELECT * FROM plugins WHERE MODULE_NAME LIKE '" . DBSafe($name) . "'");
         $rec['MODULE_NAME'] = $name;
         $rec['CURRENT_VERSION'] = $version;
         $rec['IS_INSTALLED'] = 1;
         $rec['LATEST_UPDATE'] = date('Y-m-d H:i:s');
         if ($rec['ID']) {
             SQLUpdate('plugins', $rec);
         } else {
             SQLInsert('plugins', $rec);
         }
         $this->redirect("?mode=clear&ok_msg=" . urlencode("Updates Installed!"));
     }
 }
Exemplo n.º 19
0
 function run()
 {
     // running current module
     global $mode;
     global $name;
     $rep_ext = "";
     if (preg_match('/\\.dev/is', $_SERVER['HTTP_HOST'])) {
         $rep_ext = '.dev';
     }
     if (preg_match('/\\.jbk/is', $_SERVER['HTTP_HOST'])) {
         $rep_ext = '.jbk';
     }
     if (preg_match('/\\.bk/is', $_SERVER['HTTP_HOST'])) {
         $rep_ext = '.bk';
     }
     if ($rep_ext) {
         $out['LOCAL_PROJECT'] = 1;
         $out['REP_EXT'] = $rep_ext;
         $out['HOST'] = $_SERVER['HTTP_HOST'];
         $out['DOCUMENT_ROOT'] = dirname($_SERVER['SCRIPT_FILENAME']);
     }
     if ($mode == "edit") {
         global $mode2;
         $rec = SQLSelectOne("SELECT * FROM project_modules WHERE NAME='" . $name . "'");
         $rec['NAME'] = $name;
         if ($mode2 == "update") {
             global $title;
             global $category;
             $rec['TITLE'] = $title;
             $rec['CATEGORY'] = $category;
             SQLUpdate("project_modules", $rec);
             $this->redirect("?name={$name}&mode=edit");
         } elseif ($mode2 == "show") {
             if ($rec['HIDDEN']) {
                 $rec['HIDDEN'] = 0;
             } else {
                 $rec['HIDDEN'] = 1;
             }
             SQLUpdate('project_modules', $rec);
             $this->redirect("?");
         } elseif ($mode2 == "ignore") {
             SQLExec("DELETE FROM ignore_updates WHERE NAME LIKE '" . DBSafe($rec['NAME']) . "'");
             $tmp = array();
             $tmp['NAME'] = $rec['NAME'];
             SQLInsert('ignore_updates', $tmp);
             $this->redirect("?");
         } elseif ($mode2 == "unignore") {
             SQLExec("DELETE FROM ignore_updates WHERE NAME LIKE '" . DBSafe($rec['NAME']) . "'");
             $this->redirect("?");
         } elseif ($mode2 == "install") {
             $rec = SQLSelectOne("SELECT * FROM project_modules WHERE NAME='" . $name . "'");
             SQLExec("DELETE FROM project_modules WHERE NAME='" . $name . "'");
             @unlink(DIR_MODULES . $name . "/installed");
             include_once DIR_MODULES . $name . "/" . $name . ".class.php";
             $obj = "\$object{$i}";
             $code .= "{$obj}=new " . $name . ";\n";
             @eval($code);
             // add module to control access
             global $session;
             $user = SQLSelectOne("SELECT * FROM admin_users WHERE LOGIN='******'");
             if ($user['ID'] && !Is_Integer(strpos($user["ACCESS"], $name))) {
                 if ($user["ACCESS"] != '') {
                     $user["ACCESS"] .= ",{$name}";
                 } else {
                     $user["ACCESS"] = $name;
                 }
                 SQLUpdate('admin_users', $user);
             }
             SQLExec("UPDATE project_modules SET HIDDEN='" . (int) $rec['HIDDEN'] . "' WHERE NAME='" . $name . "'");
             // redirect to edit
             $this->redirect("?name={$name}&mode=edit");
         } elseif ($mode2 == 'uninstall') {
             SQLExec("DELETE FROM project_modules WHERE NAME='" . $name . "'");
             @unlink(DIR_MODULES . $name . "/installed");
             if (file_exists(DIR_MODULES . $name . "/" . $name . ".class.php")) {
                 include_once DIR_MODULES . $name . "/" . $name . ".class.php";
                 $obj = "\$object{$i}";
                 $code .= "{$obj}=new " . $name . ";\n";
                 $code .= "{$obj}" . "->uninstall();";
                 eval($code);
             }
             if ($out['LOCAL_PROJECT']) {
                 $this->redirect("?mode=repository_uninstall&module={$name}");
             } else {
                 $this->redirect("?");
             }
         }
         outHash($rec, $out);
     }
     if ($mode == 'repository_uninstall') {
         global $module;
         $out['MODULE'] = $module;
     }
     $out["MODE"] = $mode;
     $this->getModulesList();
     $lst = $this->modules;
     $lstCnt = count($lst);
     for ($i = 0; $i < $lstCnt; $i++) {
         $rec = SQLSelectOne("SELECT *, DATE_FORMAT(ADDED, '%M %d, %Y (%H:%i)') as DAT FROM project_modules WHERE NAME='" . $lst[$i]['FILENAME'] . "'");
         if (isset($rec['ID'])) {
             outHash($rec, $lst[$i]);
         }
         $ignored = SQLSelectOne("SELECT ID FROM ignore_updates WHERE NAME LIKE '" . DBSafe($lst[$i]['NAME']) . "'");
         if ($ignored['ID']) {
             $lst[$i]['IGNORED'] = 1;
         }
     }
     $out["MODULES"] = $lst;
     $this->data = $out;
     $p = new parser(DIR_TEMPLATES . $this->name . "/" . $this->name . ".html", $this->data, $this);
     $this->result = $p->result;
 }
/**
* FrontEnd
*
* Module frontend
*
* @access public
*/
function usual(&$out) {


   $terminals=SQLSelect("SELECT * FROM terminals WHERE CANPLAY=1 ORDER BY TITLE");
   $total=count($terminals);
   for($i=0;$i<$total;$i++) {
    //if ($terminals[$i]['NAME']==$session->data['PLAY_TERMINAL']) {
    // $terminals[$i]['SELECTED']=1;
    // $out['TERMINAL_TITLE']=$terminals[$i]['TITLE'];
    //}
   }
   $out['TERMINALS']=$terminals;
   $out['TERMINALS_TOTAL']=count($terminals);


   if ($this->mode=='play') {
    //echo $this->owner->popup;
    global $showplayer;

    $this->showplayer=1;

    if ($this->showplayer) {
     $showplayer=1;
    }
    if ($showplayer) {
     $this->showplayer=1;
     $out['SHOWPLAYER']=1;
    }
    global $terminal_id;
    $out['TERMINAL_ID']=$terminal_id;
   }

 global $collection_id;

 if ($this->collection_id) {
  $collection_id=$this->collection_id;
 }
 $this->collection_id=$collection_id;

 $out['COLLECTIONS']=SQLSelect("SELECT * FROM collections ORDER BY TITLE");

 if (count($out['COLLECTIONS'])==1) {
  $collection_id=$out['COLLECTIONS'][0]['ID'];
  $this->collection_id=$collection_id;
  $out['COLLECTIONS_TOTAL']=1;
 }



 if ($collection_id) {
  $collection=SQLSelectOne("SELECT * FROM collections WHERE ID='".(int)$collection_id."'");
  $path=($collection['PATH']);//addslashes
  $out['COLLECTION_ID']=$collection['ID']; 
 } else {
  return;
 }

 //$this->getConfig();
 //$path=$this->config['PATH'];

// echo $path;
//
  global $folder;

  if ($this->folder) {
   $folder=base64_decode($this->folder);
  } else {
   $this->folder=base64_encode($folder);
  }
  

  $favorites=SQLSelect("SELECT * FROM media_favorites WHERE 1 ORDER BY ID DESC");
  if ($favorites) {
   $total=count($favorites);
   for($i=0;$i<$total;$i++) {
    $favorites[$i]['PATH']=urlencode(utf2win($favorites[$i]['PATH']));
   }
   $out['FAVORITES']=$favorites;
  }

  $folder=str_replace('././', './', $folder);
  $path=str_replace('././', './', $path);


  $act_dir=$path.$folder;



  $out['MEDIA_PATH']=win2utf($path);
  $out['CURRENT_DIR']=win2utf('./'.$folder);
  $out['CURRENT_DIR']=str_replace('././', './', $out['CURRENT_DIR']);
  $out['CURRENT_DIR_TITLE']=$folder;

  $tmp=explode('/', $out['CURRENT_DIR']);
  $total=count($tmp);
  if ($total>0) {
   $spath='.';
   for($i=0;$i<$total;$i++) {
    $tmp_rec=array();
    $tmp_rec['TITLE']=$tmp[$i];
    $spath.='/'.$tmp_rec['TITLE'];
    $spath=str_replace('././', './', $spath);
    $tmp_rec['PATH']=urlencode(utf2win($spath).'/');
    if ($tmp_rec['TITLE']=='.') {
     $tmp_rec['TITLE']='Home';
    }
    $out['HISTORY'][]=$tmp_rec;
    //echo $tmp_rec['PATH']."<br>";
   }
   $out['CURRENT_DIR_TITLE']=($out['HISTORY'][$total-3]['TITLE'].'/'.$out['HISTORY'][$total-2]['TITLE']);
  }


  $out['CURRENT_DIR_TITLE_HTML']=urlencode($out['CURRENT_DIR_TITLE']);
  $out['CURRENT_DIR_HTML']=urlencode('./'.($folder));

  $tmp=SQLSelectOne("SELECT ID FROM media_favorites WHERE LIST_ID='".(int)$list_id."' AND COLLECTION_ID='".$collection['ID']."' AND PATH LIKE '".DBSafe($out['CURRENT_DIR'])."'");
  if ($tmp['ID']) {
   $out['FAVORITE']=1;
  }

  global $file;
  if ($file) {
   $out['FILE']=win2utf($file);
   $out['BASEFILE']=win2utf(basename($file));
   $file=str_replace('/', '\\\\', $file);
   $out['FULLFILE']=win2utf(addslashes($path).$file);
   $out['FULLFILE_S']=str_replace('\\\\', '\\', $out['FULLFILE']);
  }

  if (preg_match('/foto/is', $act_dir) || preg_match('/photo/is', $act_dir)) {
   $out['LIST_MODE']='foto';
  }

  $descriptions=$this->getDescriptions($act_dir);

  global $media_ajax;
  if ($media_ajax) {
   global $op;
   global $list_id;
   global $title;
   global $dir;

   header ("HTTP/1.0: 200 OK\n");
   header ('Content-Type: text/html; charset=utf-8');

   $tmp_path=$dir;

   if ($op=='favorite_add') {
    $rec=array();
    $rec['TITLE']=$title;
    $rec['PATH']=$tmp_path;
    $rec['LIST_ID']=(int)$list_id;
    $rec['COLLECTION_ID']=$collection_id;
    SQLInsert('media_favorites', $rec);
    echo "OK";
   }
   if ($op=='favorite_remove') {
    SQLExec("DELETE FROM media_favorites WHERE LIST_ID='".(int)$list_id."' AND COLLECTION_ID='".$collection['ID']."' AND PATH LIKE '".DBSafe($tmp_path)."'");
    echo "OK";
   }
   exit;
  }


   function sort_files($a, $b) {
    return strcmp(strtoupper($a["TITLE"]), strtoupper($b["TITLE"])); 
   }

  $dirs=array();
  //$act_dir='\\\\home\\media\\';
  //echo $act_dir;
  $d=openDir($act_dir);
  //exit;

  if ($d) {
  while ($file=readDir($d)) {
   if (($file==".") || ($file=="..")) {
    continue;
   }
   if (Is_Dir($act_dir.$file)) {
    $rec=array();
    $rec['TITLE']=$file;
    $rec['TITLE_SHORT']=$rec['TITLE'];
    if (strlen($rec['TITLE_SHORT'])>50) {
     $rec['TITLE_SHORT']=substr($rec['TITLE_SHORT'], 0, 50).'...';
    }

    $rec['TITLE']=win2utf($rec['TITLE']);
    $rec['TITLE_SHORT']=win2utf($rec['TITLE_SHORT']);

    if (IsSet($descriptions[$file])) {
     $rec['DESCR']=$descriptions[$file];
    }
    $rec['PATH']=urlencode(($folder.$file)).'/';
    $rec['REAL_PATH']=$dir.$file;
    $rec['ID']=md5($rec['REAL_PATH']);
    $dirs[]=$rec;
   }
  }

  closeDir($d);
  }


  //$dirs=mysort_array($dirs, "TITLE");
  usort($dirs, 'sort_files');

  //print_r($dirs);

  if (count($dirs)>0) $out['DIRS']=$dirs;

  @$d=openDir($act_dir);
  if ($d) {

  $cover=$this->getCover($act_dir);
  if ($cover) {
   $out['COVER']=$cover;
   $out['COVER_PATH']=urlencode(str_replace('\\\\', '\\', $act_dir).$cover);
  }


  $files=array();
  while ($file=readDir($d)) {
   if (($file==".") || ($file=="..") || ($file=="Descript.ion")) {
    continue;
   }
   if (Is_File($act_dir.$file)) {
    $rec=array();
    $rec['TITLE']=$file;
    if (IsSet($descriptions[$file])) {
     $rec['DESCR']=$descriptions[$file];
    }
    if (strlen($rec['TITLE'])>50) {
     $rec['TITLE_SHORT']=substr($rec['TITLE'], 0, 50)."...";
    } else {
     $rec['TITLE_SHORT']=$rec['TITLE'];
    }
    $rec['TITLE']=win2utf($rec['TITLE']);
    $rec['TITLE_SHORT']=win2utf($rec['TITLE_SHORT']);
    $rec['REAL_PATH']=($folder.$file);
    $rec['PATH']=urlencode($folder.$file);
    $rec['FULL_PATH']=urlencode(str_replace('\\\\', '\\', $act_dir).$file);
    $size=filesize($act_dir.$file);
    $total_size+=$size;
    if ($size>1024) {
     if ($size>1024*1024) {
      $size=(((int)(($size/1024/1024)*10))/10)." Mb";
     } else {
      $size=(int)($size/1024)." Kb";
     }
    } else {
     $size.=" b";
    }
    $rec['SIZE']=$size;
    $rec['ID']=md5($rec['PATH']);
    $files[]=$rec;
   }
  }
  closeDir($d);
  }

  //$files=mysort_array($files, "TITLE");
  usort($files, 'sort_files');

  if (count($files)>0) {
   $total=count($files);
   $out['TOTAL_FILES']=$total;
   for($i=0;$i<$total;$i++) {
    if (preg_match('/\.jpg$/is', $files[$i]['PATH'])) {
     $files[$i]['IS_FOTO']=1;
    }
    if (($i+1)%4==0) {
     $files[$i]['NEWROW']=1;
    }
   }
   $out['FILES']=$files;
  }



  $out['TOTAL_DIRS']=count($dirs);

    if ($total_size>1024) {
     if ($total_size>1024*1024) {
      $total_size=(((int)(($total_size/1024/1024)*10))/10)." Mb";
     } else {
      $total_size=(int)($total_size/1024)." Kb";
     }
    } else {
     $total_size.=" b";
    }
    $out['TOTAL_SIZE']=$total_size;


}
Exemplo n.º 21
0
         $state_rec['CONDITION_VALUE'] = 1;
         $state_rec['ACTION_OBJECT'] = $state_rec['LINKED_OBJECT'];
         $state_rec['ACTION_METHOD'] = 'activate';
         $state_rec['ID'] = SQLInsert('elm_states', $state_rec);
         $state_rec = array();
         $state_rec['TITLE'] = 'on';
         $state_rec['HTML'] = $element['TITLE'];
         $state_rec['ELEMENT_ID'] = $element['ID'];
         $state_rec['IS_DYNAMIC'] = 1;
         $state_rec['LINKED_OBJECT'] = $linked_object;
         $state_rec['LINKED_PROPERTY'] = 'active';
         $state_rec['CONDITION'] = 1;
         $state_rec['CONDITION_VALUE'] = 1;
         $state_rec['ACTION_OBJECT'] = $state_rec['LINKED_OBJECT'];
         $state_rec['ACTION_METHOD'] = 'deactivate';
         $state_rec['ID'] = SQLInsert('elm_states', $state_rec);
         $state_id = $state_rec['ID'];
     }
 }
 if (is_array($state_rec)) {
     foreach ($state_rec as $k => $v) {
         $out['STATE_' . $k] = htmlspecialchars($v);
     }
 }
 if (is_array($element)) {
     foreach ($element as $k => $v) {
         $out['ELEMENT_' . $k] = htmlspecialchars($v);
     }
     if ($element['CSS_STYLE'] != 'default') {
         $out['ELEMENT_CSS_IMAGE'] = $this->getCSSImage($element['TYPE'], $element['CSS_STYLE']);
     }
Exemplo n.º 22
0
 /**
  * Title
  *
  * Description
  *
  * @access public
  */
 function pollDevice($device_id, $data = 0)
 {
     $rec = SQLSelectOne("SELECT * FROM zwave_devices WHERE ID='" . $device_id . "'");
     $rec_updated = 0;
     $comments = array();
     $updatedList = array();
     $properties = array();
     $command_classes = array();
     if (!$data) {
         $data = $this->apiCall('/ZWaveAPI/Run/devices[' . $rec['NODE_ID'] . '].instances[' . $rec['INSTANCE_ID'] . ']');
     }
     if (!$data) {
         return 0;
     }
     if ($_GET['debug']) {
         //echo $data->updateTime;exit;
         var_dump($data);
     }
     $updateTime = 0;
     if (!$rec['RAW_DATA']) {
         $rec_updated = 1;
     }
     $rec['RAW_DATA'] = json_encode($data);
     $rec['SENSOR_VALUE'] = '';
     if ($data->data->updateTime) {
         $updateTime = $data->data->updateTime;
     }
     if ($rec['CLASS_BASIC']) {
         $value = $data->commandClasses->{"32"}->data->value;
         if ($value !== $rec['BASIC']) {
             $rec['BASIC'] = $value;
             $rec_updated = 1;
         }
         $command_classes['Basic'] = 32;
         $properties['Basic'] = $rec['BASIC'];
         $updatedList['Basic'] = $data->commandClasses->{"32"}->data->{"updateTime"};
         if ($data->commandClasses->{"32"}->data->{"updateTime"} > $updateTime) {
             $updateTime = $data->commandClasses->{"32"}->data->{"updateTime"};
         }
     }
     if ($rec['CLASS_SENSOR_BINARY']) {
         $sensor_data = $data->commandClasses->{"48"}->data;
         if (isset($data->commandClasses->{"48"}->data->{"1"})) {
             $sensor_data = $data->commandClasses->{"48"}->data->{"1"};
         }
         $value = (int) $sensor_data->level->value;
         if ($value !== $rec['LEVEL']) {
             $rec['LEVEL'] = $value;
             $rec_updated = 1;
         }
         $properties['Level'] = $rec['LEVEL'];
         $command_classes['Level'] = 48;
         $updatedList['Level'] = $sensor_data->{"updateTime"};
         if ($sensor_data->{"updateTime"} > $updateTime) {
             $updateTime = $sensor_data->{"updateTime"};
         }
     }
     if ($rec['CLASS_SENSOR_MULTILEVEL']) {
         // multiple sensor support required!
         //SENSOR_VALUE
         $values = array();
         for ($i = 0; $i < 255; $i++) {
             if (isset($data->commandClasses->{"49"}->data->{"{$i}"})) {
                 $sensor = $data->commandClasses->{"49"}->data->{"{$i}"};
                 $values[] = trim($sensor->sensorTypeString->value) . ': ' . $sensor->val->value . $sensor->scaleString->value;
                 if (trim($sensor->sensorTypeString->value)) {
                     $prop_name = trim($sensor->sensorTypeString->value) . ', ' . $sensor->scaleString->value;
                 } else {
                     $prop_name = "Sensor {$i}";
                 }
                 if ($properties[$prop_name]) {
                     $prop_name .= ' (1)';
                 }
                 $properties[$prop_name] = $sensor->val->value;
                 $command_classes[$prop_name] = 49;
                 $updatedList[$prop_name] = $data->commandClasses->{"49"}->data->{"{$i}"}->{"updateTime"};
                 if ($data->commandClasses->{"49"}->data->{"{$i}"}->{"updateTime"} > $updateTime) {
                     $updateTime = $data->commandClasses->{"49"}->data->{"{$i}"}->{"updateTime"};
                 }
             }
         }
         $value = implode('; ', $values);
         if ($value != $rec['SENSOR_VALUE']) {
             $rec['SENSOR_VALUE'] .= $value . ';';
             $rec_updated = 1;
         }
     }
     if ($rec['CLASS_SWITCH_BINARY']) {
         $value = (int) $data->commandClasses->{"37"}->data->level->value;
         if ($value !== $rec['LEVEL']) {
             $rec['LEVEL'] = $value;
             $rec_updated = 1;
         }
         $properties['Level'] = $rec['LEVEL'];
         $command_classes['Level'] = 37;
         $updatedList['Level'] = $data->commandClasses->{"37"}->data->{"updateTime"};
         if ($data->commandClasses->{"37"}->data->{"updateTime"} > $updateTime) {
             $updateTime = $data->commandClasses->{"37"}->data->{"updateTime"};
         }
     }
     if ($rec['CLASS_SWITCH_MULTILEVEL']) {
         $value = (int) $data->commandClasses->{"38"}->data->level->value;
         if ($value !== $rec['LEVEL']) {
             $rec['LEVEL'] = $value;
             $rec_updated = 1;
         }
         $properties['Level'] = $rec['LEVEL'];
         $command_classes['Level'] = 38;
         $updatedList['Level'] = $data->commandClasses->{"38"}->data->{"updateTime"};
         if ($data->commandClasses->{"38"}->data->{"updateTime"} > $updateTime) {
             $updateTime = $data->commandClasses->{"38"}->data->{"updateTime"};
         }
         $properties['LevelDuration command (level, duration)'] = '';
     }
     if ($rec['CLASS_BATTERY']) {
         $value = (int) $data->commandClasses->{"128"}->data->last->value;
         if ($value != $rec['BATTERY_LEVEL']) {
             $rec['BATTERY_LEVEL'] = $value;
             $rec_updated = 1;
         }
         $command_classes['Battery'] = 128;
         $properties['Battery'] = $rec['BATTERY_LEVEL'];
         $updatedList['Battery'] = $data->commandClasses->{"128"}->data->{"updateTime"};
         if ($data->commandClasses->{"128"}->data->{"updateTime"} > $updateTime) {
             $updateTime = $data->commandClasses->{"128"}->data->{"updateTime"};
         }
     }
     if ($rec['CLASS_METER']) {
         // ... 50
         $values = array();
         for ($i = 0; $i < 255; $i++) {
             if (isset($data->commandClasses->{"50"}->data->{"{$i}"})) {
                 $sensor = $data->commandClasses->{"50"}->data->{"{$i}"};
                 $values[] = trim($sensor->sensorTypeString->value) . ': ' . $sensor->val->value . ' ' . $sensor->scaleString->value;
                 if (trim($sensor->sensorTypeString->value)) {
                     $prop_name = trim($sensor->sensorTypeString->value) . ', ' . $sensor->scaleString->value;
                 } else {
                     $prop_name = "Meter {$i}";
                 }
                 if ($properties[$prop_name]) {
                     $prop_name .= ' (1)';
                 }
                 $command_classes[$prop_name] = 50;
                 $properties[$prop_name] = $sensor->val->value;
                 $updatedList[$prop_name] = $data->commandClasses->{"50"}->data->{"{$i}"}->{"updateTime"};
                 if ($data->commandClasses->{"50"}->data->{"{$i}"}->{"updateTime"} > $updateTime) {
                     $updateTime = $data->commandClasses->{"50"}->data->{"{$i}"}->{"updateTime"};
                 }
             }
         }
         $value = implode('; ', $values);
         if ($value != '') {
             $rec['SENSOR_VALUE'] .= $value . '; ';
             $rec_updated = 1;
         }
     }
     if ($rec['CLASS_SENSOR_ALARM']) {
         // ... $data->commandClasses->{"156"}->data
         if (is_object($data->commandClasses->{"156"}->data->{"0"}->sensorState)) {
             $command_classes['AlarmGeneral'] = 156;
             $properties['AlarmGeneral'] = $data->commandClasses->{"156"}->data->{"0"}->sensorState->value;
             $updatedList['AlarmGeneral'] = $data->commandClasses->{"156"}->data->{"0"}->sensorState->updateTime;
             $value = $properties['AlarmGeneral'];
             if ($value != $rec['LEVEL']) {
                 $rec['LEVEL'] = $value;
                 $rec_updated = 1;
             }
         }
         if (is_object($data->commandClasses->{"156"}->data->{"1"}->sensorState)) {
             $command_classes['AlarmSmoke'] = 156;
             $properties['AlarmSmoke'] = $data->commandClasses->{"156"}->data->{"1"}->sensorState->value;
             $updatedList['AlarmSmoke'] = $data->commandClasses->{"156"}->data->{"1"}->sensorState->updateTime;
         }
         if (is_object($data->commandClasses->{"156"}->data->{"2"}->sensorState)) {
             $command_classes['AlarmCarbonMonoxide'] = 156;
             $properties['AlarmCarbonMonoxide'] = $data->commandClasses->{"156"}->data->{"2"}->sensorState->value;
             $updatedList['AlarmCarbonMonoxide'] = $data->commandClasses->{"156"}->data->{"2"}->sensorState->updateTime;
         }
         if (is_object($data->commandClasses->{"156"}->data->{"3"}->sensorState)) {
             $command_classes['AlarmCarbonDioxide'] = 156;
             $properties['AlarmCarbonDioxide'] = $data->commandClasses->{"156"}->data->{"3"}->sensorState->value;
             $updatedList['AlarmCarbonDioxide'] = $data->commandClasses->{"156"}->data->{"3"}->sensorState->updateTime;
         }
         if (is_object($data->commandClasses->{"156"}->data->{"4"}->sensorState)) {
             $command_classes['AlarmHeat'] = 156;
             $properties['AlarmHeat'] = $data->commandClasses->{"156"}->data->{"4"}->sensorState->value;
             $updatedList['AlarmHeat'] = $data->commandClasses->{"156"}->data->{"4"}->sensorState->updateTime;
         }
         if (is_object($data->commandClasses->{"156"}->data->{"5"}->sensorState)) {
             $command_classes['AlarmFlood'] = 156;
             $properties['AlarmFlood'] = $data->commandClasses->{"156"}->data->{"5"}->sensorState->value;
             $updatedList['AlarmFlood'] = $data->commandClasses->{"156"}->data->{"5"}->sensorState->updateTime;
         }
         if ($data->commandClasses->{"156"}->data->{"updateTime"} > $updateTime) {
             $updateTime = $data->commandClasses->{"156"}->data->{"updateTime"};
         }
     }
     if ($rec['CLASS_SCENE_CONTROLLER'] && is_object($data->commandClasses->{"43"}->data->{"currentScene"})) {
         // ... 43
         $properties['CurrentScene'] = $data->commandClasses->{"43"}->data->{"currentScene"}->value;
         if ($data->commandClasses->{"43"}->data->{"updateTime"} > $updateTime) {
             $updateTime = $data->commandClasses->{"43"}->data->{"updateTime"};
         }
     } elseif ($rec['CLASS_SCENE_CONTROLLER'] && is_object($data->commandClasses->{"45"}->data->{"currentScene"})) {
         // ... 45
         $properties['CurrentScene'] = $data->commandClasses->{"45"}->data->{"currentScene"}->value;
         if ($data->commandClasses->{"45"}->data->{"updateTime"} > $updateTime) {
             $updateTime = $data->commandClasses->{"43"}->data->{"updateTime"};
         }
     }
     if ($rec['CLASS_THERMOSTAT'] && isset($data->commandClasses->{"64"}->data->mode->value)) {
         //$value=$data->commandClasses->{"64"}->data->{$data->commandClasses->{"64"}->data->mode->value}->modeName->value;
         $rec['SENSOR_VALUE'] .= " Mode: " . $data->commandClasses->{"64"}->data->{$data->commandClasses->{"64"}->data->mode->value}->modeName->value . ';';
         $value = $data->commandClasses->{"64"}->data->mode->value;
         if ($value != $rec['MODE_VALUE']) {
             $rec['MODE_VALUE'] = $value;
             $rec_updated = 1;
         }
         $command_classes['Thermostat mode'] = 64;
         $properties['Thermostat mode'] = $rec['MODE_VALUE'];
         $updatedList['Thermostat mode'] = $data->commandClasses->{"64"}->data->{"updateTime"};
         if ($data->commandClasses->{"64"}->data->{"updateTime"} > $updateTime) {
             $updateTime = $data->commandClasses->{"64"}->data->{"updateTime"};
         }
         $comments_str = '';
         for ($i = 0; $i < 255; $i++) {
             if ($data->commandClasses->{"64"}->data->{$i}) {
                 $comments_str .= "{$i} = " . $data->commandClasses->{"64"}->data->{$i}->modeName->value . "; ";
             }
         }
         $comments['Thermostat mode'] = $comments_str;
         if (isset($data->commandClasses->{"67"}->data)) {
             //ThermostatSetPoint
             for ($i = 0; $i < 255; $i++) {
                 if ($data->commandClasses->{"67"}->data->{$i}->val) {
                     $key = 'ThermostatSetPoint ' . $data->commandClasses->{"67"}->data->{$i}->modeName->value;
                     $properties[$key] = $data->commandClasses->{"67"}->data->{$i}->val->value;
                     $command_classes[$key] = 67;
                     if ($data->commandClasses->{"67"}->data->{$i}->scaleString->value) {
                         $comments[$key] = $data->commandClasses->{"67"}->data->{$i}->scaleString->value;
                     }
                 }
             }
         }
         if (isset($data->commandClasses->{"68"}->data->mode->value)) {
             //ThermostatFanMode
             $properties['ThermostatFanOn'] = (int) $data->commandClasses->{"68"}->data->on->value;
             $command_classes['ThermostatFanMode'] = 68;
             $properties['ThermostatFanMode'] = $data->commandClasses->{"68"}->data->mode->value;
             if ($data->commandClasses->{"68"}->data->{"updateTime"} > $updateTime) {
                 $updateTime = $data->commandClasses->{"68"}->data->{"updateTime"};
             }
             $rec['SENSOR_VALUE'] .= " Fan Mode: " . $data->commandClasses->{"68"}->data->{$data->commandClasses->{"68"}->data->mode->value}->modeName->value . ';';
             $comments_str = '';
             for ($i = 0; $i < 255; $i++) {
                 if ($data->commandClasses->{"68"}->data->{$i}) {
                     $comments_str .= "{$i} = " . $data->commandClasses->{"68"}->data->{$i}->modeName->value . "; ";
                 }
             }
             $comments['ThermostatFanMode'] = $comments_str;
         }
     }
     if ($updateTime) {
         $properties['updateTime'] = $updateTime;
         $rec['LATEST_UPDATE'] = date('Y-m-d H:i:s', $properties['updateTime']);
         $rec_updated = 1;
     }
     if ($rec_updated) {
         SQLUpdate('zwave_devices', $rec);
     }
     foreach ($properties as $k => $v) {
         $prop = SQLSelectOne("SELECT * FROM zwave_properties WHERE DEVICE_ID='" . $rec['ID'] . "' AND UNIQ_ID LIKE '" . DBSafe($k) . "'");
         $prop['DEVICE_ID'] = $rec['ID'];
         $prop['UNIQ_ID'] = $k;
         $prop['TITLE'] = $k;
         $prop['COMMAND_CLASS'] = $command_classes[$k];
         if ($prop['VALUE'] != $v) {
             $prop['UPDATED'] = date('Y-m-d H:i:s');
         }
         if ($updatedList[$k]) {
             $prop['UPDATED'] = date('Y-m-d H:i:s', $updatedList[$k]);
         }
         $prop['VALUE'] = $v;
         if ($comments[$k]) {
             $prop['COMMENTS'] = $comments[$k];
         }
         if (is_numeric($prop['VALUE']) && $prop['VALUE'] !== '') {
             $prop['VALUE'] = round($prop['VALUE'], 3);
         }
         if ($prop['ID']) {
             SQLUpdate('zwave_properties', $prop);
             if ($prop['VALUE'] !== '') {
                 $validated = 1;
             } else {
                 $validated = 0;
                 continue;
             }
             if ($prop['LINKED_OBJECT']) {
                 if ($prop['CORRECT_VALUE']) {
                     $prop['VALUE'] += (double) $prop['CORRECT_VALUE'];
                 }
             }
             if ($prop['VALIDATE']) {
                 if ((double) $prop['VALUE'] < (double) $prop['VALID_FROM'] || (double) $prop['VALUE'] > (double) $prop['VALID_TO']) {
                     $validated = 0;
                 }
             }
             if ($prop['LINKED_OBJECT'] && $prop['LINKED_PROPERTY'] && $validated) {
                 $old_value = getGlobal($prop['LINKED_OBJECT'] . '.' . $prop['LINKED_PROPERTY']);
                 if ($prop['VALUE'] != $old_value) {
                     setGlobal($prop['LINKED_OBJECT'] . '.' . $prop['LINKED_PROPERTY'], $prop['VALUE'], array($this->name => '0'));
                 }
             }
             if ($prop['LINKED_OBJECT'] && $prop['LINKED_METHOD'] && $validated && ($prop['VALUE'] != $old_value || !$prop['LINKED_PROPERTY'])) {
                 $params = array();
                 $params['VALUE'] = $prop['VALUE'];
                 callMethod($prop['LINKED_OBJECT'] . '.' . $prop['LINKED_METHOD'], $params);
             }
         } else {
             $prop['ID'] = SQLInsert('zwave_properties', $prop);
         }
     }
     //print_r($data);exit;
 }
Exemplo n.º 23
0
 $rec = array();
 //$rec['ADDED']     = ($time) ? $time : date('Y-m-d H:i:s');
 $rec['ADDED'] = date('Y-m-d H:i:s');
 $rec['LAT'] = $_REQUEST['latitude'];
 $rec['LON'] = $_REQUEST['longitude'];
 $rec['ALT'] = round($_REQUEST['altitude'], 2);
 $rec['PROVIDER'] = $_REQUEST['provider'];
 $rec['SPEED'] = round($_REQUEST['speed'], 2);
 $rec['BATTLEVEL'] = $_REQUEST['battlevel'];
 $rec['CHARGING'] = (int) $_REQUEST['charging'];
 $rec['DEVICEID'] = $_REQUEST['deviceid'];
 $rec['ACCURACY'] = isset($_REQUEST['accuracy']) ? $_REQUEST['accuracy'] : 0;
 if ($device['ID']) {
     $rec['DEVICE_ID'] = $device['ID'];
 }
 $rec['ID'] = SQLInsert('gpslog', $rec);
 if ($device['USER_ID']) {
     $sqlQuery = "SELECT *\n                     FROM users\n                    WHERE ID = '" . $device['USER_ID'] . "'";
     $user = SQLSelectOne($sqlQuery);
     if ($user['LINKED_OBJECT']) {
         setGlobal($user['LINKED_OBJECT'] . '.Coordinates', $rec['LAT'] . ',' . $rec['LON']);
         setGlobal($user['LINKED_OBJECT'] . '.CoordinatesUpdated', date('H:i'));
         setGlobal($user['LINKED_OBJECT'] . '.CoordinatesUpdatedTimestamp', time());
         setGlobal($user['LINKED_OBJECT'] . '.BattLevel', $rec['BATTLEVEL']);
         setGlobal($user['LINKED_OBJECT'] . '.Charging', $rec['CHARGING']);
         $sqlQuery = "SELECT *\n                        FROM gpslog\n                       WHERE ID        != '" . $rec['ID'] . "'\n                         AND DEVICE_ID = '" . $device['ID'] . "'\n                       ORDER BY ID DESC\n                       LIMIT 1";
         $prev_log = SQLSelectOne($sqlQuery);
         if ($prev_log['ID']) {
             $distance = calculateTheDistance($rec['LAT'], $rec['LON'], $prev_log['LAT'], $prev_log['LON']);
             if ($distance > 100) {
                 //we're moving
            global $linked_object_new;
            global $linked_property_new;
            if ($oid_new) {
                $prec = array();
                $prec['DEVICE_ID'] = $rec['ID'];
                $prec['OID'] = trim($oid_new);
                $prec['TITLE'] = trim($ptitle_new);
                $prec['TYPE'] = $type_new;
                //$prec['VALUE']
                $prec['ONLINE_INTERVAL'] = (int) $pinterval_new;
                if ($prec['ONLINE_INTERVAL']) {
                    $prec['CHECK_NEXT'] = date('Y-m-d H:i:s');
                }
                $prec['LINKED_OBJECT'] = trim($linked_object_new);
                $prec['LINKED_PROPERTY'] = trim($linked_property_new);
                $prec['ID'] = SQLInsert('snmpproperties', $prec);
            }
        }
        $out['OK'] = 1;
    } else {
        $out['ERR'] = 1;
    }
}
//options for 'SCRIPT_ID' (select)
$tmp = SQLSelect("SELECT ID, TITLE FROM scripts ORDER BY TITLE");
$scripts_total = count($tmp);
for ($scripts_i = 0; $scripts_i < $scripts_total; $scripts_i++) {
    $script_id_opt[$tmp[$scripts_i]['ID']] = $tmp[$scripts_i]['TITLE'];
}
for ($i = 0; $i < count($tmp); $i++) {
    if ($rec['SCRIPT_ID'] == $tmp[$i]['ID']) {
Exemplo n.º 25
0
// connecting to database
$db = new mysql(DB_HOST, '', DB_USER, DB_PASSWORD, DB_NAME);
include_once "./load_settings.php";
include_once DIR_MODULES . "control_modules/control_modules.class.php";
// ...
set_time_limit(0);
include_once DIR_MODULES . 'snmpdevices/snmpdevices.class.php';
$snmpdevices = new snmpdevices();
$socket = stream_socket_server("udp://0.0.0.0:162", $errno, $errstr, STREAM_SERVER_BIND);
// If we could not bind successfully, let's throw an error
if (!$socket) {
    die($errstr);
} else {
    do {
        $pkt = stream_socket_recvfrom($socket, 512, 0, $peer);
        if (preg_match('/:\\d+$/', $peer, $m)) {
            $peer = str_replace($m[0], '', $peer);
        }
        echo date('Y-m-d H:i:s') . ' new snmp trap from ' . $peer . "\n";
        $device = SQLSelectOne("SELECT ID FROM snmpdevices WHERE HOST LIKE '" . DBSafe($peer) . "'");
        if ($device['ID']) {
            $snmpdevices->readDevice($device['ID']);
        } else {
            $device['TITLE'] = $peer;
            $device['HOST'] = $peer;
            $device['ID'] = SQLInsert('snmpdevices', $device);
        }
    } while ($pkt !== false);
}
$db->Disconnect();
// closing database connection
Exemplo n.º 26
0
/**
* BackEnd
*
* Module backend
*
* @access public
*/
function admin(&$out) {

 global $session;

 if (isset($this->data_source) && !$_GET['data_source'] && !$_POST['data_source']) {
  $out['SET_DATASOURCE']=1;
 }

 global $delete_room;
 if ($delete_room!='' && LOGGED_USER) {
  $room=SQLSelectOne("SELECT * FROM shoutrooms WHERE ID='".(int)$delete_room."' AND ADDED_BY=".(int)$session->data['logged_user']);
  if ($room['ID']) {
   SQLExec("DELETE FROM shouts WHERE ROOM_ID=".$room['ID']);
   SQLExec("DELETE FROM shoutrooms WHERE ID='".$room['ID']."'");
  }
  unset($session->data['SHOUT_ROOM_ID']);
  $this->redirect("/chat.html");
 }
 
 global $change_visibility;
 if ($change_visibility && LOGGED_USER)
 {
        $room=SQLSelectOne("SELECT * FROM shoutrooms WHERE ID='".(int)$change_visibility."' AND ADDED_BY=".LOGGED_USER_ID);
        if ($room['ID'])
        {
                $room['IS_PUBLIC'] = $room['IS_PUBLIC']?0:1;
                SQLUpdate('shoutrooms',$room);
        }
        $this->redirect("/chat/room".$room['ID'].'.html');
 }
 
 if ($this->mode=='newroom' && $session->data['logged_user']) {
  $rec=array();
  global $room_title;
  global $make_public;
  $rec['TITLE']=htmlspecialchars($room_title);
  $rec['ADDED_BY']=$session->data['logged_user'];
  $rec['ADDED']=date('Y-m-d H:i:s');
  $rec['IS_PUBLIC']=(int)$make_public;
  if ($rec['TITLE']) {
   $rec['ID']=SQLInsert('shoutrooms', $rec);
   $this->redirect("/chat/room".$rec['ID'].'.html');
  }
 }

 if ($this->data_source=='shouts' || $this->data_source=='') {
  if ($this->view_mode=='' || $this->view_mode=='search_shouts') {
   $this->search_shouts($out);

  }
  if ($this->view_mode=='delete_shouts') {
   $this->delete_shouts($this->id);
   $this->redirect("?");
  }
 }
}
Exemplo n.º 27
0
        }
    }
    //updating 'ONLINE_INTERVAL' (int)
    global $online_interval;
    $rec['ONLINE_INTERVAL'] = (int) $online_interval;
    //UPDATING RECORD
    if ($ok) {
        $rec['STATUS'] = 0;
        $rec['CHECK_LATEST'] = '';
        $rec['CHECK_NEXT'] = date('Y-m-d H:i:s');
        if ($rec['ID']) {
            SQLUpdate($table_name, $rec);
            // update
        } else {
            $new_rec = 1;
            $rec['ID'] = SQLInsert($table_name, $rec);
            // adding new record
        }
        $out['OK'] = 1;
    } else {
        $out['ERR'] = 1;
    }
}
if (is_array($rec)) {
    foreach ($rec as $k => $v) {
        if (!is_array($v)) {
            $rec[$k] = htmlspecialchars($v);
        }
    }
}
outHash($rec, $out);
Exemplo n.º 28
0
 /**
 * Title
 *
 * Description
 *
 * @access public
 */
 function setProperty($property, $value, $no_linked = 0)
 {
     startMeasure('setProperty');
     startMeasure('setProperty (' . $property . ')');
     $id = $this->getPropertyByName($property, $this->class_id, $this->id);
     $old_value = '';
     if ($id) {
         $prop = SQLSelectOne("SELECT * FROM properties WHERE ID='" . $id . "'");
         $v = SQLSelectOne("SELECT * FROM pvalues WHERE PROPERTY_ID='" . (int) $id . "' AND OBJECT_ID='" . (int) $this->id . "'");
         $old_value = $v['VALUE'];
         $v['VALUE'] = $value;
         if ($v['ID']) {
             $v['UPDATED'] = date('Y-m-d H:i:s');
             if ($old_value != $value) {
                 SQLUpdate('pvalues', $v);
                 //DebMes("Setting [".$this->object_title.".".$property."] to new value [".$value."]");
             } else {
                 SQLExec("UPDATE pvalues SET UPDATED='" . $v['UPDATED'] . "' WHERE ID='" . $v['ID'] . "'");
                 //DebMes("Setting [".$this->object_title.".".$property."] to the same value [".$value."]");
             }
         } else {
             $v['PROPERTY_ID'] = $id;
             $v['OBJECT_ID'] = $this->id;
             $v['VALUE'] = $value;
             $v['UPDATED'] = date('Y-m-d H:i:s');
             $v['ID'] = SQLInsert('pvalues', $v);
         }
         //DebMes(" $id to $value ");
     } else {
         $prop = array();
         $prop['OBJECT_ID'] = $this->id;
         $prop['TITLE'] = $property;
         $prop['ID'] = SQLInsert('properties', $prop);
         $v['PROPERTY_ID'] = $prop['ID'];
         $v['OBJECT_ID'] = $this->id;
         $v['VALUE'] = $value;
         $v['UPDATED'] = date('Y-m-d H:i:s');
         $v['ID'] = SQLInsert('pvalues', $v);
     }
     if ($prop['KEEP_HISTORY'] > 0) {
         startMeasure('DeleteOldHistory');
         SQLExec("DELETE FROM phistory WHERE VALUE_ID='" . $v['ID'] . "' AND TO_DAYS(NOW())-TO_DAYS(ADDED)>" . (int) $prop['KEEP_HISTORY']);
         endMeasure('DeleteOldHistory', 1);
         $h = array();
         $h['VALUE_ID'] = $v['ID'];
         $h['ADDED'] = date('Y-m-d H:i:s');
         $h['VALUE'] = $value;
         $h['ID'] = SQLInsert('phistory', $h);
     }
     /*
      $h=array();
      $h['ADDED']=date('Y-m-d H:i:s');
      $h['OBJECT_ID']=$this->id;
      $h['VALUE_ID']=$v['ID'];
      $h['OLD_VALUE']=$old_value;
      $h['NEW_VALUE']=$value;
      SQLInsert('history', $h);
     */
     //commands, owproperties, snmpproperties, zwave_properties, mqtt
     $tables = array('commands', 'owproperties', 'snmpproperties', 'zwave_properties', 'mqtt', 'modbusdevices');
     if (!is_array($no_linked) && $no_linked) {
         $no_linked = array();
         foreach ($tables as $t) {
             $no_linked[$k] = '0';
         }
     } elseif (is_array($no_linked)) {
         foreach ($tables as $t) {
             if (!isset($no_linked[$k])) {
                 $no_linked[$k] = '1';
             }
         }
     } else {
         $no_linked = array();
         foreach ($tables as $t) {
             $no_linked[$k] = '1';
         }
     }
     foreach ($tables as $t) {
         if ($no_linked[$t] == '') {
             $no_linked[$t] = '1';
         }
     }
     if ($no_linked['commands'] != '') {
         $commands = SQLSelect("SELECT * FROM commands WHERE LINKED_OBJECT LIKE '" . DBSafe($this->object_title) . "' AND LINKED_PROPERTY LIKE '" . DBSafe($property) . "' AND " . $no_linked['commands']);
         $total = count($commands);
         for ($i = 0; $i < $total; $i++) {
             $commands[$i]['CUR_VALUE'] = $value;
             SQLUpdate('commands', $commands[$i]);
         }
     }
     if ($no_linked['owproperties'] != '' && file_exists(DIR_MODULES . '/onewire/onewire.class.php')) {
         $owp = SQLSelect("SELECT ID FROM owproperties WHERE LINKED_OBJECT LIKE '" . DBSafe($this->object_title) . "' AND LINKED_PROPERTY LIKE '" . DBSafe($property) . "' AND " . $no_linked['owproperties']);
         $total = count($owp);
         if ($total) {
             include_once DIR_MODULES . '/onewire/onewire.class.php';
             $on_wire = new onewire();
             for ($i = 0; $i < $total; $i++) {
                 $on_wire->setProperty($owp[$i]['ID'], $value);
             }
         }
     }
     if ($no_linked['snmpproperties'] != '' && file_exists(DIR_MODULES . '/snmpdevices/snmpdevices.class.php')) {
         $snmpdevices = SQLSelect("SELECT ID FROM snmpproperties WHERE LINKED_OBJECT LIKE '" . DBSafe($this->object_title) . "' AND LINKED_PROPERTY LIKE '" . DBSafe($property) . "' AND " . $no_linked['snmpproperties']);
         $total = count($snmpdevices);
         if ($total) {
             include_once DIR_MODULES . '/snmpdevices/snmpdevices.class.php';
             $snmp = new snmpdevices();
             for ($i = 0; $i < $total; $i++) {
                 $snmp->setProperty($snmpdevices[$i]['ID'], $value);
             }
         }
     }
     if ($no_linked['zwave_properties'] != '' && file_exists(DIR_MODULES . '/zwave/zwave.class.php')) {
         $zwave_properties = SQLSelect("SELECT ID FROM zwave_properties WHERE LINKED_OBJECT LIKE '" . DBSafe($this->object_title) . "' AND LINKED_PROPERTY LIKE '" . DBSafe($property) . "' AND " . $no_linked['zwave_properties']);
         $total = count($zwave_properties);
         if ($total) {
             include_once DIR_MODULES . '/zwave/zwave.class.php';
             $zwave = new zwave();
             for ($i = 0; $i < $total; $i++) {
                 $zwave->setProperty($zwave_properties[$i]['ID'], $value);
             }
         }
     }
     if ($no_linked['mqtt'] != '' && file_exists(DIR_MODULES . '/mqtt/mqtt.class.php')) {
         $mqtt_properties = SQLSelect("SELECT ID FROM mqtt WHERE LINKED_OBJECT LIKE '" . DBSafe($this->object_title) . "' AND LINKED_PROPERTY LIKE '" . DBSafe($property) . "' AND " . $no_linked['mqtt']);
         $total = count($mqtt_properties);
         if ($total) {
             include_once DIR_MODULES . '/mqtt/mqtt.class.php';
             $mqtt = new mqtt();
             for ($i = 0; $i < $total; $i++) {
                 $mqtt->setProperty($mqtt_properties[$i]['ID'], $value);
             }
         }
     }
     if ($no_linked['modbusdevices'] != '' && file_exists(DIR_MODULES . '/modbus/modbus.class.php')) {
         $modbusdevices = SQLSelect("SELECT ID FROM modbusdevices WHERE LINKED_OBJECT LIKE '" . DBSafe($this->object_title) . "' AND LINKED_PROPERTY LIKE '" . DBSafe($property) . "' AND " . $no_linked['modbusdevices']);
         $total = count($modbusdevices);
         if ($total) {
             include_once DIR_MODULES . '/modbus/modbus.class.php';
             $modbus = new modbus();
             for ($i = 0; $i < $total; $i++) {
                 $modbus->poll_device($modbusdevices[$i]['ID']);
             }
         }
     }
     if ($prop['ONCHANGE']) {
         global $property_linked_history;
         if (!$property_linked_history[$property][$prop['ONCHANGE']]) {
             $property_linked_history[$property][$prop['ONCHANGE']] = 1;
             global $on_change_called;
             $params = array();
             $params['PROPERTY'] = $property;
             $params['NEW_VALUE'] = (string) $value;
             $params['OLD_VALUE'] = (string) $old_value;
             $this->callMethod($prop['ONCHANGE'], $params);
             unset($property_linked_history[$property][$prop['ONCHANGE']]);
         }
     }
     endMeasure('setProperty (' . $property . ')', 1);
     endMeasure('setProperty', 1);
 }
Exemplo n.º 29
0
}
$table_name = 'app_quotes';
if ($this->mode == 'update') {
    global $file;
    if (file_exists($file)) {
        $tmp = LoadFile($file);
        $ok = 1;
        //$tmp=str_replace("\r", '', $tmp);
        $lines = mb_split("\n", $tmp);
        $total_lines = count($lines);
        for ($i = 0; $i < $total_lines; $i++) {
            //$values=explode("\t", $lines[$i]);
            $rec = array();
            $rec_ok = 1;
            $rec['BODY'] = $lines[$i];
            if ($rec['BODY'] == '') {
                $rec_ok = 0;
            }
            if ($rec_ok) {
                $old = SQLSelectOne("SELECT ID FROM " . $table_name . " WHERE BODY LIKE '" . DBSafe($rec['BODY']) . "'");
                if ($old['ID']) {
                    $rec['ID'] = $old['ID'];
                    SQLUpdate($table_name, $rec);
                } else {
                    SQLInsert($table_name, $rec);
                }
                $out["TOTAL"]++;
            }
        }
    }
}
Exemplo n.º 30
0
         //UPDATE client SET DatePermis='" . $date_permis . "' WHERE idPersonne=" . $id;
         $start = str_replace("T", " ", $start);
         $end = str_replace("T", " ", $end);
         //UPDATE `pinf`.`choixsurplanning` SET `dateDebut` = '2015-02-04 09:10:00' WHERE `choixsurplanning`.`id` =21;
         $sql = "UPDATE choixsurplanning SET dateDebut ='{$start}', dateFin ='{$end}' WHERE id ={$id}";
         $res = SQLUpdate($sql);
     } else {
         $res = "Problème d'update";
     }
     echo $res;
     //echo($sql);
     break;
 case 'supprimerTout':
     $res = NULL;
     $sql = "DELETE FROM choixsurplanning";
     $res = SQLInsert($sql);
     echo $res;
     break;
     /* *** FIN PLANNING *** */
     /* *** PARTIE INFOS PRATIQUES *** */
     /* Auteur : Maxence Delattre */
 /* *** FIN PLANNING *** */
 /* *** PARTIE INFOS PRATIQUES *** */
 /* Auteur : Maxence Delattre */
 case 'getFichierConseils':
     // On recupère le texte contenu dans le fichier conseils.txt pour l'afficher après dans la textarea
     $fp = fopen("conseils.txt", "r");
     // Ouverture du fichier en lecture seule
     if ($fp) {
         // Si on a réussi à ouvrir le fichier
         while (!feof($fp)) {