common_menu_item(common_local_url('doc', array('title' => 'privacy')),
_t('Privacy'));
common_menu_item(common_local_url('doc', array('title' => 'source')),
- _t('Privacy'));
+ _t('Source'));
common_element_end('ul');
}
// 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;
}
}
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
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) {