Merge remote-tracking branch 'upstream/develop' into 1705-some-more-dba
Conflicts: include/uimport.php
This commit is contained in:
commit
e884090efa
26 changed files with 1834 additions and 1816 deletions
|
@ -5,10 +5,10 @@
|
|||
|
||||
use Friendica\App;
|
||||
|
||||
require_once('include/ForumManager.php');
|
||||
require_once('include/bbcode.php');
|
||||
require_once("mod/proxy.php");
|
||||
require_once('include/cache.php');
|
||||
require_once 'include/ForumManager.php';
|
||||
require_once 'include/bbcode.php';
|
||||
require_once 'mod/proxy.php';
|
||||
require_once 'include/cache.php';
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -85,9 +85,9 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array()) {
|
|||
|
||||
$a->set_template_engine(); // reset the template engine to the default in case the user's theme doesn't specify one
|
||||
|
||||
$theme_info_file = "view/theme/".current_theme()."/theme.php";
|
||||
if (file_exists($theme_info_file)){
|
||||
require_once($theme_info_file);
|
||||
$theme_info_file = "view/theme/" . current_theme() . "/theme.php";
|
||||
if (file_exists($theme_info_file)) {
|
||||
require_once $theme_info_file;
|
||||
}
|
||||
|
||||
if (! (x($a->page,'aside')))
|
||||
|
@ -372,7 +372,7 @@ function profile_sidebar($profile, $block = 0) {
|
|||
else
|
||||
$diaspora = false;
|
||||
|
||||
if (!$block){
|
||||
if (!$block) {
|
||||
$contact_block = contact_block();
|
||||
|
||||
if (is_array($a->profile) AND !$a->profile['hide-friends']) {
|
||||
|
@ -537,13 +537,13 @@ function get_birthdays() {
|
|||
|
||||
function get_events() {
|
||||
|
||||
require_once('include/bbcode.php');
|
||||
require_once 'include/bbcode.php';
|
||||
|
||||
$a = get_app();
|
||||
|
||||
if (! local_user() || $a->is_mobile || $a->is_tablet)
|
||||
if (! local_user() || $a->is_mobile || $a->is_tablet) {
|
||||
return $o;
|
||||
|
||||
}
|
||||
|
||||
// $mobile_detect = new Mobile_Detect();
|
||||
// $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
|
||||
|
@ -566,13 +566,15 @@ function get_events() {
|
|||
$now = strtotime('now');
|
||||
$istoday = false;
|
||||
foreach ($r as $rr) {
|
||||
if (strlen($rr['name']))
|
||||
if (strlen($rr['name'])) {
|
||||
$total ++;
|
||||
}
|
||||
|
||||
$strt = datetime_convert('UTC',$rr['convert'] ? $a->timezone : 'UTC',$rr['start'],'Y-m-d');
|
||||
if ($strt === datetime_convert('UTC',$a->timezone,'now','Y-m-d'))
|
||||
if ($strt === datetime_convert('UTC',$a->timezone,'now','Y-m-d')) {
|
||||
$istoday = true;
|
||||
}
|
||||
}
|
||||
$classtoday = (($istoday) ? 'event-today' : '');
|
||||
|
||||
$skip = 0;
|
||||
|
@ -580,12 +582,14 @@ function get_events() {
|
|||
foreach ($r as &$rr) {
|
||||
$title = strip_tags(html_entity_decode(bbcode($rr['summary']),ENT_QUOTES,'UTF-8'));
|
||||
|
||||
if (strlen($title) > 35)
|
||||
if (strlen($title) > 35) {
|
||||
$title = substr($title,0,32) . '... ';
|
||||
}
|
||||
|
||||
$description = substr(strip_tags(bbcode($rr['desc'])),0,32) . '... ';
|
||||
if (! $description)
|
||||
if (! $description) {
|
||||
$description = t('[No description]');
|
||||
}
|
||||
|
||||
$strt = datetime_convert('UTC',$rr['convert'] ? $a->timezone : 'UTC',$rr['start']);
|
||||
|
||||
|
@ -632,7 +636,9 @@ function advanced_profile(App $a) {
|
|||
|
||||
$profile['fullname'] = array( t('Full Name:'), $a->profile['name'] ) ;
|
||||
|
||||
if ($a->profile['gender']) $profile['gender'] = array( t('Gender:'), $a->profile['gender'] );
|
||||
if ($a->profile['gender']) {
|
||||
$profile['gender'] = array( t('Gender:'), $a->profile['gender'] );
|
||||
}
|
||||
|
||||
if (($a->profile['dob']) && ($a->profile['dob'] > '0001-01-01')) {
|
||||
$year_bd_format = t('j F, Y');
|
||||
|
@ -647,10 +653,13 @@ function advanced_profile(App $a) {
|
|||
|
||||
}
|
||||
|
||||
if ($age = age($a->profile['dob'],$a->profile['timezone'],'')) $profile['age'] = array( t('Age:'), $age );
|
||||
if ($age = age($a->profile['dob'],$a->profile['timezone'],'')) {
|
||||
$profile['age'] = array( t('Age:'), $age );
|
||||
}
|
||||
|
||||
|
||||
if ($a->profile['marital']) $profile['marital'] = array( t('Status:'), $a->profile['marital']);
|
||||
if ($a->profile['marital']) {
|
||||
$profile['marital'] = array( t('Status:'), $a->profile['marital']);
|
||||
}
|
||||
|
||||
/// @TODO Maybe use x() here, plus below?
|
||||
if ($a->profile['with']) {
|
||||
|
@ -753,7 +762,7 @@ function advanced_profile(App $a) {
|
|||
return '';
|
||||
}
|
||||
|
||||
function profile_tabs($a, $is_owner=False, $nickname=Null){
|
||||
function profile_tabs($a, $is_owner=False, $nickname=Null) {
|
||||
//echo "<pre>"; var_dump($a->user); killme();
|
||||
|
||||
if (is_null($nickname)) {
|
||||
|
@ -770,7 +779,7 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
array(
|
||||
'label'=>t('Status'),
|
||||
'url' => $url,
|
||||
'sel' => ((!isset($tab) && $a->argv[0]=='profile')?'active':''),
|
||||
'sel' => ((!isset($tab) && $a->argv[0]=='profile') ? 'active' : ''),
|
||||
'title' => t('Status Messages and Posts'),
|
||||
'id' => 'status-tab',
|
||||
'accesskey' => 'm',
|
||||
|
@ -778,7 +787,7 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
array(
|
||||
'label' => t('Profile'),
|
||||
'url' => $url.'/?tab=profile',
|
||||
'sel' => ((isset($tab) && $tab=='profile')?'active':''),
|
||||
'sel' => ((isset($tab) && $tab=='profile') ? 'active' : ''),
|
||||
'title' => t('Profile Details'),
|
||||
'id' => 'profile-tab',
|
||||
'accesskey' => 'r',
|
||||
|
@ -786,7 +795,7 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
array(
|
||||
'label' => t('Photos'),
|
||||
'url' => App::get_baseurl() . '/photos/' . $nickname,
|
||||
'sel' => ((!isset($tab) && $a->argv[0]=='photos')?'active':''),
|
||||
'sel' => ((!isset($tab) && $a->argv[0]=='photos') ? 'active' : ''),
|
||||
'title' => t('Photo Albums'),
|
||||
'id' => 'photo-tab',
|
||||
'accesskey' => 'h',
|
||||
|
@ -794,7 +803,7 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
array(
|
||||
'label' => t('Videos'),
|
||||
'url' => App::get_baseurl() . '/videos/' . $nickname,
|
||||
'sel' => ((!isset($tab) && $a->argv[0]=='videos')?'active':''),
|
||||
'sel' => ((!isset($tab) && $a->argv[0]=='videos') ? 'active' : ''),
|
||||
'title' => t('Videos'),
|
||||
'id' => 'video-tab',
|
||||
'accesskey' => 'v',
|
||||
|
@ -806,7 +815,7 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
$tabs[] = array(
|
||||
'label' => t('Events'),
|
||||
'url' => App::get_baseurl() . '/events',
|
||||
'sel' =>((!isset($tab) && $a->argv[0]=='events')?'active':''),
|
||||
'sel' =>((!isset($tab) && $a->argv[0]=='events') ? 'active' : ''),
|
||||
'title' => t('Events and Calendar'),
|
||||
'id' => 'events-tab',
|
||||
'accesskey' => 'e',
|
||||
|
@ -817,18 +826,18 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
$tabs[] = array(
|
||||
'label' => t('Events'),
|
||||
'url' => App::get_baseurl() . '/cal/' . $nickname,
|
||||
'sel' =>((!isset($tab) && $a->argv[0]=='cal')?'active':''),
|
||||
'sel' =>((!isset($tab) && $a->argv[0]=='cal') ? 'active' : ''),
|
||||
'title' => t('Events and Calendar'),
|
||||
'id' => 'events-tab',
|
||||
'accesskey' => 'e',
|
||||
);
|
||||
}
|
||||
|
||||
if ($is_owner){
|
||||
if ($is_owner) {
|
||||
$tabs[] = array(
|
||||
'label' => t('Personal Notes'),
|
||||
'url' => App::get_baseurl() . '/notes',
|
||||
'sel' =>((!isset($tab) && $a->argv[0]=='notes')?'active':''),
|
||||
'sel' =>((!isset($tab) && $a->argv[0]=='notes') ? 'active' : ''),
|
||||
'title' => t('Only You Can See This'),
|
||||
'id' => 'notes-tab',
|
||||
'accesskey' => 't',
|
||||
|
@ -839,7 +848,7 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
$tabs[] = array(
|
||||
'label' => t('Contacts'),
|
||||
'url' => App::get_baseurl() . '/viewcontacts/' . $nickname,
|
||||
'sel' => ((!isset($tab) && $a->argv[0]=='viewcontacts')?'active':''),
|
||||
'sel' => ((!isset($tab) && $a->argv[0]=='viewcontacts') ? 'active' : ''),
|
||||
'title' => t('Contacts'),
|
||||
'id' => 'viewcontacts-tab',
|
||||
'accesskey' => 'k',
|
||||
|
@ -855,8 +864,9 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
}
|
||||
|
||||
function get_my_url() {
|
||||
if (x($_SESSION,'my_url'))
|
||||
if (x($_SESSION, 'my_url')) {
|
||||
return $_SESSION['my_url'];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -868,33 +878,31 @@ function zrl_init(App $a) {
|
|||
// The check fetches the cached value from gprobe to reduce the load for this system
|
||||
$urlparts = parse_url($tmp_str);
|
||||
|
||||
$result = Cache::get("gprobe:".$urlparts["host"]);
|
||||
if (!is_null($result)) {
|
||||
if (in_array($result["network"], array(NETWORK_FEED, NETWORK_PHANTOM))) {
|
||||
logger("DDoS attempt detected for ".$urlparts["host"]." by ".$_SERVER["REMOTE_ADDR"].". server data: ".print_r($_SERVER, true), LOGGER_DEBUG);
|
||||
$result = Cache::get("gprobe:" . $urlparts["host"]);
|
||||
if ((!is_null($result)) && (in_array($result["network"], array(NETWORK_FEED, NETWORK_PHANTOM)))) {
|
||||
logger("DDoS attempt detected for " . $urlparts["host"] . " by " . $_SERVER["REMOTE_ADDR"] . ". server data: " . print_r($_SERVER, true), LOGGER_DEBUG);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
proc_run(PRIORITY_LOW, 'include/gprobe.php',bin2hex($tmp_str));
|
||||
proc_run(PRIORITY_LOW, 'include/gprobe.php', bin2hex($tmp_str));
|
||||
$arr = array('zrl' => $tmp_str, 'url' => $a->cmd);
|
||||
call_hooks('zrl_init',$arr);
|
||||
call_hooks('zrl_init', $arr);
|
||||
}
|
||||
}
|
||||
|
||||
function zrl($s,$force = false) {
|
||||
function zrl($s, $force = false) {
|
||||
if (! strlen($s)) {
|
||||
return $s;
|
||||
}
|
||||
if ((! strpos($s,'/profile/')) && (! $force)) {
|
||||
if ((! strpos($s, '/profile/')) && (! $force)) {
|
||||
return $s;
|
||||
}
|
||||
if ($force && substr($s,-1,1) !== '/') {
|
||||
if ($force && substr($s, -1, 1) !== '/') {
|
||||
$s = $s . '/';
|
||||
}
|
||||
$achar = strpos($s,'?') ? '&' : '?';
|
||||
$achar = strpos($s, '?') ? '&' : '?';
|
||||
$mine = get_my_url();
|
||||
if ($mine and ! link_compare($mine,$s)) {
|
||||
if ($mine && ! link_compare($mine, $s)) {
|
||||
return $s . $achar . 'zrl=' . urlencode($mine);
|
||||
}
|
||||
return $s;
|
||||
|
@ -916,11 +924,9 @@ function zrl($s,$force = false) {
|
|||
*/
|
||||
function get_theme_uid() {
|
||||
$uid = (($_REQUEST['puid']) ? intval($_REQUEST['puid']) : 0);
|
||||
if (local_user()) {
|
||||
if ((get_pconfig(local_user(),'system','always_my_theme')) || (! $uid)) {
|
||||
if ((local_user()) && ((get_pconfig(local_user(),'system','always_my_theme')) || (! $uid))) {
|
||||
return local_user();
|
||||
}
|
||||
}
|
||||
|
||||
return $uid;
|
||||
}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
// Provide some ability to lock a PHP function so that multiple processes
|
||||
// can't run the function concurrently
|
||||
if(! function_exists('lock_function')) {
|
||||
if (! function_exists('lock_function')) {
|
||||
function lock_function($fn_name, $block = true, $wait_sec = 2, $timeout = 30) {
|
||||
if( $wait_sec == 0 )
|
||||
if ( $wait_sec == 0 )
|
||||
$wait_sec = 2; // don't let the user pick a value that's likely to crash the system
|
||||
|
||||
$got_lock = false;
|
||||
|
@ -16,7 +16,7 @@ function lock_function($fn_name, $block = true, $wait_sec = 2, $timeout = 30) {
|
|||
dbesc($fn_name)
|
||||
);
|
||||
|
||||
if((dbm::is_result($r)) AND (!$r[0]['locked'] OR (strtotime($r[0]['created']) < time() - 3600))) {
|
||||
if ((dbm::is_result($r)) AND (!$r[0]['locked'] OR (strtotime($r[0]['created']) < time() - 3600))) {
|
||||
q("UPDATE `locks` SET `locked` = 1, `created` = '%s' WHERE `name` = '%s'",
|
||||
dbesc(datetime_convert()),
|
||||
dbesc($fn_name)
|
||||
|
@ -34,10 +34,10 @@ function lock_function($fn_name, $block = true, $wait_sec = 2, $timeout = 30) {
|
|||
|
||||
q("UNLOCK TABLES");
|
||||
|
||||
if(($block) && (! $got_lock))
|
||||
if (($block) && (! $got_lock))
|
||||
sleep($wait_sec);
|
||||
|
||||
} while(($block) && (! $got_lock) && ((time() - $start) < $timeout));
|
||||
} while (($block) && (! $got_lock) && ((time() - $start) < $timeout));
|
||||
|
||||
logger('lock_function: function ' . $fn_name . ' with blocking = ' . $block . ' got_lock = ' . $got_lock . ' time = ' . (time() - $start), LOGGER_DEBUG);
|
||||
|
||||
|
@ -45,9 +45,9 @@ function lock_function($fn_name, $block = true, $wait_sec = 2, $timeout = 30) {
|
|||
}}
|
||||
|
||||
|
||||
if(! function_exists('block_on_function_lock')) {
|
||||
if (! function_exists('block_on_function_lock')) {
|
||||
function block_on_function_lock($fn_name, $wait_sec = 2, $timeout = 30) {
|
||||
if( $wait_sec == 0 )
|
||||
if ( $wait_sec == 0 )
|
||||
$wait_sec = 2; // don't let the user pick a value that's likely to crash the system
|
||||
|
||||
$start = time();
|
||||
|
@ -57,16 +57,17 @@ function block_on_function_lock($fn_name, $wait_sec = 2, $timeout = 30) {
|
|||
dbesc($fn_name)
|
||||
);
|
||||
|
||||
if (dbm::is_result($r) && $r[0]['locked'])
|
||||
if (dbm::is_result($r) && $r[0]['locked']) {
|
||||
sleep($wait_sec);
|
||||
}
|
||||
|
||||
} while(dbm::is_result($r) && $r[0]['locked'] && ((time() - $start) < $timeout));
|
||||
} while (dbm::is_result($r) && $r[0]['locked'] && ((time() - $start) < $timeout));
|
||||
|
||||
return;
|
||||
}}
|
||||
|
||||
|
||||
if(! function_exists('unlock_function')) {
|
||||
if (! function_exists('unlock_function')) {
|
||||
function unlock_function($fn_name) {
|
||||
$r = q("UPDATE `locks` SET `locked` = 0, `created` = '%s' WHERE `name` = '%s'",
|
||||
dbesc(NULL_DATE),
|
||||
|
|
|
@ -8,9 +8,9 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
|||
|
||||
$a = get_app();
|
||||
|
||||
if(! $recipient) return -1;
|
||||
if (! $recipient) return -1;
|
||||
|
||||
if(! strlen($subject))
|
||||
if (! strlen($subject))
|
||||
$subject = t('[no subject]');
|
||||
|
||||
$me = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
|
||||
|
@ -21,7 +21,7 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
|||
intval(local_user())
|
||||
);
|
||||
|
||||
if(! (count($me) && (count($contact)))) {
|
||||
if (! (count($me) && (count($contact)))) {
|
||||
return -2;
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
|||
|
||||
// look for any existing conversation structure
|
||||
|
||||
if(strlen($replyto)) {
|
||||
if (strlen($replyto)) {
|
||||
$reply = true;
|
||||
$r = q("select convid from mail where uid = %d and ( uri = '%s' or `parent-uri` = '%s' ) limit 1",
|
||||
intval(local_user()),
|
||||
|
@ -44,7 +44,7 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
|||
$convid = $r[0]['convid'];
|
||||
}
|
||||
|
||||
if(! $convid) {
|
||||
if (! $convid) {
|
||||
|
||||
// create a new conversation
|
||||
|
||||
|
@ -77,12 +77,12 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
|||
$convid = $r[0]['id'];
|
||||
}
|
||||
|
||||
if(! $convid) {
|
||||
if (! $convid) {
|
||||
logger('send message: conversation not found.');
|
||||
return -4;
|
||||
}
|
||||
|
||||
if(! strlen($replyto)) {
|
||||
if (! strlen($replyto)) {
|
||||
$replyto = $convuri;
|
||||
}
|
||||
|
||||
|
|
|
@ -154,7 +154,7 @@ function removelinebreak($message)
|
|||
$lines = array();
|
||||
$lineno = 0;
|
||||
|
||||
foreach($arrbody as $i => $line) {
|
||||
foreach ($arrbody as $i => $line) {
|
||||
$currquotelevel = 0;
|
||||
$currline = $line;
|
||||
while ((strlen($currline)>0) and ((substr($currline, 0, 1) == '>')
|
||||
|
|
|
@ -10,7 +10,7 @@ function nav(App $a) {
|
|||
*
|
||||
*/
|
||||
|
||||
if(!(x($a->page,'nav')))
|
||||
if (!(x($a->page,'nav')))
|
||||
$a->page['nav'] = '';
|
||||
|
||||
$a->page['htmlhead'] .= replace_macros(get_markup_template('nav_head.tpl'), array());
|
||||
|
@ -138,7 +138,7 @@ function nav_info(App $a)
|
|||
|
||||
if (strlen(get_config('system', 'singleuser'))) {
|
||||
$gdir = get_config('system', 'directory');
|
||||
if(strlen($gdir)) {
|
||||
if (strlen($gdir)) {
|
||||
$gdirpath = zrl($gdir, true);
|
||||
}
|
||||
} elseif (get_config('system', 'community_page_style') == CP_USERS_ON_SERVER) {
|
||||
|
|
|
@ -172,7 +172,7 @@ function z_fetch_url($url, $binary = false, &$redirects = 0, $opts = array()) {
|
|||
// allow for HTTP/2.x without fixing code
|
||||
|
||||
while (preg_match('/^HTTP\/[1-2].+? [1-5][0-9][0-9]/', $base)) {
|
||||
$chunk = substr($base, 0, strpos($base, "\r\n\r\n") + 4);
|
||||
$chunk = substr($base, 0, strpos($base,"\r\n\r\n") + 4);
|
||||
$header .= $chunk;
|
||||
$base = substr($base, strlen($chunk));
|
||||
}
|
||||
|
@ -196,9 +196,8 @@ function z_fetch_url($url, $binary = false, &$redirects = 0, $opts = array()) {
|
|||
if (preg_match('/(Location:|URI:)(.*?)\n/i', $header, $matches)) {
|
||||
$newurl = trim(array_pop($matches));
|
||||
}
|
||||
|
||||
if (strpos($newurl, '/') === 0) {
|
||||
$newurl = $old_location_info['scheme'] . '://' . $old_location_info['host'] . $newurl;
|
||||
if (strpos($newurl,'/') === 0) {
|
||||
$newurl = $old_location_info["scheme"]."://".$old_location_info["host"].$newurl;
|
||||
}
|
||||
|
||||
if (filter_var($newurl, FILTER_VALIDATE_URL)) {
|
||||
|
@ -342,7 +341,7 @@ function post_url($url, $params, $headers = null, &$redirects = 0, $timeout = 0)
|
|||
$newurl = trim(array_pop($matches));
|
||||
|
||||
if (strpos($newurl, '/') === 0) {
|
||||
$newurl = $old_location_info['scheme'] . '://' . $old_location_info['host'] . $newurl;
|
||||
$newurl = $old_location_info["scheme"] . "://" . $old_location_info["host"] . $newurl;
|
||||
}
|
||||
|
||||
if (filter_var($newurl, FILTER_VALIDATE_URL)) {
|
||||
|
@ -375,7 +374,7 @@ function xml_status($st, $message = '') {
|
|||
|
||||
$xml_message = ((strlen($message)) ? "\t<message>" . xmlify($message) . "</message>\r\n" : '');
|
||||
|
||||
if($st)
|
||||
if ($st)
|
||||
logger('xml_status returning non_zero: ' . $st . " message=" . $message);
|
||||
|
||||
header( "Content-type: text/xml" );
|
||||
|
@ -403,12 +402,12 @@ function xml_status($st, $message = '') {
|
|||
*/
|
||||
function http_status_exit($val, $description = array()) {
|
||||
$err = '';
|
||||
if($val >= 400) {
|
||||
if ($val >= 400) {
|
||||
$err = 'Error';
|
||||
if (!isset($description["title"]))
|
||||
$description["title"] = $err." ".$val;
|
||||
}
|
||||
if($val >= 200 && $val < 300)
|
||||
if ($val >= 200 && $val < 300)
|
||||
$err = 'OK';
|
||||
|
||||
logger('http_status_exit ' . $val);
|
||||
|
@ -434,20 +433,20 @@ function http_status_exit($val, $description = array()) {
|
|||
* @return boolean True if it's a valid URL, fals if something wrong with it
|
||||
*/
|
||||
function validate_url(&$url) {
|
||||
if(get_config('system','disable_url_validation'))
|
||||
if (get_config('system','disable_url_validation'))
|
||||
return true;
|
||||
|
||||
// no naked subdomains (allow localhost for tests)
|
||||
if(strpos($url,'.') === false && strpos($url,'/localhost/') === false)
|
||||
if (strpos($url,'.') === false && strpos($url,'/localhost/') === false)
|
||||
return false;
|
||||
|
||||
if(substr($url,0,4) != 'http')
|
||||
if (substr($url,0,4) != 'http')
|
||||
$url = 'http://' . $url;
|
||||
|
||||
/// @TODO Really supress function outcomes? Why not find them + debug them?
|
||||
$h = @parse_url($url);
|
||||
|
||||
if((is_array($h)) && (dns_get_record($h['host'], DNS_A + DNS_CNAME + DNS_PTR) || filter_var($h['host'], FILTER_VALIDATE_IP) )) {
|
||||
if ((is_array($h)) && (dns_get_record($h['host'], DNS_A + DNS_CNAME + DNS_PTR) || filter_var($h['host'], FILTER_VALIDATE_IP) )) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -462,14 +461,14 @@ function validate_url(&$url) {
|
|||
*/
|
||||
function validate_email($addr) {
|
||||
|
||||
if(get_config('system','disable_email_validation'))
|
||||
if (get_config('system','disable_email_validation'))
|
||||
return true;
|
||||
|
||||
if(! strpos($addr,'@'))
|
||||
if (! strpos($addr,'@'))
|
||||
return false;
|
||||
$h = substr($addr,strpos($addr,'@') + 1);
|
||||
|
||||
if(($h) && (dns_get_record($h, DNS_A + DNS_CNAME + DNS_PTR + DNS_MX) || filter_var($h, FILTER_VALIDATE_IP) )) {
|
||||
if (($h) && (dns_get_record($h, DNS_A + DNS_CNAME + DNS_PTR + DNS_MX) || filter_var($h, FILTER_VALIDATE_IP) )) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -502,7 +501,6 @@ function allowed_url($url) {
|
|||
$host = strtolower($h['host']);
|
||||
|
||||
// always allow our own site
|
||||
|
||||
if ($host == strtolower($_SERVER['SERVER_NAME'])) {
|
||||
return true;
|
||||
}
|
||||
|
@ -563,24 +561,25 @@ function blocked_url($url) {
|
|||
*/
|
||||
function allowed_email($email) {
|
||||
|
||||
|
||||
$domain = strtolower(substr($email,strpos($email,'@') + 1));
|
||||
if(! $domain)
|
||||
if (! $domain) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$str_allowed = get_config('system','allowed_email');
|
||||
if(! $str_allowed)
|
||||
if (! $str_allowed) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$found = false;
|
||||
|
||||
$fnmatch = function_exists('fnmatch');
|
||||
$allowed = explode(',',$str_allowed);
|
||||
|
||||
if(count($allowed)) {
|
||||
foreach($allowed as $a) {
|
||||
if (count($allowed)) {
|
||||
foreach ($allowed as $a) {
|
||||
$pat = strtolower(trim($a));
|
||||
if(($fnmatch && fnmatch($pat,$domain)) || ($pat == $domain)) {
|
||||
if (($fnmatch && fnmatch($pat,$domain)) || ($pat == $domain)) {
|
||||
$found = true;
|
||||
break;
|
||||
}
|
||||
|
@ -609,8 +608,8 @@ function avatar_img($email) {
|
|||
|
||||
function parse_xml_string($s,$strict = true) {
|
||||
/// @todo Move this function to the xml class
|
||||
if($strict) {
|
||||
if(! strstr($s,'<?xml'))
|
||||
if ($strict) {
|
||||
if (! strstr($s,'<?xml'))
|
||||
return false;
|
||||
$s2 = substr($s,strpos($s,'<?xml'));
|
||||
}
|
||||
|
|
|
@ -157,7 +157,7 @@ class FKOAuth1 extends OAuthServer {
|
|||
//notice( t("Welcome back ") . $record['username'] . EOL);
|
||||
$a->user = $record;
|
||||
|
||||
if(strlen($a->user['timezone'])) {
|
||||
if (strlen($a->user['timezone'])) {
|
||||
date_default_timezone_set($a->user['timezone']);
|
||||
$a->timezone = $a->user['timezone'];
|
||||
}
|
||||
|
|
|
@ -304,9 +304,11 @@ function oembed_html2bbcode($text) {
|
|||
$entries = $xpath->query("//span[$xattr]");
|
||||
|
||||
$xattr = "@rel='oembed'";//oe_build_xpath("rel","oembed");
|
||||
foreach($entries as $e) {
|
||||
foreach ($entries as $e) {
|
||||
$href = $xpath->evaluate("a[$xattr]/@href", $e)->item(0)->nodeValue;
|
||||
if(!is_null($href)) $e->parentNode->replaceChild(new DOMText("[embed]".$href."[/embed]"), $e);
|
||||
if (!is_null($href)) {
|
||||
$e->parentNode->replaceChild(new DOMText("[embed]".$href."[/embed]"), $e);
|
||||
}
|
||||
}
|
||||
return oe_get_inner_html( $dom->getElementsByTagName("body")->item(0) );
|
||||
} else {
|
||||
|
|
|
@ -170,7 +170,7 @@ function onepoll_run(&$argv, &$argc){
|
|||
// But this may be our first communication, so set the writable flag if it isn't set already.
|
||||
|
||||
if (! intval($contact['writable'])) {
|
||||
q("update contact set writable = 1 where id = %d", intval($contact['id']));
|
||||
q("UPDATE `contact` SET `writable` = 1 WHERE `id` = %d", intval($contact['id']));
|
||||
}
|
||||
|
||||
$url = $contact['poll'] . '?dfrn_id=' . $idtosend
|
||||
|
@ -437,16 +437,18 @@ function onepoll_run(&$argv, &$argc){
|
|||
if ($raw_refs) {
|
||||
$refs_arr = explode(' ', $raw_refs);
|
||||
if (count($refs_arr)) {
|
||||
for($x = 0; $x < count($refs_arr); $x ++)
|
||||
for ($x = 0; $x < count($refs_arr); $x ++) {
|
||||
$refs_arr[$x] = "'" . msgid2iri(str_replace(array('<','>',' '),array('','',''),dbesc($refs_arr[$x]))) . "'";
|
||||
}
|
||||
}
|
||||
$qstr = implode(',',$refs_arr);
|
||||
$r = q("SELECT `uri` , `parent-uri` FROM `item` USE INDEX (`uid_uri`) WHERE `uri` IN ($qstr) AND `uid` = %d LIMIT 1",
|
||||
intval($importer_uid)
|
||||
);
|
||||
if (dbm::is_result($r))
|
||||
if (dbm::is_result($r)) {
|
||||
$datarray['parent-uri'] = $r[0]['parent-uri']; // Set the parent as the top-level item
|
||||
// $datarray['parent-uri'] = $r[0]['uri'];
|
||||
//$datarray['parent-uri'] = $r[0]['uri'];
|
||||
}
|
||||
}
|
||||
|
||||
// Decoding the header
|
||||
|
@ -611,14 +613,17 @@ function onepoll_run(&$argv, &$argc){
|
|||
consume_feed($xml,$importer,$contact,$hub,1,2);
|
||||
|
||||
$hubmode = 'subscribe';
|
||||
if ($contact['network'] === NETWORK_DFRN || $contact['blocked'] || $contact['readonly'])
|
||||
if ($contact['network'] === NETWORK_DFRN || $contact['blocked'] || $contact['readonly']) {
|
||||
$hubmode = 'unsubscribe';
|
||||
}
|
||||
|
||||
if (($contact['network'] === NETWORK_OSTATUS || $contact['network'] == NETWORK_FEED) && (! $contact['hub-verify']))
|
||||
if (($contact['network'] === NETWORK_OSTATUS || $contact['network'] == NETWORK_FEED) && (! $contact['hub-verify'])) {
|
||||
$hub_update = true;
|
||||
}
|
||||
|
||||
if ($force)
|
||||
if ($force) {
|
||||
$hub_update = true;
|
||||
}
|
||||
|
||||
logger("Contact ".$contact['id']." returned hub: ".$hub." Network: ".$contact['network']." Relation: ".$contact['rel']." Update: ".$hub_update);
|
||||
|
||||
|
|
|
@ -70,6 +70,7 @@ class ostatus {
|
|||
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `nurl` IN ('%s', '%s') AND `network` != '%s'",
|
||||
intval($importer["uid"]), dbesc(normalise_link($author["author-link"])),
|
||||
dbesc(normalise_link($aliaslink)), dbesc(NETWORK_STATUSNET));
|
||||
|
||||
if (dbm::is_result($r)) {
|
||||
$contact = $r[0];
|
||||
$author["contact-id"] = $r[0]["id"];
|
||||
|
@ -79,6 +80,7 @@ class ostatus {
|
|||
// Should not happen
|
||||
$contact = dba::fetch_first("SELECT * FROM `contact` WHERE `uid` = ? AND `addr` = ? AND `network` != ?",
|
||||
$importer["uid"], $addr, NETWORK_STATUSNET);
|
||||
|
||||
if (dbm::is_result($contact)) {
|
||||
$author["contact-id"] = $contact["id"];
|
||||
$author["author-link"] = $contact["url"];
|
||||
|
@ -87,26 +89,30 @@ class ostatus {
|
|||
|
||||
$avatarlist = array();
|
||||
$avatars = $xpath->query("atom:author/atom:link[@rel='avatar']", $context);
|
||||
foreach($avatars AS $avatar) {
|
||||
foreach ($avatars AS $avatar) {
|
||||
$href = "";
|
||||
$width = 0;
|
||||
foreach($avatar->attributes AS $attributes) {
|
||||
if ($attributes->name == "href")
|
||||
foreach ($avatar->attributes AS $attributes) {
|
||||
if ($attributes->name == "href") {
|
||||
$href = $attributes->textContent;
|
||||
if ($attributes->name == "width")
|
||||
}
|
||||
if ($attributes->name == "width") {
|
||||
$width = $attributes->textContent;
|
||||
}
|
||||
if (($width > 0) AND ($href != ""))
|
||||
}
|
||||
if (($width > 0) AND ($href != "")) {
|
||||
$avatarlist[$width] = $href;
|
||||
}
|
||||
}
|
||||
if (count($avatarlist) > 0) {
|
||||
krsort($avatarlist);
|
||||
$author["author-avatar"] = Probe::fixAvatar(current($avatarlist), $author["author-link"]);
|
||||
}
|
||||
|
||||
$displayname = $xpath->evaluate('atom:author/poco:displayName/text()', $context)->item(0)->nodeValue;
|
||||
if ($displayname != "")
|
||||
if ($displayname != "") {
|
||||
$author["author-name"] = $displayname;
|
||||
}
|
||||
|
||||
$author["owner-name"] = $author["author-name"];
|
||||
$author["owner-link"] = $author["author-link"];
|
||||
|
@ -446,7 +452,7 @@ class ostatus {
|
|||
foreach ($category->attributes AS $attributes) {
|
||||
if ($attributes->name == "term") {
|
||||
$term = $attributes->textContent;
|
||||
if(strlen($item["tag"])) {
|
||||
if (strlen($item["tag"])) {
|
||||
$item["tag"] .= ',';
|
||||
}
|
||||
$item["tag"] .= "#[url=".App::get_baseurl()."/search?tag=".$term."]".$term."[/url]";
|
||||
|
@ -1146,6 +1152,7 @@ class ostatus {
|
|||
continue;
|
||||
}
|
||||
|
||||
/// @TODO One statment is okay (until if () )
|
||||
$arr = array();
|
||||
$arr["network"] = $details["network"];
|
||||
$arr["uri"] = $single_conv->id;
|
||||
|
@ -2211,7 +2218,7 @@ class ostatus {
|
|||
|
||||
$owner = $r[0];
|
||||
|
||||
if(!strlen($last_update))
|
||||
if (!strlen($last_update))
|
||||
$last_update = 'now -30 days';
|
||||
|
||||
$check_date = datetime_convert('UTC','UTC',$last_update,'Y-m-d H:i:s');
|
||||
|
|
|
@ -8,8 +8,9 @@ define("IMPORT_DEBUG", False);
|
|||
function last_insert_id() {
|
||||
global $db;
|
||||
|
||||
if (IMPORT_DEBUG)
|
||||
if (IMPORT_DEBUG) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return $db->insert_id();
|
||||
}
|
||||
|
@ -56,15 +57,12 @@ function db_import_assoc($table, $arr) {
|
|||
$vals = implode("','", array_map('dbesc', array_values($arr)));
|
||||
$query = "INSERT INTO `$table` (`$cols`) VALUES ('$vals')";
|
||||
logger("uimport: $query", LOGGER_TRACE);
|
||||
if (IMPORT_DEBUG)
|
||||
if (IMPORT_DEBUG) {
|
||||
return true;
|
||||
}
|
||||
return q($query);
|
||||
}
|
||||
|
||||
function import_cleanup($newuid) {
|
||||
dba::delete('user', array('uid' => $newuid));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Import account file exported from mod/uexport
|
||||
*
|
||||
|
@ -95,6 +93,7 @@ function import_account(App $a, $file) {
|
|||
}
|
||||
|
||||
/*
|
||||
* @TODO Old-lost code?
|
||||
// this is not required as we remove columns in json not in current db schema
|
||||
if ($account['schema'] != DB_UPDATE_VERSION) {
|
||||
notice(t("Error! I can't import this file: DB schema version is not compatible."));
|
||||
|
@ -133,11 +132,11 @@ function import_account(App $a, $file) {
|
|||
unset($account['user']['account_expired']);
|
||||
unset($account['user']['account_expires_on']);
|
||||
unset($account['user']['expire_notification_sent']);
|
||||
|
||||
foreach ($account['user'] as $k => &$v) {
|
||||
$v = str_replace($oldbaseurl, $newbaseurl, $v);
|
||||
}
|
||||
|
||||
|
||||
// import user
|
||||
$r = db_import_assoc('user', $account['user']);
|
||||
if ($r === false) {
|
||||
|
@ -156,15 +155,16 @@ function import_account(App $a, $file) {
|
|||
foreach ($account['profile'] as &$profile) {
|
||||
foreach ($profile as $k => &$v) {
|
||||
$v = str_replace($oldbaseurl, $newbaseurl, $v);
|
||||
foreach (array("profile", "avatar") as $k)
|
||||
foreach (array("profile", "avatar") as $k) {
|
||||
$v = str_replace($oldbaseurl . "/photo/" . $k . "/" . $olduid . ".jpg", $newbaseurl . "/photo/" . $k . "/" . $newuid . ".jpg", $v);
|
||||
}
|
||||
}
|
||||
$profile['uid'] = $newuid;
|
||||
$r = db_import_assoc('profile', $profile);
|
||||
if ($r === false) {
|
||||
logger("uimport:insert profile " . $profile['profile-name'] . " : ERROR : " . last_error(), LOGGER_NORMAL);
|
||||
info(t("User profile creation error"));
|
||||
import_cleanup($newuid);
|
||||
dba::delete('user', array('uid' => $newuid));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -174,15 +174,15 @@ function import_account(App $a, $file) {
|
|||
if ($contact['uid'] == $olduid && $contact['self'] == '1') {
|
||||
foreach ($contact as $k => &$v) {
|
||||
$v = str_replace($oldbaseurl, $newbaseurl, $v);
|
||||
foreach (array("profile", "avatar", "micro") as $k)
|
||||
foreach (array("profile", "avatar", "micro") as $k) {
|
||||
$v = str_replace($oldbaseurl . "/photo/" . $k . "/" . $olduid . ".jpg", $newbaseurl . "/photo/" . $k . "/" . $newuid . ".jpg", $v);
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($contact['uid'] == $olduid && $contact['self'] == '0') {
|
||||
// set contacts 'avatar-date' to NULL_DATE to let poller to update urls
|
||||
$contact["avatar-date"] = NULL_DATE;
|
||||
|
||||
|
||||
switch ($contact['network']) {
|
||||
case NETWORK_DFRN:
|
||||
// send relocate message (below)
|
||||
|
|
|
@ -6,6 +6,7 @@ function login_content(App $a) {
|
|||
if (x($_SESSION, 'theme')) {
|
||||
unset($_SESSION['theme']);
|
||||
}
|
||||
|
||||
if (x($_SESSION, 'mobile-theme')) {
|
||||
unset($_SESSION['mobile-theme']);
|
||||
}
|
||||
|
|
|
@ -11,4 +11,3 @@
|
|||
</section>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
|
|
@ -59,4 +59,3 @@
|
|||
</div>
|
||||
<div id="group-all-contacts-end"></div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
*/
|
||||
|
||||
|
||||
$(document).ready(function(){
|
||||
$(document).ready(function() {
|
||||
// Add an event listeners on buttons for switching the contact list view
|
||||
$("body").on("click", ".group-list-switcher", function(){
|
||||
$("body").on("click", ".group-list-switcher", function() {
|
||||
switchGroupViewMode(this);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -83,4 +83,3 @@
|
|||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
Loading…
Reference in a new issue