aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/datetime.php20
-rw-r--r--include/dba.php21
-rw-r--r--include/text.php4
3 files changed, 36 insertions, 9 deletions
diff --git a/include/datetime.php b/include/datetime.php
index 087e6cb20..d44e995cf 100644
--- a/include/datetime.php
+++ b/include/datetime.php
@@ -15,7 +15,6 @@ function timezone_cmp($a, $b) {
}}
// emit a timezone selector grouped (primarily) by continent
-
if(! function_exists('select_timezone')) {
function select_timezone($current = 'America/Los_Angeles') {
@@ -55,6 +54,23 @@ function select_timezone($current = 'America/Los_Angeles') {
return $o;
}}
+// return a select using 'field_select_raw' template, with timezones
+// groupped (primarily) by continent
+// arguments follow convetion as other field_* template array:
+// 'name', 'label', $value, 'help'
+if (!function_exists('field_timezone')){
+function field_timezone($name='timezone', $label='', $current = 'America/Los_Angeles', $help){
+ $options = select_timezone($current);
+ $options = str_replace('<select id="timezone_select" name="timezone">','', $options);
+ $options = str_replace('</select>','', $options);
+
+ $tpl = get_markup_template('field_select_raw.tpl');
+ return replace_macros($tpl, array(
+ '$field' => array($name, $label, $current, $help, $options),
+ ));
+
+}}
+
// General purpose date parse/convert function.
// $from = source timezone
// $to = dest timezone
@@ -446,4 +462,4 @@ function update_contact_birthdays() {
}
}
-} \ No newline at end of file
+}
diff --git a/include/dba.php b/include/dba.php
index b89cf5376..782c279d5 100644
--- a/include/dba.php
+++ b/include/dba.php
@@ -18,7 +18,7 @@ class dba {
private $db;
public $mysqli = true;
public $connected = false;
-
+ public $error = false;
function __construct($server,$user,$pass,$db,$install = false) {
@@ -27,10 +27,16 @@ class dba {
$pass = trim($pass);
$db = trim($db);
+ if (!(strlen($server) && strlen($user))){
+ $this->connected = false;
+ $this->db = null;
+ return;
+ }
+
if($install) {
if(strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1')) {
if(! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) {
- notice( sprintf( t('Cannot locate DNS info for database server \'%s\''), $server));
+ $this->error = sprintf( t('Cannot locate DNS info for database server \'%s\''), $server);
$this->connected = false;
$this->db = null;
return;
@@ -152,10 +158,11 @@ class dba {
}
function __destruct() {
- if($this->mysqli)
- @$this->db->close();
- else
- @mysql_close($this->db);
+ if ($this->db)
+ if($this->mysqli)
+ $this->db->close();
+ else
+ mysql_close($this->db);
}
}}
@@ -186,6 +193,7 @@ function dbesc($str) {
}}
+
// Function: q($sql,$args);
// Description: execute SQL query with printf style args.
// Example: $r = q("SELECT * FROM `%s` WHERE `uid` = %d",
@@ -209,7 +217,6 @@ function q($sql) {
* session data after abnormal program termination
*
*/
-
logger('dba: no database: ' . print_r($args,true));
return false;
diff --git a/include/text.php b/include/text.php
index d6b3ceeab..f32aaad07 100644
--- a/include/text.php
+++ b/include/text.php
@@ -426,6 +426,10 @@ function attribute_contains($attr,$s) {
if(! function_exists('logger')) {
function logger($msg,$level = 0) {
+ // turn off logger in install mode
+ global $a;
+ if ($a->module == 'install') return;
+
$debugging = get_config('system','debugging');
$loglevel = intval(get_config('system','loglevel'));
$logfile = get_config('system','logfile');