Exemple #1
0
 public static function getDb($name = 'db')
 {
     if (!isset(self::$_dbInstances[$name])) {
         $db_host = Roc::get($name . '.host');
         $db_port = Roc::get($name . '.port');
         $db_user = Roc::get($name . '.user');
         $db_pass = Roc::get($name . '.pass');
         $db_name = Roc::get($name . '.name');
         $db_charset = Roc::get($name . '.charset');
         $pdo = new \PDO('mysql:host=' . $db_host . ';dbname=' . $db_name . ';port=' . $db_port, $db_user, $db_pass);
         $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
         $pdo->exec('SET CHARACTER SET ' . $db_charset);
         $db = new DBEngine();
         $db->setDb($pdo);
         self::$_dbInstances[$name] = $db;
     }
     return self::$_dbInstances[$name];
 }
Exemple #2
0
 public static function getInstance($dbName = null, $dbHost = null, $dbUser = null, $dbPass = null)
 {
     if (is_null(self::$_instance)) {
         //можно не использовать синглтон, т.к. высоконагруженное приложение может терять производительность
         try {
             self::$_instance = new DBH('mysql:host=' . $dbHost . ';dbname=' . $dbName, $dbUser, $dbPass, array(PDO::ATTR_PERSISTENT, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
         } catch (PDOException $e) {
             // echo "Подключение невозможно:".$e->getMessage();
             // $this->connectLink = null;
             self::$_instance = null;
             //throw new Exception('Ошибка соединения с базой данных');
         }
     }
     return self::$_instance;
 }
Exemple #3
0
/**
* Create the database and the tables in it
* - Requires an external file with sql commands
* @param none
*/
function doCreate()
{
    global $db;
    global $conf;
    $announcements = DBEngine::get_table('announcements');
    $login = DBEngine::get_table('login');
    $reservations = DBEngine::get_table('reservations');
    $resources = DBEngine::get_table('resources');
    $permission = DBEngine::get_table('permission');
    $schedule_permission = DBEngine::get_table('schedule_permission');
    $schedules = DBEngine::get_table('schedules');
    $reservation_users = DBEngine::get_table('reservation_users');
    $anonymous_users = DBEngine::get_table('anonymous_users');
    $additional_resources = DBEngine::get_table('additional_resources');
    $reservation_resources = DBEngine::get_table('reservation_resources');
    $mutex = DBEngine::get_table('mutex');
    $groups = DBEngine::get_table('groups');
    $user_groups = DBEngine::get_table('user_groups');
    $reminders = DBEngine::get_table('reminders');
    $sqls = array(array("create database {$conf['db']['dbName']}", "Creating database"), array("use {$conf['db']['dbName']}", "Selecting database"), array("CREATE TABLE {$announcements} (\r\n\t\t\t\t\t\t\t\tannouncementid CHAR(16) NOT NULL PRIMARY KEY,\r\n\t\t\t\t\t\t\t\tannouncement VARCHAR(255) NOT NULL DEFAULT '',\r\n\t\t\t\t\t\t\t\tnumber SMALLINT NOT NULL DEFAULT '0',\r\n\t\t\t\t\t\t\t\tstart_datetime INTEGER,\r\n\t\t\t\t\t\t\t\tend_datetime INTEGER\r\n\t\t\t\t\t\t\t)", "Creating announcement table"), array("CREATE INDEX announcements_startdatetime ON {$announcements}(start_datetime)", 'Creating index'), array("CREATE INDEX announcements_enddatetime ON {$announcements}(end_datetime)", 'Creating index'), array("CREATE TABLE {$login} (\r\n\t\t\t\t\t\t\t  memberid CHAR(16) NOT NULL PRIMARY KEY,\r\n\t\t\t\t\t\t\t  email VARCHAR(75) NOT NULL,\r\n\t\t\t\t\t\t\t  password CHAR(32) NOT NULL,\r\n\t\t\t\t\t\t\t  fname VARCHAR(30) NOT NULL,\r\n\t\t\t\t\t\t\t  lname VARCHAR(30) NOT NULL,\r\n\t\t\t\t\t\t\t  phone VARCHAR(16) NOT NULL,\r\n\t\t\t\t\t\t\t  institution VARCHAR(255),\r\n\t\t\t\t\t\t\t  position VARCHAR(100),\r\n\t\t\t\t\t\t\t  e_add CHAR(1) NOT NULL DEFAULT 'y',\r\n\t\t\t\t\t\t\t  e_mod CHAR(1) NOT NULL DEFAULT 'y',\r\n\t\t\t\t\t\t\t  e_del CHAR(1) NOT NULL DEFAULT 'y',\r\n\t\t\t\t\t\t\t  e_app CHAR(1) NOT NULL DEFAULT 'y',\r\n\t\t\t\t\t\t\t  e_html CHAR(1) NOT NULL DEFAULT 'y',\r\n\t\t\t\t\t\t\t  logon_name VARCHAR(30),\r\n\t\t\t\t\t\t\t  is_admin SMALLINT DEFAULT 0,\r\n\t\t\t\t\t\t\t  lang VARCHAR(5),\r\n\t\t\t\t\t\t\t  timezone FLOAT NOT NULL DEFAULT 0\r\n\t\t\t\t\t\t\t  )", 'Creating login table'), array("CREATE INDEX login_email ON {$login} (email)", 'Creating index'), array("CREATE INDEX login_password ON {$login} (password)", 'Creating index'), array("CREATE INDEX login_logonname ON {$login} (logon_name)", 'Creating index'), array("CREATE TABLE {$reservations} (\r\n\t\t\t\t\t\t\t  resid CHAR(16) NOT NULL PRIMARY KEY,\r\n\t\t\t\t\t\t\t  machid CHAR(16) NOT NULL,\r\n\t\t\t\t\t\t\t  scheduleid CHAR(16) NOT NULL,\r\n\t\t\t\t\t\t\t  start_date INT NOT NULL DEFAULT 0,\r\n\t\t\t\t\t\t\t  end_date INT NOT NULL DEFAULT 0,\r\n\t\t\t\t\t\t\t  starttime INTEGER NOT NULL,\r\n\t\t\t\t\t\t\t  endtime INTEGER NOT NULL,\r\n\t\t\t\t\t\t\t  created INTEGER NOT NULL,\r\n\t\t\t\t\t\t\t  modified INTEGER,\r\n\t\t\t\t\t\t\t  parentid CHAR(16),\r\n\t\t\t\t\t\t\t  is_blackout SMALLINT NOT NULL DEFAULT 0,\r\n\t\t\t\t\t\t\t  is_pending SMALLINT NOT NULL DEFAULT 0,\r\n\t\t\t\t\t\t\t  summary TEXT,\r\n\t\t\t\t\t\t\t  allow_participation SMALLINT NOT NULL DEFAULT 0,\r\n\t\t\t\t\t\t\t  allow_anon_participation SMALLINT NOT NULL DEFAULT 0\r\n\t\t\t\t\t\t\t  )", 'Creating reservations table'), array("CREATE INDEX res_machid ON {$reservations} (machid)", 'Creating index'), array("CREATE INDEX res_scheduleid ON {$reservations} (scheduleid)", 'Creating index'), array("CREATE INDEX reservations_startdate ON {$reservations} (start_date)", 'Creating index'), array("CREATE INDEX reservations_enddate ON {$reservations} (end_date)", 'Creating index'), array("CREATE INDEX res_startTime ON {$reservations} (starttime)", 'Creating index'), array("CREATE INDEX res_endTime ON {$reservations} (endtime)", 'Creating index'), array("CREATE INDEX res_created ON {$reservations} (created)", 'Creating index'), array("CREATE INDEX res_modified ON {$reservations} (modified)", 'Creating index'), array("CREATE INDEX res_parentid ON {$reservations} (parentid)", 'Creating index'), array("CREATE INDEX res_isblackout ON {$reservations} (is_blackout)", 'Creating index'), array("CREATE INDEX reservations_pending ON {$reservations} (is_pending)", 'Creating index'), array("CREATE TABLE {$resources} (\r\n\t\t\t\t\t\t\t  machid CHAR(16) NOT NULL PRIMARY KEY,\r\n\t\t\t\t\t\t\t  scheduleid CHAR(16) NOT NULL,\r\n\t\t\t\t\t\t\t  name VARCHAR(75) NOT NULL,\r\n\t\t\t\t\t\t\t  location VARCHAR(250),\r\n\t\t\t\t\t\t\t  rphone VARCHAR(16),\r\n\t\t\t\t\t\t\t  notes TEXT,\r\n\t\t\t\t\t\t\t  status CHAR(1) NOT NULL DEFAULT 'a',\r\n\t\t\t\t\t\t\t  minres INTEGER NOT NULL,\r\n\t\t\t\t\t\t\t  maxres INTEGER NOT NULL,\r\n\t\t\t\t\t\t\t  autoassign SMALLINT,\r\n\t\t\t\t\t\t\t  approval SMALLINT,\r\n\t\t\t\t\t\t\t  allow_multi SMALLINT,\r\n\t\t\t\t\t\t\t  max_participants INTEGER,\r\n\t\t\t\t\t\t\t  min_notice_time INTEGER,\r\n\t\t\t\t\t\t\t  max_notice_time INTEGER\r\n\t\t\t\t\t\t\t  )", 'Creating resources table'), array("CREATE INDEX rs_scheduleid ON {$resources} (scheduleid)", 'Creating index'), array("CREATE INDEX rs_name ON {$resources} (name)", 'Creating index'), array("CREATE INDEX rs_status ON {$resources} (status)", 'Creating index'), array("CREATE TABLE {$permission} (\r\n\t\t\t\t\t\t\t  memberid CHAR(16) NOT NULL,\r\n\t\t\t\t\t\t\t  machid CHAR(16) NOT NULL,\r\n\t\t\t\t\t\t\t  PRIMARY KEY(memberid, machid)\r\n\t\t\t\t\t\t\t  )", 'Creating permission table'), array("CREATE INDEX per_memberid ON {$permission} (memberid)", 'Creating index'), array("CREATE INDEX per_machid ON {$permission} (machid)", 'Creating index'), array("CREATE TABLE {$schedules} (\r\n\t\t\t\t\t\t\t  scheduleid CHAR(16) NOT NULL PRIMARY KEY,\r\n\t\t\t\t\t\t\t  scheduletitle CHAR(75),\r\n\t\t\t\t\t\t\t  daystart INTEGER NOT NULL,\r\n\t\t\t\t\t\t\t  dayend INTEGER NOT NULL,\r\n\t\t\t\t\t\t\t  timespan INTEGER NOT NULL,\r\n\t\t\t\t\t\t\t  timeformat INTEGER NOT NULL,\r\n\t\t\t\t\t\t\t  weekdaystart INTEGER NOT NULL,\r\n\t\t\t\t\t\t\t  viewdays INTEGER NOT NULL,\r\n\t\t\t\t\t\t\t  usepermissions SMALLINT,\r\n\t\t\t\t\t\t\t  ishidden SMALLINT,\r\n\t\t\t\t\t\t\t  showsummary SMALLINT,\r\n\t\t\t\t\t\t\t  adminemail VARCHAR(75),\r\n\t\t\t\t\t\t\t  isdefault SMALLINT\r\n\t\t\t\t\t\t\t  )", 'Creating table schedules'), array("CREATE INDEX sh_hidden ON {$schedules} (ishidden)", 'Creating index'), array("CREATE INDEX sh_perms ON {$schedules} (usepermissions)", 'Creating index'), array("CREATE TABLE {$schedule_permission} (\r\n\t\t\t\t\t\t\t  scheduleid CHAR(16) NOT NULL,\r\n\t\t\t\t\t\t\t  memberid CHAR(16) NOT NULL,\r\n\t\t\t\t\t\t\t  PRIMARY KEY(scheduleid, memberid)\r\n\t\t\t\t\t\t\t  )", 'Creating table schedule_permission'), array("CREATE INDEX sp_scheduleid ON {$schedule_permission} (scheduleid)", 'Creating index'), array("CREATE INDEX sp_memberid ON {$schedule_permission} (memberid)", 'Creating index'), array("CREATE TABLE {$reservation_users} (\r\n\t\t\t\t\t\t\t  resid CHAR(16) NOT NULL,\r\n\t\t\t\t\t\t\t  memberid CHAR(16) NOT NULL,\r\n\t\t\t\t\t\t\t  owner SMALLINT,\r\n\t\t\t\t\t\t\t  invited SMALLINT,\r\n\t\t\t\t\t\t\t  perm_modify SMALLINT,\r\n\t\t\t\t\t\t\t  perm_delete SMALLINT,\r\n\t\t\t\t\t\t\t  accept_code CHAR(16),\r\n\t\t\t\t\t\t\t  PRIMARY KEY(resid, memberid)\r\n\t\t\t\t\t\t\t  )", 'Creating table reservation_users'), array("CREATE INDEX resusers_resid ON {$reservation_users} (resid)", 'Creating index'), array("CREATE INDEX resusers_memberid ON {$reservation_users} (memberid)", 'Creating index'), array("CREATE INDEX resusers_owner ON {$reservation_users} (owner)", 'Creating index'), array("CREATE TABLE {$anonymous_users} (\r\n\t\t\t\t\t\t\t  memberid CHAR(16) NOT NULL PRIMARY KEY,\r\n\t\t\t\t\t\t\t  email VARCHAR(75) NOT NULL,\r\n\t\t\t\t\t\t\t  fname VARCHAR(30) NOT NULL,\r\n\t\t\t\t\t\t\t  lname VARCHAR(30) NOT NULL\r\n\t\t\t\t\t\t\t  )", 'Creating table anonymous_users'), array("CREATE TABLE {$additional_resources} (\r\n\t\t\t\t\t\t\t  resourceid CHAR(16) NOT NULL PRIMARY KEY,\r\n\t\t\t\t\t\t\t  name VARCHAR(75) NOT NULL,\r\n\t\t\t\t\t\t\t  status CHAR(1) NOT NULL DEFAULT 'a',\r\n\t\t\t\t\t\t\t  number_available INTEGER NOT NULL DEFAULT -1\r\n\t\t\t\t\t\t\t  )", 'Creating table additional_resources'), array("CREATE INDEX ar_name ON {$additional_resources} (name)", 'Creating index'), array("CREATE INDEX ar_status ON {$additional_resources} (status)", 'Creating index'), array("CREATE TABLE {$reservation_resources} (\r\n\t\t\t\t\t\t\t  resid CHAR(16) NOT NULL,\r\n\t\t\t\t\t\t\t  resourceid CHAR(16) NOT NULL,\r\n\t\t\t\t\t\t\t  owner SMALLINT,\r\n\t\t\t\t\t\t\t  PRIMARY KEY(resid, resourceid)\r\n\t\t\t\t\t\t\t  )", 'Creating table reservation_resources'), array("CREATE INDEX resresources_resid ON {$reservation_resources} (resid)", 'Creating index'), array("CREATE INDEX resresources_resourceid ON {$reservation_resources} (resourceid)", 'Creating index'), array("CREATE INDEX resresources_owner ON {$reservation_resources} (owner)", 'Creating index'), array("CREATE TABLE {$mutex} (\r\n\t\t\t\t\t\t\t  i INTEGER NOT NULL PRIMARY KEY\r\n\t\t\t\t\t\t\t  )", 'Creating table mutex'), array("INSERT INTO {$mutex} VALUES (0)", 'Insert values'), array("INSERT INTO {$mutex} VALUES (1)", 'Insert values'), array("CREATE TABLE {$groups} (\r\n\t\t\t\t\t\t\t  groupid CHAR(16) NOT NULL PRIMARY KEY,\r\n\t\t\t\t\t\t\t  group_name VARCHAR(50) NOT NULL\r\n\t\t\t\t\t\t\t  )", 'Creating table groups'), array("CREATE TABLE {$user_groups} (\r\n\t\t\t\t\t\t\t  groupid CHAR(16) NOT NULL,\r\n\t\t\t\t\t\t\t  memberid CHAR(50) NOT NULL,\r\n\t\t\t\t\t\t\t  is_admin SMALLINT NOT NULL DEFAULT 0,\r\n\t\t\t\t\t\t\t  PRIMARY KEY(groupid, memberid)\r\n\t\t\t\t\t\t\t  )", 'Creating table user_groups'), array("CREATE INDEX usergroups_groupid ON {$user_groups} (groupid)", 'Creating index'), array("CREATE INDEX usergroups_memberid ON {$user_groups} (memberid)", 'Creating index'), array("CREATE INDEX usergroups_is_admin ON {$user_groups} (is_admin)", 'Creating index'), array("CREATE TABLE {$reminders} (\r\n\t\t\t\t\t\t\t  reminderid CHAR(16) NOT NULL PRIMARY KEY,\r\n\t\t\t\t\t\t\t  memberid CHAR(16) NOT NULL,\r\n\t\t\t\t\t\t\t  resid CHAR(16) NOT NULL,\r\n\t\t\t\t\t\t\t  reminder_time BIGINT NOT NULL\r\n\t\t\t\t\t\t\t  )", 'Creating table reminders'), array("CREATE INDEX reminders_time ON {$reminders} (reminder_time)", 'Creating index'), array("CREATE INDEX reminders_memberid ON {$reminders} (memberid)", 'Creating index'), array("CREATE INDEX reminders_resid ON {$reminders} (resid)", 'Creating index'), array("grant select, insert, update, delete\r\n\t\t\t\t\t\t\ton {$conf['db']['dbName']}.*\r\n\t\t\t\t\t\t\tto {$conf['db']['dbUser']}@localhost identified by '{$conf['db']['dbPass']}'", 'Creating database user'));
    if ($conf['db']['drop_old']) {
        // Drop any old database with same name
        array_unshift($sqls, array("drop database if exists {$conf['db']['dbName']}", 'Dropping database'));
    }
    foreach ($sqls as $sql) {
        echo $sql[1] . '...';
        $result = $db->query($sql[0]);
        check_result($result);
    }
    $dbe = new DBEngine();
    // Create default schedule
    echo 'Creating default schedule...';
    $scheduleid = $dbe->get_new_id();
    $result = $dbe->db->query("INSERT INTO {$schedules} VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", array($scheduleid, 'default', 480, 1200, 30, 12, 0, 7, 0, 0, 1, $conf['app']['adminEmail'], 1));
    check_result($result);
}
Exemple #4
0
* @author Nick Korbel <*****@*****.**>
* @version 03-30-06
* @package phpScheduleIt
*
* Copyright (C) 2003 - 2007 phpScheduleIt
* License: GPL, see LICENSE
*/
include_once 'lib/Template.class.php';
include_once 'lib/Utility.class.php';
include_once 'templates/cpanel.template.php';
if (!Auth::is_logged_in()) {
    Auth::print_login_msg();
    // Check if user is logged in
}
$t = new Template(translate('My Control Panel'));
$db = new DBEngine();
$t->printHTMLHeader();
$t->printWelcome();
$t->startMain();
$user = new User(Auth::getCurrentID());
$is_group_admin = $user->is_group_admin();
$t->startNavLinkTable();
$t->showNavLinksTable(Auth::isAdmin());
$t->endNavLinkTable();
$t->splitTable();
$order = array('number');
$announcements = $db->get_announcements(mktime());
if ($announcements) {
    showAnnouncementTable($announcements, $db->get_err());
    printCpanelBr();
}
include_once 'lib/Template.class.php';
/**
* Include common output functions
*/
include_once 'templates/common.template.php';
/**
* Include quarantine-specific output functions
*/
include_once 'templates/summary.template.php';
if (!Auth::is_logged_in()) {
    Auth::print_login_msg();
    // Check if user is logged in
}
$_SESSION['sessionNav'] = "Site Quarantine Summary";
$t = new Template(translate('Site Quarantine Summary'));
$db = new DBEngine();
$t->printHTMLHeader();
$t->printWelcome();
$t->startMain();
// Break table into 2 columns, put quick links on left side and all other tables on the right
startQuickLinksCol();
showQuickLinks();
// Print out My Quick Links
startDataDisplayCol();
if (!Auth::isMailAdmin() || !$conf['app']['siteSummary']) {
    CmnFns::do_error_box(translate('Access Denied'));
} else {
    // Print a loading message until database returns...
    printMessage(translate('Loading Summary...'));
    $count_array = $db->get_site_summary();
    showSummary($count_array);
*/
include_once 'templates/common.template.php';
/**
* Include quarantine-specific output functions
*/
include_once 'templates/quarantine.template.php';
if (!Auth::is_logged_in()) {
    Auth::print_login_msg();
    // Check if user is logged in
}
// grab the display size limit set in config.php
$sizeLimit = isset($conf['app']['displaySizeLimit']) && is_numeric($conf['app']['displaySizeLimit']) ? $conf['app']['displaySizeLimit'] : 50;
// Get current page number
$requestedPage = CmnFns::getGlobalVar('page', GET);
$_SESSION['sessionNav'] = "Site Quarantine";
$db = new DBEngine();
$t = new Template(translate('Site Quarantine'));
$t->printHTMLHeader();
$t->printWelcome();
$t->startMain();
// Break table into 2 columns, put quick links on left side and all other tables on the right
startQuickLinksCol();
showQuickLinks();
// Print out My Quick Links
startDataDisplayCol();
if (!Auth::isMailAdmin()) {
    CmnFns::do_error_box(translate('Access Denied'));
} else {
    // Draw search engine
    $content_type = CmnFns::get_ctype() ? CmnFns::get_ctype() : 'A';
    printSearchEngine($content_type, $_SERVER['PHP_SELF'], 1);
 /**
  * Get the raw content through a DB call
  * $param string The unique mail_id
  * $return string The complete raw email
  */
 function getRawContent($mail_id)
 {
     $db = new DBEngine();
     $this->raw = $db->get_raw_mail($mail_id, $this->recipient);
     // Mark read
     if (in_array($this->recipient, $_SESSION['sessionMail']) && $this->raw) {
         $db->update_msgrcpt_rs($mail_id, $this->recipient, 'v');
     }
 }
Exemple #8
0
<?php

/**
* This page will display all upcoming reservation activity for a user as an RSS feed
* @author Nick Korbel <*****@*****.**>
* @version 10-08-05
* @package phpScheduleIt
*
* Copyright (C) 2003 - 2007 phpScheduleIt
* License: GPL, see LICENSE
*/
include_once 'lib/DBEngine.class.php';
if (!(bool) $conf['app']['allowRss'] || (bool) $conf['app']['allowRss'] && !isset($_GET['id'])) {
    die;
}
$db = new DBEngine();
$res = $db->get_user_reservations($_GET['id'], 'res.start_date', 'DESC', true);
global $charset;
header('Content-Type: text/xml');
echo "<?xml version=\"1.0\" encoding=\"{$charset}\"?" . ">\n<rss version=\"2.0\">\n";
echo "<channel>\n<title>{$conf['app']['title']} Reservations</title>\n";
if (!$res) {
    echo "<item>\n";
    echo '<title>' . $db->err_msg . "</title>\n";
    echo '<link>' . CmnFns::getScriptURL() . "</link>\n";
    echo '<description>' . $db->err_msg . "</description>\n";
    echo "</item>\n";
}
for ($i = 0; $i < count($res) && $res != false; $i++) {
    $cur = $res[$i];
    echo "<item>\n";
Exemple #9
0
function determineVersion()
{
    $db = new DBEngine();
    $version = "0.0.0";
    $result = $db->db->query('select * from ' . $db->get_table('reservations'));
    $num = $result->numCols();
    if ($num < 12) {
        $version = "0.0.0";
    } else {
        if ($num == 12) {
            $version = "1.0.0";
        } else {
            if ($num == 13) {
                $version = "1.1.0";
            } else {
                if ($num == 14) {
                    $version = "1.2.0";
                }
            }
        }
    }
    return $version;
}
/**
* Update messages function
* @param string $content_type 'B', 'S', ...
* @param array $emailaddresses recipient email address(es)
* @param array $mail_id_array containing mail_id of messages to be deleted
* @param bool $all false (default) or true, if true all messages will be deleted
* @result return array of messages whose release failed
*/
function updateMessages($flag, $content_type, $emailaddresses, $mail_id_array, $all = false)
{
    $result_array = array();
    $db = new DBEngine();
    // Set autocommit to false to improve speed of $flag set
    $result = $db->db->autoCommit(false);
    $db->check_for_error($result, 'PEAR DB autoCommit(false)');
    if ($all) {
        $res = $db->get_user_messages($content_type, $emailaddresses, 'msgs.time_num', 'DESC', '', false, 0, 0, true);
        for ($i = 0; is_array($res) && $i < count($res); $i++) {
            $rs = $res[$i];
            if (Auth::isMailAdmin() || in_array($rs['email'], $emailaddresses)) {
                if (!$db->update_msgrcpt_rs($rs['mail_id'], $rs['email'], $flag)) {
                    $rs = $result[0];
                    $result_array[$i] = array("mail_id" => $mail_id, "from_addr" => $rs['from_addr'], "subject" => $rs['subject'], "time_num" => $rs['time_num'], "spam_level" => $rs['spam_level'], "status" => "Error: " . $db->get_err());
                }
            } else {
                continue;
            }
        }
    } else {
        $i = 0;
        foreach ($mail_id_array as $mail_id_recip) {
            // Get mail_id and recipient email address
            //$temp = preg_split('/_/', $mail_id_recip, 2);
            //$mail_id = $temp[0];
            //$recip_email = $temp[1];
            $mail_id = substr($mail_id_recip, 0, 12);
            $recip_email = substr($mail_id_recip, 13);
            // Check if logged in user is admin or logged in user is trying to delete his own messages
            if (Auth::isMailAdmin() || in_array($recip_email, $emailaddresses)) {
                $result = $db->get_message($recip_email, $mail_id);
            } else {
                continue;
            }
            if (!$db->update_msgrcpt_rs($mail_id, $recip_email, $flag)) {
                $rs = $result[0];
                $result_array[$i] = array("mail_id" => $mail_id, "from_addr" => $rs['from_addr'], "subject" => $rs['subject'], "time_num" => $rs['time_num'], "spam_level" => $rs['spam_level'], "status" => "Error: " . $db->get_err());
                $i++;
            }
        }
    }
    // Commit, then set autocommit back to true
    $result = $db->db->commit();
    $db->check_for_error($result, 'PEAR DB commit()');
    $result = $db->db->autoCommit(true);
    $db->check_for_error($result, 'PEAR DB autoCommit(true)');
    // Return array of messages whose release failed
    return $result_array;
}
 /**
  * Create a table from pseudo-SQL.
  *
  * @param string $name
  * @param string $data
  */
 public function create_table($name, $data)
 {
     if (is_null($this->engine)) {
         $this->connect_engine();
     }
     $data = trim($data, ", \t\n\r\v");
     // mysql doesn't like trailing commas
     $this->execute($this->engine->create_table_sql($name, $data));
 }
Exemple #12
0
<?php

header('Content-type: text/html; charset=UTF-8');
error_reporting(0);
require_once 'apiEngine.php';
if (count($_REQUEST) > 0) {
    $db = DBEngine::getInstance(APIConstants::$DB_NAME, APIConstants::$DB_HOST, APIConstants::$DB_USER, APIConstants::$DB_PASSWORD);
    if (!is_null($db)) {
        foreach ($_REQUEST as $apiFunctionName => $apiFunctionParams) {
            $APIEngine = new APIEngine($apiFunctionName, $apiFunctionParams, $db);
            // http://[адрес сервера]/[путь к папке api]/?[название_api].[название_метода]=[JSON вида {«Hello»:«Hello world»}]
            //?company.getList={"id_ca":5}
            echo $APIEngine->callApiFunction();
            unset($apiEngin);
            break;
        }
    } else {
        $jsonResult = json_decode('{}');
        $jsonResult->response = json_decode('{}');
        $jsonResult->response->result = false;
        $jsonResult->response->error = APIConstants::$ERROR_DB_CONNECT_TEXT;
        $jsonResult->response->errorno = APIConstants::$ERROR_DB_CONNECT;
        echo json_encode($jsonResult);
    }
} else {
    $jsonResult = json_decode('{}');
    $jsonResult->response = json_decode('{}');
    $jsonResult->response->result = false;
    $jsonResult->response->error = APIConstants::$ERROR_ENGINE_ROUTE_TEXT;
    $jsonResult->response->errorno = APIConstants::$ERROR_ENGINE_ROUTE;
    echo json_encode($jsonResult);
Exemple #13
0
include_once 'lib/Template.class.php';
/**
* Include common output functions
*/
include_once 'templates/common.template.php';
/**
* Include quarantine-specific output functions
*/
include_once 'templates/summary.template.php';
if (!Auth::is_logged_in()) {
    Auth::print_login_msg();
    // Check if user is logged in
}
$_SESSION['sessionNav'] = "Quarantine Summary";
$t = new Template(translate('Quarantine Summary'));
$db = new DBEngine();
$t->printHTMLHeader();
$t->printWelcome();
$t->startMain();
// Break table into 2 columns, put quick links on left side and all other tables on the right
startQuickLinksCol();
showQuickLinks();
// Print out My Quick Links
startDataDisplayCol();
// Print a loading message until database returns...
printMessage(translate('Loading Summary...'));
$count_array = $db->get_user_summary($_SESSION['sessionMail']);
showSummary($count_array);
// Hide the message after the table loads.
hideMessage(translate('Loading Summary...'));
endDataDisplayCol();
Exemple #14
0
 /**
  * Create a table from pseudo-SQL.
  *
  * @param string $name
  * @param string $data
  */
 public function create_table($name, $data)
 {
     if (is_null($this->engine)) {
         $this->connect_engine();
     }
     $this->execute($this->engine->create_table_sql($name, $data));
 }