function getTimestampTz($time = '')
 {
     static $tz;
     if (!$tz) {
         $tz = db_Wrap::formatTZ(date('Z'));
     }
     if ($time) {
         return date('Y-m-d H:i:s', $time) . " {$tz}";
     } else {
         return date('Y-m-d H:i:s') . " {$tz}";
     }
 }
 /**
  * sotfShow::delete()
  *
  * purpose: to delete data from the tables
  *
  * @return (bool)
  */
 function delete()
 {
     if (!$this->isLocal()) {
         error("Can delete only local stations");
         return false;
     }
     // delete files from the repository
     sotf_Utils::erase($this->getDir());
     // delete programmes of the station
     // TODO getallprogrammes: call delete
     // delete user permissions
     $this->db->query("DELETE FROM sotf_user_group WHERE station = '" . $this->id . "'");
     // propagate deletion to other nodes
     $data = array('what' => 'station', 'del_time' => db_Wrap::getTimestampTZ(), 'node' => $GLOBALS['nodeId']);
     sotf_Base::saveDataWithId("sotf_deletions", 'id', $this->id, $data);
     // delete station description
     return parent::delete("sotf_stations", "station");
 }
Esempio n. 3
0
if (DB::isError($success)) {
    echo "Node DB connection failed: " . $success->getMessage();
    logError("Node DB connection failed", $config['sqlDSN']);
    die;
}
$db->setFetchmode(DB_FETCHMODE_ASSOC);
if ($config['selfUserDb']) {
    $userdb =& $db;
} else {
    // create user database connection
    $config['sqlUserDSN'] = $config['userDbType'] . '://' . $config['userDbUser'] . ':' . $config['userDbPasswd'] . '@' . $config['userDbHost'] . ':' . $config['userDbPort'] . '/' . $config['userDbName'];
    debug("sqlUserDSN", $config['sqlUserDSN']);
    if ($config['userDbType'] == 'mysql') {
        $userdb = new db_Wrap_mysql();
    } else {
        $userdb = new db_Wrap();
    }
    $userdb->debug = $config['debug'];
    $success = $userdb->makeConnection($config['sqlUserDSN'], false, 'user');
    if (DB::isError($success)) {
        echo "User DB connection failed: " . $success->getMessage();
        logError("User DB connection failed", $config['sqlUserDSN']);
        die;
    }
    $userdb->setFetchmode(DB_FETCHMODE_ASSOC);
}
// persistent server variables
$sotfVars = new sotf_Vars($db, 'sotf_vars');
$config['debug'] = $sotfVars->get('debug', 1);
$userdb->debug = $sotfVars->get('debug_sql', 1);
$db->debug = $sotfVars->get('debug_sql', 1);
 /**
  * save node data
  */
 function save()
 {
     $this->data['last_change'] = db_Wrap::getTimestampTz();
     return parent::save("sotf_nodes", "id");
 }
 function login($name, $password)
 {
     global $user, $userdb, $page;
     $res = $userdb->getRow("SELECT auth_id, passwd FROM authenticate WHERE username='******'");
     if (DB::isError($res)) {
         raiseError($res);
     }
     if ($res['passwd'] != $password) {
         error_log("Login failed for {$name} from " . getHostName(), 0);
         return $page->getlocalized("invalid_login");
     } else {
         $user = new sotf_User($res['auth_id']);
         debug("Login successful", $user->name . ' = ' . $user->id);
         $userdb->query("UPDATE user_preferences SET num_logins=num_logins+1, last_visit='" . db_Wrap::getSQLDate() . "' WHERE auth_id='" . $user->id . "' ");
         $_SESSION['currentUserId'] = $user->id;
     }
 }
 /**
  * sotf::getBlob()
  * 
  * purpose: to get a binary property
  * 
  * @param $prop_name
  * @return 
  */
 function getBlob($prop_name)
 {
     if (!isset($this->data[$prop_name])) {
         return false;
     }
     return db_Wrap::unescape_bytea($this->data[$prop_name]);
 }
