X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=boot.php;h=683daf4016cd190d7634a52f2d946abd6ec36e59;hb=6c302e78da72921858d4eef1e4c91542e090ddff;hp=b3c79079a6f373f249546fe91be529c0c511c3d6;hpb=751e4181e5e875b9f9850700a3687774e4c53ab3;p=friendica.git diff --git a/boot.php b/boot.php index b3c79079a6..683daf4016 100755 --- a/boot.php +++ b/boot.php @@ -9,9 +9,9 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '2.3.1284' ); +define ( 'FRIENDICA_VERSION', '2.3.1298' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); -define ( 'DB_UPDATE_VERSION', 1132 ); +define ( 'DB_UPDATE_VERSION', 1134 ); define ( 'EOL', "
\r\n" ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); @@ -95,8 +95,8 @@ define ( 'PAGE_BLOG', 4 ); * Network and protocol family types */ -define ( 'NETWORK_ZOT', 'zot!'); // Zot! define ( 'NETWORK_DFRN', 'dfrn'); // Friendica, Mistpark, other DFRN implementations +define ( 'NETWORK_ZOT', 'zot!'); // Zot! define ( 'NETWORK_OSTATUS', 'stat'); // status.net, identi.ca, GNU-social, other OStatus implementations define ( 'NETWORK_FEED', 'feed'); // RSS/Atom feeds with no known "post/notify" protocol define ( 'NETWORK_DIASPORA', 'dspr'); // Diaspora @@ -108,6 +108,28 @@ define ( 'NETWORK_XMPP', 'xmpp'); // XMPP define ( 'NETWORK_MYSPACE', 'mysp'); // MySpace define ( 'NETWORK_GPLUS', 'goog'); // Google+ +/* + * These numbers are used in stored permissions + * and existing allocations MUST NEVER BE CHANGED + * OR RE-ASSIGNED! You may only add to them. + */ + +$netgroup_ids = array( + NETWORK_DFRN => (-1), + NETWORK_ZOT => (-2), + NETWORK_OSTATUS => (-3), + NETWORK_FEED => (-4), + NETWORK_DIASPORA => (-5), + NETWORK_MAIL => (-6), + NETWORK_MAIL2 => (-7), + NETWORK_FACEBOOK => (-8), + NETWORK_LINKEDIN => (-9), + NETWORK_XMPP => (-10), + NETWORK_MYSPACE => (-11), + NETWORK_GPLUS => (-12), +); + + /** * Maximum number of "people who like (or don't like) this" that we will list by name */ @@ -135,6 +157,9 @@ define ( 'NOTIFY_PROFILE', 0x0040 ); define ( 'NOTIFY_TAGSELF', 0x0080 ); define ( 'NOTIFY_TAGSHARE', 0x0100 ); +define ( 'NOTIFY_SYSTEM', 0x8000 ); + + /** * various namespaces we may need to parse */ @@ -560,6 +585,10 @@ function absurl($path) { return $path; } +function is_ajax() { + return (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'); +} + // Primarily involved with database upgrade, but also sets the // base url for use in cmdline programs which don't have @@ -713,15 +742,16 @@ function login($register = false, $hiddens=false) { $noid = get_config('system','no_openid'); + $dest_url = $a->get_baseurl(true) . '/' . $a->query_string; + if(local_user()) { $tpl = get_markup_template("logout.tpl"); } else { $tpl = get_markup_template("login.tpl"); - + $_SESSION['return_url'] = $a->query_string; } - $dest_url = $a->get_baseurl(true) . '/' . $a->query_string; $o .= replace_macros($tpl,array( @@ -954,6 +984,12 @@ function profile_sidebar($profile, $block = 0) { if((remote_user()) && ($_SESSION['visitor_visiting'] == $profile['uid'])) $connect = False; + if(get_my_url() && $profile['unkmail']) + $wallmessage = t('Message'); + else + $wallmessage = false; + + // show edit profile to yourself if ($profile['uid'] == local_user()) { @@ -1036,6 +1072,7 @@ function profile_sidebar($profile, $block = 0) { $o .= replace_macros($tpl, array( '$profile' => $profile, '$connect' => $connect, + '$wallmessage' => $wallmessage, '$location' => template_escape($location), '$gender' => $gender, '$pdesc' => $pdesc, @@ -1231,17 +1268,20 @@ function current_theme(){ $system_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : ''); $theme_name = ((isset($_SESSION) && x($_SESSION,'theme')) ? $_SESSION['theme'] : $system_theme); - if($theme_name && file_exists('view/theme/' . $theme_name . '/style.css')) + if($theme_name && + (file_exists('view/theme/' . $theme_name . '/style.css') || + file_exists('view/theme/' . $theme_name . '/style.php'))) return($theme_name); foreach($app_base_themes as $t) { - if(file_exists('view/theme/' . $t . '/style.css')) + if(file_exists('view/theme/' . $t . '/style.css')|| + file_exists('view/theme/' . $t . '/style.php')) return($t); } - $fallback = glob('view/theme/*/style.css'); + $fallback = glob('view/theme/*/style.[css|php]'); if(count($fallback)) - return (str_replace('view/theme/','', str_replace("/style.css","",$fallback[0]))); + return (str_replace('view/theme/','', substr($fallback[0],0,-10))); }} @@ -1253,6 +1293,8 @@ if(! function_exists('current_theme_url')) { function current_theme_url() { global $a; $t = current_theme(); + if (file_exists('view/theme/' . $t . '/style.php')) + return($a->get_baseurl() . '/view/theme/' . $t . '/style.pcss'); return($a->get_baseurl() . '/view/theme/' . $t . '/style.css'); }} @@ -1278,8 +1320,12 @@ function feed_birthday($uid,$tz) { * */ + $birthday = ''; + if(! strlen($tz)) + $tz = 'UTC'; + $p = q("SELECT `dob` FROM `profile` WHERE `is-default` = 1 AND `uid` = %d LIMIT 1", intval($uid) ); @@ -1377,6 +1423,29 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){ ); } + + $arr = array('is_owner' => $is_owner, 'nickname' => $nickname, 'tab' => (($tab) ? $tab : false), 'tabs' => $tabs); + call_hooks('profile_tabs', $arr); + $tpl = get_markup_template('common_tabs.tpl'); - return replace_macros($tpl,array('$tabs'=>$tabs)); + + return replace_macros($tpl,array('$tabs' => $arr['tabs'])); }} + +function get_my_url() { + if(x($_SESSION,'my_url')) + return $_SESSION['my_url']; + return false; +} + +function zrl($s) { + if(! strlen($s)) + return $s; + if(! strpos($s,'/profile/')) + return $s; + $achar = strpos($s,'?') ? '&' : '?'; + $mine = get_my_url(); + if($mine and ! link_compare($mine,$s)) + return $s . $achar . 'zrl=' . urlencode($mine); + return $s; +}