X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Futil.php;h=6f6f1dd249121be3f5ccc34a3ebd539a48a105df;hb=36429673150b89e868c4ef54f89f408a11971df3;hp=33a2cac28a354f2f557c3f3c2e920d73c8eafb7b;hpb=a440afda54df51c7af12c9d7e61d1796f401e7ba;p=quix0rs-gnu-social.git diff --git a/lib/util.php b/lib/util.php index 33a2cac28a..6f6f1dd249 100644 --- a/lib/util.php +++ b/lib/util.php @@ -194,11 +194,11 @@ function common_show_header($pagetitle, $callable=NULL, $data=NULL, $headercall= common_element_start('div', array('id' => 'wrap')); common_element_start('div', array('id' => 'header')); common_nav_menu(); - if ((is_string($config['site']['logo']) && (strlen($config['site']['logo']) > 0)) + if ((isset($config['site']['logo']) && is_string($config['site']['logo']) && (strlen($config['site']['logo']) > 0)) || file_exists(theme_file('logo.png'))) { common_element_start('a', array('href' => common_local_url('public'))); - common_element('img', array('src' => ($config['site']['logo']) ? + common_element('img', array('src' => isset($config['site']['logo']) ? ($config['site']['logo']) : theme_path('logo.png'), 'alt' => $config['site']['name'], 'id' => 'logo')); @@ -223,6 +223,14 @@ function common_show_header($pagetitle, $callable=NULL, $data=NULL, $headercall= common_element_start('div', array('id' => 'content')); } +# XXX: Refactor w/common_user_error() ? +function common_show_basic_auth_error() { + header('HTTP/1.1 401 Unauthorized'); + header('Content-type: text/plain'); + print("Could not authenticate you."); # exactly what Twitter says - no \n + exit(); +} + function common_show_footer() { global $xw, $config; common_element_end('div'); # content div @@ -245,7 +253,7 @@ function common_show_footer() { common_text(_('Unless otherwise specified, contents of this site are copyright by the contributors and available under the ')); common_element('a', array('class' => 'license', 'rel' => 'license', - href => $config['license']['url']), + 'href' => $config['license']['url']), $config['license']['title']); common_text(_('. Contributors should be attributed by full name or nickname.')); common_element_end('p'); @@ -548,7 +556,7 @@ function common_forgetme() { # who is the current user? function common_current_user() { - if ($_REQUEST[session_name()]) { + if ($_REQUEST[session_name()] || $_SESSION && $_SESSION['userid']) { common_ensure_session(); $id = $_SESSION['userid']; if ($id) { @@ -559,6 +567,11 @@ function common_current_user() { } # that didn't work; try to remember $user = common_remembered_user(); + common_debug("Got User " . $user->nickname); + if ($user) { + common_debug("Faking session on remembered user"); + $_SESSION['userid'] = $user->id; + } return $user; } @@ -695,7 +708,7 @@ function common_local_url($action, $args=NULL) { function common_fancy_url($action, $args=NULL) { switch (strtolower($action)) { case 'public': - if ($args && $args['page']) { + if ($args && isset($args['page'])) { return common_path('?page=' . $args['page']); } else { return common_path(''); @@ -744,7 +757,7 @@ function common_fancy_url($action, $args=NULL) { case 'subscribers': case 'all': case 'replies': - if ($args && $args['page']) { + if ($args && isset($args['page'])) { return common_path($args['nickname'].'/'.$action.'?page=' . $args['page']); } else { return common_path($args['nickname'].'/'.$action); @@ -756,7 +769,7 @@ function common_fancy_url($action, $args=NULL) { case 'userrss': return common_path($args['nickname'].'/rss'); case 'showstream': - if ($args && $args['page']) { + if ($args && isset($args['page'])) { return common_path($args['nickname'].'?page=' . $args['page']); } else { return common_path($args['nickname']); @@ -848,6 +861,16 @@ function common_date_w3dtf($dt) { return date(DATE_W3C, $t); } +function common_date_rfc2822($dt) { + $t = strtotime($dt); + return date("r", $t); +} + +function common_date_iso8601($dt) { + $t = strtotime($dt); + return date("c", $t); +} + function common_redirect($url, $code=307) { static $status = array(301 => "Moved Permanently", 302 => "Found", @@ -866,6 +889,7 @@ function common_redirect($url, $code=307) { function common_save_replies($notice) { # Alternative reply format + $tname = false; if (preg_match('/^T ([A-Z0-9]{1,64}) /', $notice->content, $match)) { $tname = $match[1]; } @@ -875,7 +899,7 @@ function common_save_replies($notice) { return true; } # XXX: is there another way to make an array copy? - $names = ($tname) ? array_unique(array_merge(array(strtolower($tname)), $match[1])) : $match[1]; + $names = ($tname) ? array_unique(array_merge(array(strtolower($tname)), $match[1])) : array_unique($match[1]); $sender = Profile::staticGet($notice->profile_id); # store replied only for first @ (what user/notice what the reply directed, # we assume first @ is it) @@ -898,7 +922,7 @@ function common_save_replies($notice) { $id = $reply->insert(); if (!$id) { $last_error = &PEAR::getStaticProperty('DB_DataObject','lastError'); - common_log(LOG_ERROR, 'DB error inserting reply: ' . $last_error->message); + common_log(LOG_ERR, 'DB error inserting reply: ' . $last_error->message); common_server_error(sprintf(_('DB error inserting reply: %s'), $last_error->message)); return; } @@ -923,7 +947,7 @@ function common_enqueue_notice($notice) { $result = $qi->insert(); if (!$result) { $last_error = &PEAR::getStaticProperty('DB_DataObject','lastError'); - common_log(LOG_ERROR, 'DB error inserting queue item: ' . $last_error->message); + common_log(LOG_ERR, 'DB error inserting queue item: ' . $last_error->message); return false; } common_log(LOG_DEBUG, 'complete queueing notice ID = ' . $notice->id); @@ -937,14 +961,14 @@ function common_real_broadcast($notice, $remote=false) { require_once(INSTALLDIR.'/lib/omb.php'); $success = omb_broadcast_remote_subscribers($notice); if (!$success) { - common_log(LOG_ERROR, 'Error in OMB broadcast for notice ' . $notice->id); + common_log(LOG_ERR, 'Error in OMB broadcast for notice ' . $notice->id); } } if ($success) { require_once(INSTALLDIR.'/lib/jabber.php'); $success = jabber_broadcast_notice($notice); if (!$success) { - common_log(LOG_ERROR, 'Error in jabber broadcast for notice ' . $notice->id); + common_log(LOG_ERR, 'Error in jabber broadcast for notice ' . $notice->id); } } // XXX: broadcast notices to SMS @@ -993,13 +1017,6 @@ function common_notice_form($action=NULL, $content=NULL) { common_element_end('form'); } -function common_mint_tag($extra) { - global $config; - return - 'tag:'.$config['tag']['authority'].','. - $config['tag']['date'].':'.$config['tag']['prefix'].$extra; -} - # Should make up a reasonable root URL function common_root_url() { @@ -1056,7 +1073,6 @@ function common_ensure_syslog() { static $initialized = false; if (!$initialized) { global $config; - define_syslog_variables(); openlog($config['syslog']['appname'], 0, LOG_USER); $initialized = true; } @@ -1287,4 +1303,26 @@ function common_profile_avatar_url($profile, $size=AVATAR_PROFILE_SIZE) { return common_default_avatar($size); } } - \ No newline at end of file + +function common_profile_uri($profile) { + if (!$profile) { + return NULL; + } + $user = User::staticGet($profile->id); + if ($user) { + return $user->uri; + } + + $remote = Remote_profile::staticGet($profile->id); + if ($remote) { + return $remote->uri; + } + # XXX: this is a very bad profile! + return NULL; +} + +function common_canonical_sms($sms) { + # strip non-digits + preg_replace('/\D/', '', $sms); + return $sms; +} \ No newline at end of file