Esempio n. 7
0
    global $errorControl;
    $errorControl->add($msg);
}
function raiseError($msg)
{
    global $errorControl;
    debug("raised error", $msg);
    $errorControl->raise($msg);
}
// create database connections
$db = db_Wrap::getDBConn($sqlDSN, false);
if (!$db or DB::isError($db)) {
    die("Node DB connection failed: " . $db->getMessage());
}
$db->setFetchmode(DB_FETCHMODE_ASSOC);
$userdb = db_Wrap::getDBConn($sqlUserDSN, false);
if (DB::isError($userdb)) {
    die("User DB connection failed: " . $userdb->getMessage());
}
$userdb->setFetchmode(DB_FETCHMODE_ASSOC);
// smarty for HTML output
$smarty = new Smarty();
$smarty->template_dir = "{$basedir}/code/templates";
$smarty->compile_dir = "{$basedir}/code/templates_c";
$smarty->config_dir = "{$basedir}/code/configs";
$smarty->compile_check = $debug;
$smarty->debugging = $debug;
$smarty->show_info_include = $debug;
$smarty->assign("NODEID", $nodeId);
$smarty->assign("ROOTDIR", $rootdir);
$smarty->assign("IMAGEDIR", $imagedir);
Esempio n. 8
0
umask(02);
// load system files
require $peardir . '/DB.php';
// change this if you want to use other DBMS not Postgres
require_once $peardir . '/DB/pgsql.php';
require $smartydir . '/Smarty.class.php';
require $smartydir . '/Config_File.class.php';
require $classdir . '/db_Wrap.class.php';
require $classdir . '/sotf_Utils.class.php';
require $classdir . '/sotf_Page.class.php';
require $classdir . '/sotf_Vars.class.php';
//PEAR::setErrorHandling(PEAR_ERROR_TRIGGER);
//PEAR::setErrorHandling(PEAR_ERROR_DIE);
// create database connections
$sqlDSN = "pgsql://{$nodeDbUser}:{$nodeDbPasswd}@{$nodeDbHost}:{$nodeDbPort}/{$nodeDbName}";
$db = new db_Wrap();
$db->debug = $debug;
$success = $db->makeConnection($sqlDSN, false);
if (DB::isError($success)) {
    die("Portal DB connection to {$sqlDSN} failed: \n" . $success->getMessage());
}
$db->setFetchmode(DB_FETCHMODE_ASSOC);
// persistent server variables
$sotfVars = new sotf_Vars($db, 'portal_vars');
$debug = $sotfVars->get('debug', 1);
$userdb->debug = $sotfVars->get('debug_sql', 1);
$db->debug = $sotfVars->get('debug_sql', 1);
if ($debug) {
    error_log("------------------------------------------", 0);
    error_log("REQUEST_URI: " . myGetenv("REQUEST_URI"), 0);
    error_log("REMOTE_HOST: " . myGetenv('REMOTE_HOST'), 0);
 /** saves basic object data into database */
 function save()
 {
     $this->data['last_change'] = db_Wrap::getTimestampTz();
     if (parent::save("sotf_programmes", "id")) {
         return $this->saveMetadataFile();
     } else {
         return false;
     }
 }
 function login($name, $password)
 {
     global $user, $userdb, $page;
     $pwd = $userdb->getOne("SELECT passwd FROM authenticate WHERE username='******'");
     if (DB::isError($pwd)) {
         raiseError("could not compare passwords");
     }
     if ($pwd != $password) {
         error_log("Login failed for {$name} from " . getHostName(), 0);
         return $page->getlocalized("invalid_login");
     } else {
         $user = new sotf_User($name);
         $userdb->query("UPDATE user_preferences SET num_logins=num_logins+1, last_visit='" . db_Wrap::getSQLDate() . "' WHERE auth_id='" . $user->id . "' ");
         $_SESSION['username'] = $user->name;
     }
 }