diff options
author | Fabio Comuni <fabrix.xm@gmail.com> | 2012-01-03 21:14:48 +0100 |
---|---|---|
committer | Fabio Comuni <fabrix.xm@gmail.com> | 2012-01-03 21:14:48 +0100 |
commit | 93563370c96848948d28ed39e13284ebaf7f430a (patch) | |
tree | 701c29133372625f54a098026d8570f191727a24 /include | |
parent | be2fd56aae51ee02b6e40dedd4383e1ebddc752e (diff) | |
parent | 184230e06826117b1d87241e3acdf19935470e8f (diff) | |
download | volse-hubzilla-93563370c96848948d28ed39e13284ebaf7f430a.tar.gz volse-hubzilla-93563370c96848948d28ed39e13284ebaf7f430a.tar.bz2 volse-hubzilla-93563370c96848948d28ed39e13284ebaf7f430a.zip |
Merge remote-tracking branch 'friendica/master'
Diffstat (limited to 'include')
-rw-r--r-- | include/bbcode.php | 2 | ||||
-rw-r--r-- | include/conversation.php | 60 | ||||
-rw-r--r-- | include/datetime.php | 20 | ||||
-rw-r--r-- | include/dba.php | 21 | ||||
-rw-r--r-- | include/text.php | 4 |
5 files changed, 97 insertions, 10 deletions
diff --git a/include/bbcode.php b/include/bbcode.php index 5218a06e8..6b733c8f4 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -27,7 +27,7 @@ function tryoembed($match){ // BBcode 2 HTML was written by WAY2WEB.net - // extended to work with Mistpark/Friendika - Mike Macgirvin + // extended to work with Mistpark/Friendica - Mike Macgirvin function bbcode($Text,$preserve_nl = false) { diff --git a/include/conversation.php b/include/conversation.php index f4dd01dde..26430d645 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -892,3 +892,63 @@ function status_editor($a,$x, $notes_cid = 0) { return $o; } + + +function conv_sort($arr,$order) { + + if((!(is_array($arr) && count($arr)))) + return array(); + + $parents = array(); + + foreach($arr as $x) + if($x['id'] == $x['parent']) + $parents[] = $x; + + if(stristr($order,'created')) + usort($parents,'sort_thr_created'); + elseif(stristr($order,'commented')) + usort($parents,'sort_thr_commented'); + + foreach($parents as $x) + $x['children'] = array(); + + foreach($arr as $x) { + if($x['id'] != $x['parent']) { + $p = find_thread_parent_index($parents,$x); + $parents[$p]['children'][] = $x; + } + } + foreach($parents as $x) + if(count($x['children'])) + usort($x['children'],'sort_thr_created_rev'); + + $ret = array(); + foreach($parents as $x) { + $ret[] = $x; + if(count($x['children'])) + foreach($x['children'] as $y) + $ret[] = $y; + } + + return $ret; +} + + +function sort_thr_created($a,$b) { + return strcmp($b['created'],$a['created']); +} + +function sort_thr_created_rev($a,$b) { + return strcmp($a['created'],$b['created']); +} + +function sort_thr_commented($a,$b) { + return strcmp($b['commented'],$a['commented']); +} + +function find_thread_parent_index($arr,$x) { + foreach($arr as $k => $v) + if($v['id'] == $x['parent']) + return $k; +} 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'); |