X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Futil.php;h=1b308d14ead940ca0e69539afa692146e1420128;hb=0cabc70341727a2e017674278a33ddc970e3e2ce;hp=5d363241bb44ea6b6e2cc49bf48052721cf6378d;hpb=8bfc5bbc9f617c768d3adaa37bc913048d91393d;p=quix0rs-gnu-social.git diff --git a/lib/util.php b/lib/util.php index 5d363241bb..1b308d14ea 100644 --- a/lib/util.php +++ b/lib/util.php @@ -150,9 +150,15 @@ function common_text($txt) { $xw->text($txt); } +function common_raw($xml) { + global $xw; + $xw->writeRaw($xml); +} + function common_license_block() { global $config, $xw; - common_element_start('div', 'license'); + common_element_start('p', 'license greenBg'); + common_element_start('span', 'floatLeft width25'); common_element_start('a', array('class' => 'license', 'rel' => 'license', href => $config['license']['url'])); @@ -160,20 +166,22 @@ function common_license_block() { 'src' => $config['license']['image'], 'alt' => $config['license']['title'])); common_element_end('a'); + common_element_end('span'); + common_element_start('span', 'floatRight width75'); common_text(_t('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']), $config['license']['title']); common_text(_t('. Contributors should be attributed by full name or nickname.')); - common_element_end('div'); + common_element_end('span'); + common_element_end('p'); } function common_head_menu() { $user = common_current_user(); common_element_start('ul', array('id' => 'menu', 'class' => ($user) ? 'five' : 'three')); - common_menu_item(common_local_url('doc', array('title' => 'help')), - _t('Help')); + common_menu_item(common_local_url('public'), _t('Public')); if ($user) { common_menu_item(common_local_url('all', array('nickname' => $user->nickname)), @@ -202,6 +210,8 @@ function common_foot_menu() { _t('Help')); common_menu_item(common_local_url('doc', array('title' => 'privacy')), _t('Privacy')); + common_menu_item(common_local_url('doc', array('title' => 'source')), + _t('Source')); common_element_end('ul'); } @@ -348,13 +358,13 @@ function common_render_content($text) { // where should the avatar go for this user? -function common_avatar_filename($user, $extension, $size=NULL) { +function common_avatar_filename($user, $extension, $size=NULL, $extra=NULL) { global $config; if ($size) { - return $user->id . '-' . $size . $extension; + return $user->id . '-' . $size . (($extra) ? ('-' . $extra) : '') . $extension; } else { - return $user->id . '-original' . $extension; + return $user->id . '-original' . (($extra) ? ('-' . $extra) : '') . $extension; } } @@ -410,7 +420,7 @@ function common_redirect($url, $code=307) { common_element('a', array('href' => $url), $url); } -function common_broadcast_notices($id) { +function common_broadcast_notice($notice) { // XXX: broadcast notices to remote subscribers // XXX: broadcast notices to SMS // XXX: broadcast notices to Jabber @@ -431,6 +441,57 @@ function common_notice_form() { 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() { + global $config; + $pathpart = ($config['site']['path']) ? $config['site']['path']."/" : ''; + return "http://".$config['site']['server'].'/'.$pathpart; +} + +# returns $bytes bytes of random data as a hexadecimal string +# "good" here is a goal and not a guarantee + +function common_good_rand($bytes) { + # XXX: use random.org...? + if (file_exists('/dev/urandom')) { + return common_urandom($bytes); + } else { # FIXME: this is probably not good enough + return common_mtrand($bytes); + } +} + +function common_urandom($bytes) { + $h = fopen('/dev/urandom', 'rb'); + # should not block + $src = fread($h, $bytes); + fclose($h); + $enc = ''; + for ($i = 0; $i < $bytes; $i++) { + $enc .= sprintf("%02x", (ord($src[$i]))); + } + return $enc; +} + +function common_mtrand($bytes) { + $enc = ''; + for ($i = 0; $i < $bytes; $i++) { + $enc .= sprintf("%02x", mt_rand(0, 255)); + } + return $enc; +} + +function common_timestamp() { + return date('YmdHis'); +} + // XXX: set up gettext function _t($str) {