mirror of
https://github.com/friendica/friendica
synced 2024-12-23 13:20:21 +00:00
Merge pull request #3369 from Quix0r/rewrites/coding-convention-split2-2-2
Coding convention applied split 2-2-2 (of 2-14-2)
This commit is contained in:
commit
3da0436f01
11 changed files with 240 additions and 191 deletions
|
@ -14,13 +14,20 @@ use \Friendica\Core\Config;
|
||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
function timezone_cmp($a, $b) {
|
function timezone_cmp($a, $b) {
|
||||||
if(strstr($a,'/') && strstr($b,'/')) {
|
if (strstr($a, '/') && strstr($b, '/')) {
|
||||||
if ( t($a) == t($b)) return 0;
|
if ( t($a) == t($b)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
return ( t($a) < t($b)) ? -1 : 1;
|
return ( t($a) < t($b)) ? -1 : 1;
|
||||||
}
|
}
|
||||||
if(strstr($a,'/')) return -1;
|
|
||||||
if(strstr($b,'/')) return 1;
|
if (strstr($a, '/')) {
|
||||||
if ( t($a) == t($b)) return 0;
|
return -1;
|
||||||
|
} elseif (strstr($b, '/')) {
|
||||||
|
return 1;
|
||||||
|
} elseif ( t($a) == t($b)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
return ( t($a) < t($b)) ? -1 : 1;
|
return ( t($a) < t($b)) ? -1 : 1;
|
||||||
}
|
}
|
||||||
|
@ -39,23 +46,24 @@ function select_timezone($current = 'America/Los_Angeles') {
|
||||||
|
|
||||||
usort($timezone_identifiers, 'timezone_cmp');
|
usort($timezone_identifiers, 'timezone_cmp');
|
||||||
$continent = '';
|
$continent = '';
|
||||||
foreach($timezone_identifiers as $value) {
|
foreach ($timezone_identifiers as $value) {
|
||||||
$ex = explode("/", $value);
|
$ex = explode("/", $value);
|
||||||
if(count($ex) > 1) {
|
if (count($ex) > 1) {
|
||||||
if($ex[0] != $continent) {
|
if ($ex[0] != $continent) {
|
||||||
if($continent != '')
|
if ($continent != '') {
|
||||||
$o .= '</optgroup>';
|
$o .= '</optgroup>';
|
||||||
|
}
|
||||||
$continent = $ex[0];
|
$continent = $ex[0];
|
||||||
$o .= '<optgroup label="' . t($continent) . '">';
|
$o .= '<optgroup label="' . t($continent) . '">';
|
||||||
}
|
}
|
||||||
if(count($ex) > 2)
|
if (count($ex) > 2) {
|
||||||
$city = substr($value,strpos($value,'/')+1);
|
$city = substr($value,strpos($value,'/')+1);
|
||||||
else
|
} else {
|
||||||
$city = $ex[1];
|
$city = $ex[1];
|
||||||
}
|
}
|
||||||
else {
|
} else {
|
||||||
$city = $ex[0];
|
$city = $ex[0];
|
||||||
if($continent != t('Miscellaneous')) {
|
if ($continent != t('Miscellaneous')) {
|
||||||
$o .= '</optgroup>';
|
$o .= '</optgroup>';
|
||||||
$continent = t('Miscellaneous');
|
$continent = t('Miscellaneous');
|
||||||
$o .= '<optgroup label="' . t($continent) . '">';
|
$o .= '<optgroup label="' . t($continent) . '">';
|
||||||
|
@ -114,48 +122,50 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d
|
||||||
// Defaults to UTC if nothing is set, but throws an exception if set to empty string.
|
// Defaults to UTC if nothing is set, but throws an exception if set to empty string.
|
||||||
// Provide some sane defaults regardless.
|
// Provide some sane defaults regardless.
|
||||||
|
|
||||||
if($from === '')
|
if ($from === '') {
|
||||||
$from = 'UTC';
|
$from = 'UTC';
|
||||||
if($to === '')
|
}
|
||||||
|
if ($to === '') {
|
||||||
$to = 'UTC';
|
$to = 'UTC';
|
||||||
if( ($s === '') || (! is_string($s)) )
|
}
|
||||||
|
if ( ($s === '') || (! is_string($s)) ) {
|
||||||
$s = 'now';
|
$s = 'now';
|
||||||
|
}
|
||||||
|
|
||||||
// Slight hackish adjustment so that 'zero' datetime actually returns what is intended
|
/*
|
||||||
// otherwise we end up with -0001-11-30 ...
|
* Slight hackish adjustment so that 'zero' datetime actually returns what is intended
|
||||||
// add 32 days so that we at least get year 00, and then hack around the fact that
|
* otherwise we end up with -0001-11-30 ...
|
||||||
// months and days always start with 1.
|
* add 32 days so that we at least get year 00, and then hack around the fact that
|
||||||
|
* months and days always start with 1.
|
||||||
|
*/
|
||||||
|
|
||||||
if(substr($s,0,10) <= '0001-01-01') {
|
if (substr($s,0,10) <= '0001-01-01') {
|
||||||
$d = new DateTime($s . ' + 32 days', new DateTimeZone('UTC'));
|
$d = new DateTime($s . ' + 32 days', new DateTimeZone('UTC'));
|
||||||
return str_replace('1','0',$d->format($fmt));
|
return str_replace('1','0',$d->format($fmt));
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$from_obj = new DateTimeZone($from);
|
$from_obj = new DateTimeZone($from);
|
||||||
}
|
} catch (Exception $e) {
|
||||||
catch(Exception $e) {
|
|
||||||
$from_obj = new DateTimeZone('UTC');
|
$from_obj = new DateTimeZone('UTC');
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$d = new DateTime($s, $from_obj);
|
$d = new DateTime($s, $from_obj);
|
||||||
}
|
} catch (Exception $e) {
|
||||||
catch(Exception $e) {
|
|
||||||
logger('datetime_convert: exception: ' . $e->getMessage());
|
logger('datetime_convert: exception: ' . $e->getMessage());
|
||||||
$d = new DateTime('now', $from_obj);
|
$d = new DateTime('now', $from_obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$to_obj = new DateTimeZone($to);
|
$to_obj = new DateTimeZone($to);
|
||||||
}
|
} catch (Exception $e) {
|
||||||
catch(Exception $e) {
|
|
||||||
$to_obj = new DateTimeZone('UTC');
|
$to_obj = new DateTimeZone('UTC');
|
||||||
}
|
}
|
||||||
|
|
||||||
$d->setTimeZone($to_obj);
|
$d->setTimeZone($to_obj);
|
||||||
|
|
||||||
return($d->format($fmt));
|
return $d->format($fmt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -169,12 +179,14 @@ function dob($dob) {
|
||||||
list($year,$month,$day) = sscanf($dob,'%4d-%2d-%2d');
|
list($year,$month,$day) = sscanf($dob,'%4d-%2d-%2d');
|
||||||
|
|
||||||
$f = get_config('system','birthday_input_format');
|
$f = get_config('system','birthday_input_format');
|
||||||
if(! $f)
|
if (! $f) {
|
||||||
$f = 'ymd';
|
$f = 'ymd';
|
||||||
if($dob <= '0001-01-01')
|
}
|
||||||
|
if ($dob <= '0001-01-01') {
|
||||||
$value = '';
|
$value = '';
|
||||||
else
|
} else {
|
||||||
$value = (($year) ? datetime_convert('UTC','UTC',$dob,'Y-m-d') : datetime_convert('UTC','UTC',$dob,'m-d'));
|
$value = (($year) ? datetime_convert('UTC','UTC',$dob,'Y-m-d') : datetime_convert('UTC','UTC',$dob,'m-d'));
|
||||||
|
}
|
||||||
|
|
||||||
$age = ((intval($value)) ? age($value, $a->user["timezone"], $a->user["timezone"]) : "");
|
$age = ((intval($value)) ? age($value, $a->user["timezone"], $a->user["timezone"]) : "");
|
||||||
|
|
||||||
|
@ -189,6 +201,7 @@ function dob($dob) {
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
|
/// @TODO Old-lost code?
|
||||||
// if ($dob && $dob > '0001-01-01')
|
// if ($dob && $dob > '0001-01-01')
|
||||||
// $o = datesel($f,mktime(0,0,0,0,0,1900),mktime(),mktime(0,0,0,$month,$day,$year),'dob');
|
// $o = datesel($f,mktime(0,0,0,0,0,1900),mktime(),mktime(0,0,0,$month,$day,$year),'dob');
|
||||||
// else
|
// else
|
||||||
|
@ -214,7 +227,7 @@ function dob($dob) {
|
||||||
* @return string Parsed HTML output.
|
* @return string Parsed HTML output.
|
||||||
*/
|
*/
|
||||||
function datesel($format, $min, $max, $default, $id = 'datepicker') {
|
function datesel($format, $min, $max, $default, $id = 'datepicker') {
|
||||||
return datetimesel($format,$min,$max,$default,'',$id,true,false, '','');
|
return datetimesel($format, $min, $max, $default, '', $id, true, false, '', '');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -231,8 +244,8 @@ function datesel($format, $min, $max, $default, $id = 'datepicker') {
|
||||||
*
|
*
|
||||||
* @return string Parsed HTML output.
|
* @return string Parsed HTML output.
|
||||||
*/
|
*/
|
||||||
function timesel($format, $h, $m, $id='timepicker') {
|
function timesel($format, $h, $m, $id = 'timepicker') {
|
||||||
return datetimesel($format,new DateTime(),new DateTime(),new DateTime("$h:$m"),'',$id,false,true);
|
return datetimesel($format, new DateTime(), new DateTime(), new DateTime("$h:$m"), '', $id, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -267,7 +280,9 @@ function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicke
|
||||||
|
|
||||||
// First day of the week (0 = Sunday)
|
// First day of the week (0 = Sunday)
|
||||||
$firstDay = get_pconfig(local_user(),'system','first_day_of_week');
|
$firstDay = get_pconfig(local_user(),'system','first_day_of_week');
|
||||||
if ($firstDay === false) $firstDay=0;
|
if ($firstDay === false) {
|
||||||
|
$firstDay=0;
|
||||||
|
}
|
||||||
|
|
||||||
$lang = substr(get_browser_language(), 0, 2);
|
$lang = substr(get_browser_language(), 0, 2);
|
||||||
|
|
||||||
|
@ -279,9 +294,15 @@ function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicke
|
||||||
$o = '';
|
$o = '';
|
||||||
$dateformat = '';
|
$dateformat = '';
|
||||||
|
|
||||||
if($pickdate) $dateformat .= 'Y-m-d';
|
if ($pickdate) {
|
||||||
if($pickdate && $picktime) $dateformat .= ' ';
|
$dateformat .= 'Y-m-d';
|
||||||
if($picktime) $dateformat .= 'H:i';
|
}
|
||||||
|
if ($pickdate && $picktime) {
|
||||||
|
$dateformat .= ' ';
|
||||||
|
}
|
||||||
|
if ($picktime) {
|
||||||
|
$dateformat .= 'H:i';
|
||||||
|
}
|
||||||
|
|
||||||
$minjs = $min ? ",minDate: new Date({$min->getTimestamp()}*1000), yearStart: " . $min->format('Y') : '';
|
$minjs = $min ? ",minDate: new Date({$min->getTimestamp()}*1000), yearStart: " . $min->format('Y') : '';
|
||||||
$maxjs = $max ? ",maxDate: new Date({$max->getTimestamp()}*1000), yearEnd: " . $max->format('Y') : '';
|
$maxjs = $max ? ",maxDate: new Date({$max->getTimestamp()}*1000), yearEnd: " . $max->format('Y') : '';
|
||||||
|
@ -290,15 +311,21 @@ function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicke
|
||||||
$defaultdatejs = $default ? ",defaultDate: new Date({$default->getTimestamp()}*1000)" : '';
|
$defaultdatejs = $default ? ",defaultDate: new Date({$default->getTimestamp()}*1000)" : '';
|
||||||
|
|
||||||
$pickers = '';
|
$pickers = '';
|
||||||
if(!$pickdate) $pickers .= ',datepicker: false';
|
if (!$pickdate) {
|
||||||
if(!$picktime) $pickers .= ',timepicker: false';
|
$pickers .= ',datepicker: false';
|
||||||
|
}
|
||||||
|
if (!$picktime) {
|
||||||
|
$pickers .= ',timepicker: false';
|
||||||
|
}
|
||||||
|
|
||||||
$extra_js = '';
|
$extra_js = '';
|
||||||
$pickers .= ",dayOfWeekStart: ".$firstDay.",lang:'".$lang."'";
|
$pickers .= ",dayOfWeekStart: ".$firstDay.",lang:'".$lang."'";
|
||||||
if($minfrom != '')
|
if ($minfrom != '') {
|
||||||
$extra_js .= "\$('#id_$minfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#id_$id').data('xdsoft_datetimepicker').setOptions({minDate: currentDateTime})}})";
|
$extra_js .= "\$('#id_$minfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#id_$id').data('xdsoft_datetimepicker').setOptions({minDate: currentDateTime})}})";
|
||||||
if($maxfrom != '')
|
}
|
||||||
|
if ($maxfrom != '') {
|
||||||
$extra_js .= "\$('#id_$maxfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#id_$id').data('xdsoft_datetimepicker').setOptions({maxDate: currentDateTime})}})";
|
$extra_js .= "\$('#id_$maxfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#id_$id').data('xdsoft_datetimepicker').setOptions({maxDate: currentDateTime})}})";
|
||||||
|
}
|
||||||
|
|
||||||
$readable_format = $dateformat;
|
$readable_format = $dateformat;
|
||||||
$readable_format = str_replace('Y','yyyy',$readable_format);
|
$readable_format = str_replace('Y','yyyy',$readable_format);
|
||||||
|
@ -393,13 +420,16 @@ function relative_date($posted_date, $format = null) {
|
||||||
*
|
*
|
||||||
* @return int Age in years
|
* @return int Age in years
|
||||||
*/
|
*/
|
||||||
function age($dob,$owner_tz = '',$viewer_tz = '') {
|
function age($dob, $owner_tz = '', $viewer_tz = '') {
|
||||||
if(! intval($dob))
|
if (! intval($dob)) {
|
||||||
return 0;
|
return 0;
|
||||||
if(! $owner_tz)
|
}
|
||||||
|
if (! $owner_tz) {
|
||||||
$owner_tz = date_default_timezone_get();
|
$owner_tz = date_default_timezone_get();
|
||||||
if(! $viewer_tz)
|
}
|
||||||
|
if (! $viewer_tz) {
|
||||||
$viewer_tz = date_default_timezone_get();
|
$viewer_tz = date_default_timezone_get();
|
||||||
|
}
|
||||||
|
|
||||||
$birthdate = datetime_convert('UTC',$owner_tz,$dob . ' 00:00:00+00:00','Y-m-d');
|
$birthdate = datetime_convert('UTC',$owner_tz,$dob . ' 00:00:00+00:00','Y-m-d');
|
||||||
list($year,$month,$day) = explode("-",$birthdate);
|
list($year,$month,$day) = explode("-",$birthdate);
|
||||||
|
@ -407,8 +437,9 @@ function age($dob,$owner_tz = '',$viewer_tz = '') {
|
||||||
$curr_month = datetime_convert('UTC',$viewer_tz,'now','m');
|
$curr_month = datetime_convert('UTC',$viewer_tz,'now','m');
|
||||||
$curr_day = datetime_convert('UTC',$viewer_tz,'now','d');
|
$curr_day = datetime_convert('UTC',$viewer_tz,'now','d');
|
||||||
|
|
||||||
if(($curr_month < $month) || (($curr_month == $month) && ($curr_day < $day)))
|
if (($curr_month < $month) || (($curr_month == $month) && ($curr_day < $day))) {
|
||||||
$year_diff--;
|
$year_diff--;
|
||||||
|
}
|
||||||
|
|
||||||
return $year_diff;
|
return $year_diff;
|
||||||
}
|
}
|
||||||
|
@ -430,11 +461,11 @@ function get_dim($y,$m) {
|
||||||
31, 28, 31, 30, 31, 30,
|
31, 28, 31, 30, 31, 30,
|
||||||
31, 31, 30, 31, 30, 31);
|
31, 31, 30, 31, 30, 31);
|
||||||
|
|
||||||
if($m != 2)
|
if ($m != 2) {
|
||||||
return $dim[$m];
|
return $dim[$m];
|
||||||
|
} elseif (((($y % 4) == 0) && (($y % 100) != 0)) || (($y % 400) == 0)) {
|
||||||
if(((($y % 4) == 0) && (($y % 100) != 0)) || (($y % 400) == 0))
|
|
||||||
return 29;
|
return 29;
|
||||||
|
}
|
||||||
|
|
||||||
return $dim[2];
|
return $dim[2];
|
||||||
}
|
}
|
||||||
|
@ -473,8 +504,6 @@ function get_first_dim($y,$m) {
|
||||||
* @todo Provide (prev,next) links, define class variations for different size calendars
|
* @todo Provide (prev,next) links, define class variations for different size calendars
|
||||||
*/
|
*/
|
||||||
function cal($y = 0,$m = 0, $links = false, $class='') {
|
function cal($y = 0,$m = 0, $links = false, $class='') {
|
||||||
|
|
||||||
|
|
||||||
// month table - start at 1 to match human usage.
|
// month table - start at 1 to match human usage.
|
||||||
|
|
||||||
$mtab = array(' ',
|
$mtab = array(' ',
|
||||||
|
@ -486,10 +515,12 @@ function cal($y = 0,$m = 0, $links = false, $class='') {
|
||||||
|
|
||||||
$thisyear = datetime_convert('UTC',date_default_timezone_get(),'now','Y');
|
$thisyear = datetime_convert('UTC',date_default_timezone_get(),'now','Y');
|
||||||
$thismonth = datetime_convert('UTC',date_default_timezone_get(),'now','m');
|
$thismonth = datetime_convert('UTC',date_default_timezone_get(),'now','m');
|
||||||
if(! $y)
|
if (! $y) {
|
||||||
$y = $thisyear;
|
$y = $thisyear;
|
||||||
if(! $m)
|
}
|
||||||
|
if (! $m) {
|
||||||
$m = intval($thismonth);
|
$m = intval($thismonth);
|
||||||
|
}
|
||||||
|
|
||||||
$dn = array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
|
$dn = array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
|
||||||
$f = get_first_dim($y,$m);
|
$f = get_first_dim($y,$m);
|
||||||
|
@ -498,29 +529,33 @@ function cal($y = 0,$m = 0, $links = false, $class='') {
|
||||||
$dow = 0;
|
$dow = 0;
|
||||||
$started = false;
|
$started = false;
|
||||||
|
|
||||||
if(($y == $thisyear) && ($m == $thismonth))
|
if (($y == $thisyear) && ($m == $thismonth)) {
|
||||||
$tddate = intval(datetime_convert('UTC',date_default_timezone_get(),'now','j'));
|
$tddate = intval(datetime_convert('UTC',date_default_timezone_get(),'now','j'));
|
||||||
|
}
|
||||||
|
|
||||||
$str_month = day_translate($mtab[$m]);
|
$str_month = day_translate($mtab[$m]);
|
||||||
$o = '<table class="calendar' . $class . '">';
|
$o = '<table class="calendar' . $class . '">';
|
||||||
$o .= "<caption>$str_month $y</caption><tr>";
|
$o .= "<caption>$str_month $y</caption><tr>";
|
||||||
for($a = 0; $a < 7; $a ++)
|
for ($a = 0; $a < 7; $a ++) {
|
||||||
$o .= '<th>' . mb_substr(day_translate($dn[$a]),0,3,'UTF-8') . '</th>';
|
$o .= '<th>' . mb_substr(day_translate($dn[$a]),0,3,'UTF-8') . '</th>';
|
||||||
|
}
|
||||||
|
|
||||||
$o .= '</tr><tr>';
|
$o .= '</tr><tr>';
|
||||||
|
|
||||||
while($d <= $l) {
|
while ($d <= $l) {
|
||||||
if(($dow == $f) && (! $started))
|
if (($dow == $f) && (! $started)) {
|
||||||
$started = true;
|
$started = true;
|
||||||
|
}
|
||||||
|
|
||||||
$today = (((isset($tddate)) && ($tddate == $d)) ? "class=\"today\" " : '');
|
$today = (((isset($tddate)) && ($tddate == $d)) ? "class=\"today\" " : '');
|
||||||
$o .= "<td $today>";
|
$o .= "<td $today>";
|
||||||
$day = str_replace(' ',' ',sprintf('%2.2d', $d));
|
$day = str_replace(' ',' ',sprintf('%2.2d', $d));
|
||||||
if($started) {
|
if ($started) {
|
||||||
if(is_array($links) && isset($links[$d]))
|
if (is_array($links) && isset($links[$d])) {
|
||||||
$o .= "<a href=\"{$links[$d]}\">$day</a>";
|
$o .= "<a href=\"{$links[$d]}\">$day</a>";
|
||||||
else
|
} else {
|
||||||
$o .= $day;
|
$o .= $day;
|
||||||
|
}
|
||||||
|
|
||||||
$d ++;
|
$d ++;
|
||||||
} else {
|
} else {
|
||||||
|
@ -529,14 +564,16 @@ function cal($y = 0,$m = 0, $links = false, $class='') {
|
||||||
|
|
||||||
$o .= '</td>';
|
$o .= '</td>';
|
||||||
$dow ++;
|
$dow ++;
|
||||||
if(($dow == 7) && ($d <= $l)) {
|
if (($dow == 7) && ($d <= $l)) {
|
||||||
$dow = 0;
|
$dow = 0;
|
||||||
$o .= '</tr><tr>';
|
$o .= '</tr><tr>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($dow)
|
if ($dow) {
|
||||||
for($a = $dow; $a < 7; $a ++)
|
for ($a = $dow; $a < 7; $a ++) {
|
||||||
$o .= '<td> </td>';
|
$o .= '<td> </td>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$o .= '</tr></table>'."\r\n";
|
$o .= '</tr></table>'."\r\n";
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ $objDDDBLResultHandler->add('PDOStatement', array('HANDLER' => $cloPDOStatementR
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if(! class_exists('dba')) {
|
if (! class_exists('dba')) {
|
||||||
class dba {
|
class dba {
|
||||||
|
|
||||||
private $debug = 0;
|
private $debug = 0;
|
||||||
|
@ -66,9 +66,9 @@ class dba {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($install) {
|
if ($install) {
|
||||||
if(strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1')) {
|
if (strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1')) {
|
||||||
if(! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) {
|
if (! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) {
|
||||||
$this->error = sprintf( t('Cannot locate DNS info for database server \'%s\''), $server);
|
$this->error = sprintf( t('Cannot locate DNS info for database server \'%s\''), $server);
|
||||||
$this->connected = false;
|
$this->connected = false;
|
||||||
$this->db = null;
|
$this->db = null;
|
||||||
|
@ -81,13 +81,13 @@ class dba {
|
||||||
\DDDBL\connect();
|
\DDDBL\connect();
|
||||||
$this->db = \DDDBL\getDB();
|
$this->db = \DDDBL\getDB();
|
||||||
|
|
||||||
if(\DDDBL\isConnected()) {
|
if (\DDDBL\isConnected()) {
|
||||||
$this->connected = true;
|
$this->connected = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(! $this->connected) {
|
if (! $this->connected) {
|
||||||
$this->db = null;
|
$this->db = null;
|
||||||
if(! $install)
|
if (! $install)
|
||||||
system_unavailable();
|
system_unavailable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,11 +109,11 @@ class dba {
|
||||||
$objPreparedQueryPool = new \DDDBL\DataObjectPool('Query-Definition');
|
$objPreparedQueryPool = new \DDDBL\DataObjectPool('Query-Definition');
|
||||||
|
|
||||||
# check if query do not exists till now, if so create its definition
|
# check if query do not exists till now, if so create its definition
|
||||||
if(!$objPreparedQueryPool->exists($strQueryAlias))
|
if (!$objPreparedQueryPool->exists($strQueryAlias))
|
||||||
$objPreparedQueryPool->add($strQueryAlias, array('QUERY' => $sql,
|
$objPreparedQueryPool->add($strQueryAlias, array('QUERY' => $sql,
|
||||||
'HANDLER' => $strHandler));
|
'HANDLER' => $strHandler));
|
||||||
|
|
||||||
if((! $this->db) || (! $this->connected))
|
if ((! $this->db) || (! $this->connected))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
$this->error = '';
|
$this->error = '';
|
||||||
|
@ -124,7 +124,7 @@ class dba {
|
||||||
$r = \DDDBL\get($strQueryAlias);
|
$r = \DDDBL\get($strQueryAlias);
|
||||||
|
|
||||||
# bad workaround to emulate the bizzare behavior of mysql_query
|
# bad workaround to emulate the bizzare behavior of mysql_query
|
||||||
if(in_array($strSQLType, array('INSERT', 'UPDATE', 'DELETE', 'CREATE', 'DROP', 'SET')))
|
if (in_array($strSQLType, array('INSERT', 'UPDATE', 'DELETE', 'CREATE', 'DROP', 'SET')))
|
||||||
$result = true;
|
$result = true;
|
||||||
$intErrorCode = false;
|
$intErrorCode = false;
|
||||||
|
|
||||||
|
@ -138,7 +138,7 @@ class dba {
|
||||||
|
|
||||||
$a->save_timestamp($stamp1, "database");
|
$a->save_timestamp($stamp1, "database");
|
||||||
|
|
||||||
if(x($a->config,'system') && x($a->config['system'],'db_log')) {
|
if (x($a->config,'system') && x($a->config['system'],'db_log')) {
|
||||||
if (($duration > $a->config["system"]["db_loglimit"])) {
|
if (($duration > $a->config["system"]["db_loglimit"])) {
|
||||||
$duration = round($duration, 3);
|
$duration = round($duration, 3);
|
||||||
$backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
|
$backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
|
||||||
|
@ -149,20 +149,20 @@ class dba {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($intErrorCode)
|
if ($intErrorCode)
|
||||||
$this->error = $intErrorCode;
|
$this->error = $intErrorCode;
|
||||||
|
|
||||||
if(strlen($this->error)) {
|
if (strlen($this->error)) {
|
||||||
logger('dba: ' . $this->error);
|
logger('dba: ' . $this->error);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($this->debug) {
|
if ($this->debug) {
|
||||||
|
|
||||||
$mesg = '';
|
$mesg = '';
|
||||||
|
|
||||||
if($result === false)
|
if ($result === false)
|
||||||
$mesg = 'false';
|
$mesg = 'false';
|
||||||
elseif($result === true)
|
elseif ($result === true)
|
||||||
$mesg = 'true';
|
$mesg = 'true';
|
||||||
else {
|
else {
|
||||||
# this needs fixing, but is a bug itself
|
# this needs fixing, but is a bug itself
|
||||||
|
@ -182,13 +182,13 @@ class dba {
|
||||||
* These usually indicate SQL syntax errors that need to be resolved.
|
* These usually indicate SQL syntax errors that need to be resolved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if(isset($result) AND ($result === false)) {
|
if (isset($result) AND ($result === false)) {
|
||||||
logger('dba: ' . printable($sql) . ' returned false.' . "\n" . $this->error);
|
logger('dba: ' . printable($sql) . ' returned false.' . "\n" . $this->error);
|
||||||
if(file_exists('dbfail.out'))
|
if (file_exists('dbfail.out'))
|
||||||
file_put_contents('dbfail.out', datetime_convert() . "\n" . printable($sql) . ' returned false' . "\n" . $this->error . "\n", FILE_APPEND);
|
file_put_contents('dbfail.out', datetime_convert() . "\n" . printable($sql) . ' returned false' . "\n" . $this->error . "\n", FILE_APPEND);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($result) AND (($result === true) || ($result === false)))
|
if (isset($result) AND (($result === true) || ($result === false)))
|
||||||
return $result;
|
return $result;
|
||||||
|
|
||||||
if ($onlyquery) {
|
if ($onlyquery) {
|
||||||
|
@ -199,7 +199,7 @@ class dba {
|
||||||
|
|
||||||
//$a->save_timestamp($stamp1, "database");
|
//$a->save_timestamp($stamp1, "database");
|
||||||
|
|
||||||
if($this->debug)
|
if ($this->debug)
|
||||||
logger('dba: ' . printable(print_r($r, true)));
|
logger('dba: ' . printable(print_r($r, true)));
|
||||||
return($r);
|
return($r);
|
||||||
}
|
}
|
||||||
|
@ -223,7 +223,7 @@ class dba {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function escape($str) {
|
public function escape($str) {
|
||||||
if($this->db && $this->connected) {
|
if ($this->db && $this->connected) {
|
||||||
$strQuoted = $this->db->quote($str);
|
$strQuoted = $this->db->quote($str);
|
||||||
# this workaround is needed, because quote creates "'" and the beginning and the end
|
# this workaround is needed, because quote creates "'" and the beginning and the end
|
||||||
# of the string, which is correct. but until now the queries set this delimiter manually,
|
# of the string, which is correct. but until now the queries set this delimiter manually,
|
||||||
|
@ -238,27 +238,27 @@ class dba {
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
|
||||||
if(! function_exists('printable')) {
|
if (! function_exists('printable')) {
|
||||||
function printable($s) {
|
function printable($s) {
|
||||||
$s = preg_replace("~([\x01-\x08\x0E-\x0F\x10-\x1F\x7F-\xFF])~",".", $s);
|
$s = preg_replace("~([\x01-\x08\x0E-\x0F\x10-\x1F\x7F-\xFF])~",".", $s);
|
||||||
$s = str_replace("\x00",'.',$s);
|
$s = str_replace("\x00",'.',$s);
|
||||||
if(x($_SERVER,'SERVER_NAME'))
|
if (x($_SERVER,'SERVER_NAME'))
|
||||||
$s = escape_tags($s);
|
$s = escape_tags($s);
|
||||||
return $s;
|
return $s;
|
||||||
}}
|
}}
|
||||||
|
|
||||||
// Procedural functions
|
// Procedural functions
|
||||||
if(! function_exists('dbg')) {
|
if (! function_exists('dbg')) {
|
||||||
function dbg($state) {
|
function dbg($state) {
|
||||||
global $db;
|
global $db;
|
||||||
if($db)
|
if ($db)
|
||||||
$db->dbg($state);
|
$db->dbg($state);
|
||||||
}}
|
}}
|
||||||
|
|
||||||
if(! function_exists('dbesc')) {
|
if (! function_exists('dbesc')) {
|
||||||
function dbesc($str) {
|
function dbesc($str) {
|
||||||
global $db;
|
global $db;
|
||||||
if($db && $db->connected)
|
if ($db && $db->connected)
|
||||||
return($db->escape($str));
|
return($db->escape($str));
|
||||||
else
|
else
|
||||||
return(str_replace("'","\\'",$str));
|
return(str_replace("'","\\'",$str));
|
||||||
|
@ -271,17 +271,17 @@ function dbesc($str) {
|
||||||
// Example: $r = q("SELECT * FROM `%s` WHERE `uid` = %d",
|
// Example: $r = q("SELECT * FROM `%s` WHERE `uid` = %d",
|
||||||
// 'user', 1);
|
// 'user', 1);
|
||||||
|
|
||||||
if(! function_exists('q')) {
|
if (! function_exists('q')) {
|
||||||
function q($sql) {
|
function q($sql) {
|
||||||
|
|
||||||
global $db;
|
global $db;
|
||||||
$args = func_get_args();
|
$args = func_get_args();
|
||||||
unset($args[0]);
|
unset($args[0]);
|
||||||
|
|
||||||
if($db && $db->connected) {
|
if ($db && $db->connected) {
|
||||||
$stmt = @vsprintf($sql,$args); // Disabled warnings
|
$stmt = @vsprintf($sql,$args); // Disabled warnings
|
||||||
//logger("dba: q: $stmt", LOGGER_ALL);
|
//logger("dba: q: $stmt", LOGGER_ALL);
|
||||||
if($stmt === false)
|
if ($stmt === false)
|
||||||
logger('dba: vsprintf error: ' . print_r(debug_backtrace(),true), LOGGER_DEBUG);
|
logger('dba: vsprintf error: ' . print_r(debug_backtrace(),true), LOGGER_DEBUG);
|
||||||
return $db->q($stmt);
|
return $db->q($stmt);
|
||||||
}
|
}
|
||||||
|
@ -303,11 +303,11 @@ function q($sql) {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if(! function_exists('dbq')) {
|
if (! function_exists('dbq')) {
|
||||||
function dbq($sql) {
|
function dbq($sql) {
|
||||||
|
|
||||||
global $db;
|
global $db;
|
||||||
if($db && $db->connected)
|
if ($db && $db->connected)
|
||||||
$ret = $db->q($sql);
|
$ret = $db->q($sql);
|
||||||
else
|
else
|
||||||
$ret = false;
|
$ret = false;
|
||||||
|
@ -321,21 +321,21 @@ function dbq($sql) {
|
||||||
// cast to int to avoid trouble.
|
// cast to int to avoid trouble.
|
||||||
|
|
||||||
|
|
||||||
if(! function_exists('dbesc_array_cb')) {
|
if (! function_exists('dbesc_array_cb')) {
|
||||||
function dbesc_array_cb(&$item, $key) {
|
function dbesc_array_cb(&$item, $key) {
|
||||||
if(is_string($item))
|
if (is_string($item))
|
||||||
$item = dbesc($item);
|
$item = dbesc($item);
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
if(! function_exists('dbesc_array')) {
|
if (! function_exists('dbesc_array')) {
|
||||||
function dbesc_array(&$arr) {
|
function dbesc_array(&$arr) {
|
||||||
if(is_array($arr) && count($arr)) {
|
if (is_array($arr) && count($arr)) {
|
||||||
array_walk($arr,'dbesc_array_cb');
|
array_walk($arr,'dbesc_array_cb');
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
|
||||||
if(! function_exists('dba_timer')) {
|
if (! function_exists('dba_timer')) {
|
||||||
function dba_timer() {
|
function dba_timer() {
|
||||||
return microtime(true);
|
return microtime(true);
|
||||||
}}
|
}}
|
||||||
|
|
|
@ -486,7 +486,7 @@ function db_create_table($name, $fields, $verbose, $action, $indexes=null) {
|
||||||
|
|
||||||
$sql_rows = array();
|
$sql_rows = array();
|
||||||
$primary_keys = array();
|
$primary_keys = array();
|
||||||
foreach($fields AS $fieldname => $field) {
|
foreach ($fields AS $fieldname => $field) {
|
||||||
$sql_rows[] = "`".dbesc($fieldname)."` ".db_field_command($field);
|
$sql_rows[] = "`".dbesc($fieldname)."` ".db_field_command($field);
|
||||||
if (x($field,'primary') and $field['primary']!=''){
|
if (x($field,'primary') and $field['primary']!=''){
|
||||||
$primary_keys[] = $fieldname;
|
$primary_keys[] = $fieldname;
|
||||||
|
@ -1692,11 +1692,11 @@ function db_definition() {
|
||||||
function dbstructure_run(&$argv, &$argc) {
|
function dbstructure_run(&$argv, &$argc) {
|
||||||
global $a, $db;
|
global $a, $db;
|
||||||
|
|
||||||
if(is_null($a)){
|
if (is_null($a)){
|
||||||
$a = new App;
|
$a = new App;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(is_null($db)) {
|
if (is_null($db)) {
|
||||||
@include(".htconfig.php");
|
@include(".htconfig.php");
|
||||||
require_once("include/dba.php");
|
require_once("include/dba.php");
|
||||||
$db = new dba($db_host, $db_user, $db_pass, $db_data);
|
$db = new dba($db_host, $db_user, $db_pass, $db_data);
|
||||||
|
@ -1721,7 +1721,7 @@ function dbstructure_run(&$argv, &$argc) {
|
||||||
$current = intval(DB_UPDATE_VERSION);
|
$current = intval(DB_UPDATE_VERSION);
|
||||||
|
|
||||||
// run any left update_nnnn functions in update.php
|
// run any left update_nnnn functions in update.php
|
||||||
for($x = $stored; $x < $current; $x ++) {
|
for ($x = $stored; $x < $current; $x ++) {
|
||||||
$r = run_update_function($x);
|
$r = run_update_function($x);
|
||||||
if (!$r) break;
|
if (!$r) break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -868,7 +868,7 @@ class dfrn {
|
||||||
|
|
||||||
// The signed text contains the content in Markdown, the sender handle and the signatur for the content
|
// The signed text contains the content in Markdown, the sender handle and the signatur for the content
|
||||||
// It is needed for relayed comments to Diaspora.
|
// It is needed for relayed comments to Diaspora.
|
||||||
if($item['signed_text']) {
|
if ($item['signed_text']) {
|
||||||
$sign = base64_encode(json_encode(array('signed_text' => $item['signed_text'],'signature' => $item['signature'],'signer' => $item['signer'])));
|
$sign = base64_encode(json_encode(array('signed_text' => $item['signed_text'],'signature' => $item['signature'],'signer' => $item['signer'])));
|
||||||
xml::add_element($doc, $entry, "dfrn:diaspora_signature", $sign);
|
xml::add_element($doc, $entry, "dfrn:diaspora_signature", $sign);
|
||||||
}
|
}
|
||||||
|
@ -1288,7 +1288,7 @@ class dfrn {
|
||||||
$href = "";
|
$href = "";
|
||||||
$width = 0;
|
$width = 0;
|
||||||
foreach ($avatar->attributes AS $attributes) {
|
foreach ($avatar->attributes AS $attributes) {
|
||||||
/// @TODO Rewrite these similar if() to one switch
|
/// @TODO Rewrite these similar if () to one switch
|
||||||
if ($attributes->name == "href") {
|
if ($attributes->name == "href") {
|
||||||
$href = $attributes->textContent;
|
$href = $attributes->textContent;
|
||||||
}
|
}
|
||||||
|
@ -2165,7 +2165,7 @@ class dfrn {
|
||||||
$title = "";
|
$title = "";
|
||||||
foreach ($links AS $link) {
|
foreach ($links AS $link) {
|
||||||
foreach ($link->attributes AS $attributes) {
|
foreach ($link->attributes AS $attributes) {
|
||||||
/// @TODO Rewrite these repeated (same) if() statements to a switch()
|
/// @TODO Rewrite these repeated (same) if () statements to a switch()
|
||||||
if ($attributes->name == "href") {
|
if ($attributes->name == "href") {
|
||||||
$href = $attributes->textContent;
|
$href = $attributes->textContent;
|
||||||
}
|
}
|
||||||
|
@ -2415,7 +2415,7 @@ class dfrn {
|
||||||
// When activated, forums don't work.
|
// When activated, forums don't work.
|
||||||
// And: Why should we disallow commenting by followers?
|
// And: Why should we disallow commenting by followers?
|
||||||
// the behaviour is now similar to the Diaspora part.
|
// the behaviour is now similar to the Diaspora part.
|
||||||
//if($importer["rel"] == CONTACT_IS_FOLLOWER) {
|
//if ($importer["rel"] == CONTACT_IS_FOLLOWER) {
|
||||||
// logger("Contact ".$importer["id"]." is only follower. Quitting", LOGGER_DEBUG);
|
// logger("Contact ".$importer["id"]." is only follower. Quitting", LOGGER_DEBUG);
|
||||||
// return;
|
// return;
|
||||||
//}
|
//}
|
||||||
|
@ -2540,7 +2540,7 @@ class dfrn {
|
||||||
|
|
||||||
logger("Item was stored with id ".$posted_id, LOGGER_DEBUG);
|
logger("Item was stored with id ".$posted_id, LOGGER_DEBUG);
|
||||||
|
|
||||||
if(stristr($item["verb"],ACTIVITY_POKE))
|
if (stristr($item["verb"],ACTIVITY_POKE))
|
||||||
self::do_poke($item, $importer, $posted_id);
|
self::do_poke($item, $importer, $posted_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2667,7 +2667,7 @@ class dfrn {
|
||||||
create_tags_from_itemuri($uri, $importer["uid"]);
|
create_tags_from_itemuri($uri, $importer["uid"]);
|
||||||
create_files_from_itemuri($uri, $importer["uid"]);
|
create_files_from_itemuri($uri, $importer["uid"]);
|
||||||
update_thread_uri($uri, $importer["importer_uid"]);
|
update_thread_uri($uri, $importer["importer_uid"]);
|
||||||
if($item["last-child"]) {
|
if ($item["last-child"]) {
|
||||||
// ensure that last-child is set in case the comment that had it just got wiped.
|
// ensure that last-child is set in case the comment that had it just got wiped.
|
||||||
q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d ",
|
q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d ",
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
|
|
|
@ -45,7 +45,7 @@ class Diaspora {
|
||||||
|
|
||||||
$servers = explode(",", $serverdata);
|
$servers = explode(",", $serverdata);
|
||||||
|
|
||||||
foreach($servers AS $server) {
|
foreach ($servers AS $server) {
|
||||||
$server = trim($server);
|
$server = trim($server);
|
||||||
$addr = "relay@".str_replace("http://", "", normalise_link($server));
|
$addr = "relay@".str_replace("http://", "", normalise_link($server));
|
||||||
$batch = $server."/receive/public";
|
$batch = $server."/receive/public";
|
||||||
|
@ -207,7 +207,7 @@ class Diaspora {
|
||||||
|
|
||||||
$children = $basedom->children('https://joindiaspora.com/protocol');
|
$children = $basedom->children('https://joindiaspora.com/protocol');
|
||||||
|
|
||||||
if($children->header) {
|
if ($children->header) {
|
||||||
$public = true;
|
$public = true;
|
||||||
$author_link = str_replace('acct:','',$children->header->author_id);
|
$author_link = str_replace('acct:','',$children->header->author_id);
|
||||||
} else {
|
} else {
|
||||||
|
@ -240,11 +240,11 @@ class Diaspora {
|
||||||
|
|
||||||
// figure out where in the DOM tree our data is hiding
|
// figure out where in the DOM tree our data is hiding
|
||||||
|
|
||||||
if($dom->provenance->data)
|
if ($dom->provenance->data)
|
||||||
$base = $dom->provenance;
|
$base = $dom->provenance;
|
||||||
elseif($dom->env->data)
|
elseif ($dom->env->data)
|
||||||
$base = $dom->env;
|
$base = $dom->env;
|
||||||
elseif($dom->data)
|
elseif ($dom->data)
|
||||||
$base = $dom;
|
$base = $dom;
|
||||||
|
|
||||||
if (!$base) {
|
if (!$base) {
|
||||||
|
@ -277,7 +277,7 @@ class Diaspora {
|
||||||
$data = base64url_decode($data);
|
$data = base64url_decode($data);
|
||||||
|
|
||||||
|
|
||||||
if($public)
|
if ($public)
|
||||||
$inner_decrypted = $data;
|
$inner_decrypted = $data;
|
||||||
else {
|
else {
|
||||||
|
|
||||||
|
@ -578,7 +578,7 @@ class Diaspora {
|
||||||
logger("Fetching diaspora key for: ".$handle);
|
logger("Fetching diaspora key for: ".$handle);
|
||||||
|
|
||||||
$r = self::person_by_handle($handle);
|
$r = self::person_by_handle($handle);
|
||||||
if($r)
|
if ($r)
|
||||||
return $r["pubkey"];
|
return $r["pubkey"];
|
||||||
|
|
||||||
return "";
|
return "";
|
||||||
|
@ -634,7 +634,7 @@ class Diaspora {
|
||||||
*/
|
*/
|
||||||
private static function add_fcontact($arr, $update = false) {
|
private static function add_fcontact($arr, $update = false) {
|
||||||
|
|
||||||
if($update) {
|
if ($update) {
|
||||||
$r = q("UPDATE `fcontact` SET
|
$r = q("UPDATE `fcontact` SET
|
||||||
`name` = '%s',
|
`name` = '%s',
|
||||||
`photo` = '%s',
|
`photo` = '%s',
|
||||||
|
@ -818,7 +818,7 @@ class Diaspora {
|
||||||
// perhaps we were already sharing with this person. Now they're sharing with us.
|
// perhaps we were already sharing with this person. Now they're sharing with us.
|
||||||
// That makes us friends.
|
// That makes us friends.
|
||||||
// Normally this should have handled by getting a request - but this could get lost
|
// Normally this should have handled by getting a request - but this could get lost
|
||||||
if($contact["rel"] == CONTACT_IS_FOLLOWER && in_array($importer["page-flags"], array(PAGE_FREELOVE))) {
|
if ($contact["rel"] == CONTACT_IS_FOLLOWER && in_array($importer["page-flags"], array(PAGE_FREELOVE))) {
|
||||||
q("UPDATE `contact` SET `rel` = %d, `writable` = 1 WHERE `id` = %d AND `uid` = %d",
|
q("UPDATE `contact` SET `rel` = %d, `writable` = 1 WHERE `id` = %d AND `uid` = %d",
|
||||||
intval(CONTACT_IS_FRIEND),
|
intval(CONTACT_IS_FRIEND),
|
||||||
intval($contact["id"]),
|
intval($contact["id"]),
|
||||||
|
@ -828,12 +828,12 @@ class Diaspora {
|
||||||
logger("defining user ".$contact["nick"]." as friend");
|
logger("defining user ".$contact["nick"]." as friend");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(($contact["blocked"]) || ($contact["readonly"]) || ($contact["archive"]))
|
if (($contact["blocked"]) || ($contact["readonly"]) || ($contact["archive"]))
|
||||||
return false;
|
return false;
|
||||||
if($contact["rel"] == CONTACT_IS_SHARING || $contact["rel"] == CONTACT_IS_FRIEND)
|
if ($contact["rel"] == CONTACT_IS_SHARING || $contact["rel"] == CONTACT_IS_FRIEND)
|
||||||
return true;
|
return true;
|
||||||
if($contact["rel"] == CONTACT_IS_FOLLOWER)
|
if ($contact["rel"] == CONTACT_IS_FOLLOWER)
|
||||||
if(($importer["page-flags"] == PAGE_COMMUNITY) OR $is_comment)
|
if (($importer["page-flags"] == PAGE_COMMUNITY) OR $is_comment)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
// Messages for the global users are always accepted
|
// Messages for the global users are always accepted
|
||||||
|
@ -991,7 +991,7 @@ class Diaspora {
|
||||||
logger("Fetch post from ".$source_url, LOGGER_DEBUG);
|
logger("Fetch post from ".$source_url, LOGGER_DEBUG);
|
||||||
|
|
||||||
$envelope = fetch_url($source_url);
|
$envelope = fetch_url($source_url);
|
||||||
if($envelope) {
|
if ($envelope) {
|
||||||
logger("Envelope was fetched.", LOGGER_DEBUG);
|
logger("Envelope was fetched.", LOGGER_DEBUG);
|
||||||
$x = self::verify_magic_envelope($envelope);
|
$x = self::verify_magic_envelope($envelope);
|
||||||
if (!$x)
|
if (!$x)
|
||||||
|
@ -1007,7 +1007,7 @@ class Diaspora {
|
||||||
logger("Fetch post from ".$source_url, LOGGER_DEBUG);
|
logger("Fetch post from ".$source_url, LOGGER_DEBUG);
|
||||||
|
|
||||||
$x = fetch_url($source_url);
|
$x = fetch_url($source_url);
|
||||||
if(!$x)
|
if (!$x)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1064,7 +1064,7 @@ class Diaspora {
|
||||||
FROM `item` WHERE `uid` = %d AND `guid` = '%s' LIMIT 1",
|
FROM `item` WHERE `uid` = %d AND `guid` = '%s' LIMIT 1",
|
||||||
intval($uid), dbesc($guid));
|
intval($uid), dbesc($guid));
|
||||||
|
|
||||||
if(!$r) {
|
if (!$r) {
|
||||||
$result = self::store_by_guid($guid, $contact["url"], $uid);
|
$result = self::store_by_guid($guid, $contact["url"], $uid);
|
||||||
|
|
||||||
if (!$result) {
|
if (!$result) {
|
||||||
|
@ -1325,7 +1325,7 @@ class Diaspora {
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we are the origin of the parent we store the original data and notify our followers
|
// If we are the origin of the parent we store the original data and notify our followers
|
||||||
if($message_id AND $parent_item["origin"]) {
|
if ($message_id AND $parent_item["origin"]) {
|
||||||
|
|
||||||
// Formerly we stored the signed text, the signature and the author in different fields.
|
// Formerly we stored the signed text, the signature and the author in different fields.
|
||||||
// We now store the raw data so that we are more flexible.
|
// We now store the raw data so that we are more flexible.
|
||||||
|
@ -1502,7 +1502,7 @@ class Diaspora {
|
||||||
intval($importer["uid"]),
|
intval($importer["uid"]),
|
||||||
dbesc($guid)
|
dbesc($guid)
|
||||||
);
|
);
|
||||||
if($c)
|
if ($c)
|
||||||
$conversation = $c[0];
|
$conversation = $c[0];
|
||||||
else {
|
else {
|
||||||
$r = q("INSERT INTO `conv` (`uid`, `guid`, `creator`, `created`, `updated`, `subject`, `recips`)
|
$r = q("INSERT INTO `conv` (`uid`, `guid`, `creator`, `created`, `updated`, `subject`, `recips`)
|
||||||
|
@ -1515,13 +1515,13 @@ class Diaspora {
|
||||||
dbesc($subject),
|
dbesc($subject),
|
||||||
dbesc($participants)
|
dbesc($participants)
|
||||||
);
|
);
|
||||||
if($r)
|
if ($r)
|
||||||
$c = q("SELECT * FROM `conv` WHERE `uid` = %d AND `guid` = '%s' LIMIT 1",
|
$c = q("SELECT * FROM `conv` WHERE `uid` = %d AND `guid` = '%s' LIMIT 1",
|
||||||
intval($importer["uid"]),
|
intval($importer["uid"]),
|
||||||
dbesc($guid)
|
dbesc($guid)
|
||||||
);
|
);
|
||||||
|
|
||||||
if($c)
|
if ($c)
|
||||||
$conversation = $c[0];
|
$conversation = $c[0];
|
||||||
}
|
}
|
||||||
if (!$conversation) {
|
if (!$conversation) {
|
||||||
|
@ -1529,7 +1529,7 @@ class Diaspora {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach($messages as $mesg)
|
foreach ($messages as $mesg)
|
||||||
self::receive_conversation_message($importer, $contact, $data, $msg, $mesg, $conversation);
|
self::receive_conversation_message($importer, $contact, $data, $msg, $mesg, $conversation);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -1659,7 +1659,7 @@ class Diaspora {
|
||||||
logger("Stored like ".$datarray["guid"]." with message id ".$message_id, LOGGER_DEBUG);
|
logger("Stored like ".$datarray["guid"]." with message id ".$message_id, LOGGER_DEBUG);
|
||||||
|
|
||||||
// If we are the origin of the parent we store the original data and notify our followers
|
// If we are the origin of the parent we store the original data and notify our followers
|
||||||
if($message_id AND $parent_item["origin"]) {
|
if ($message_id AND $parent_item["origin"]) {
|
||||||
|
|
||||||
// Formerly we stored the signed text, the signature and the author in different fields.
|
// Formerly we stored the signed text, the signature and the author in different fields.
|
||||||
// We now store the raw data so that we are more flexible.
|
// We now store the raw data so that we are more flexible.
|
||||||
|
@ -1834,10 +1834,10 @@ class Diaspora {
|
||||||
$handle_parts = explode("@", $author);
|
$handle_parts = explode("@", $author);
|
||||||
$nick = $handle_parts[0];
|
$nick = $handle_parts[0];
|
||||||
|
|
||||||
if($name === "")
|
if ($name === "")
|
||||||
$name = $handle_parts[0];
|
$name = $handle_parts[0];
|
||||||
|
|
||||||
if( preg_match("|^https?://|", $image_url) === 0)
|
if ( preg_match("|^https?://|", $image_url) === 0)
|
||||||
$image_url = "http://".$handle_parts[1].$image_url;
|
$image_url = "http://".$handle_parts[1].$image_url;
|
||||||
|
|
||||||
update_contact_avatar($image_url, $importer["uid"], $contact["id"]);
|
update_contact_avatar($image_url, $importer["uid"], $contact["id"]);
|
||||||
|
@ -1852,7 +1852,7 @@ class Diaspora {
|
||||||
// this is to prevent multiple birthday notifications in a single year
|
// this is to prevent multiple birthday notifications in a single year
|
||||||
// if we already have a stored birthday and the 'm-d' part hasn't changed, preserve the entry, which will preserve the notify year
|
// if we already have a stored birthday and the 'm-d' part hasn't changed, preserve the entry, which will preserve the notify year
|
||||||
|
|
||||||
if(substr($birthday,5) === substr($contact["bd"],5))
|
if (substr($birthday,5) === substr($contact["bd"],5))
|
||||||
$birthday = $contact["bd"];
|
$birthday = $contact["bd"];
|
||||||
|
|
||||||
$r = q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `name-date` = '%s', `bd` = '%s',
|
$r = q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `name-date` = '%s', `bd` = '%s',
|
||||||
|
@ -1895,7 +1895,7 @@ class Diaspora {
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
if($contact["rel"] == CONTACT_IS_FOLLOWER && in_array($importer["page-flags"], array(PAGE_FREELOVE))) {
|
if ($contact["rel"] == CONTACT_IS_FOLLOWER && in_array($importer["page-flags"], array(PAGE_FREELOVE))) {
|
||||||
q("UPDATE `contact` SET `rel` = %d, `writable` = 1 WHERE `id` = %d AND `uid` = %d",
|
q("UPDATE `contact` SET `rel` = %d, `writable` = 1 WHERE `id` = %d AND `uid` = %d",
|
||||||
intval(CONTACT_IS_FRIEND),
|
intval(CONTACT_IS_FRIEND),
|
||||||
intval($contact["id"]),
|
intval($contact["id"]),
|
||||||
|
@ -1908,7 +1908,7 @@ class Diaspora {
|
||||||
intval($importer["uid"])
|
intval($importer["uid"])
|
||||||
);
|
);
|
||||||
|
|
||||||
if($r && !$r[0]["hide-friends"] && !$contact["hidden"] && intval(get_pconfig($importer["uid"], "system", "post_newfriend"))) {
|
if ($r && !$r[0]["hide-friends"] && !$contact["hidden"] && intval(get_pconfig($importer["uid"], "system", "post_newfriend"))) {
|
||||||
|
|
||||||
$self = q("SELECT * FROM `contact` WHERE `self` AND `uid` = %d LIMIT 1",
|
$self = q("SELECT * FROM `contact` WHERE `self` AND `uid` = %d LIMIT 1",
|
||||||
intval($importer["uid"])
|
intval($importer["uid"])
|
||||||
|
@ -1916,7 +1916,7 @@ class Diaspora {
|
||||||
|
|
||||||
// they are not CONTACT_IS_FOLLOWER anymore but that's what we have in the array
|
// they are not CONTACT_IS_FOLLOWER anymore but that's what we have in the array
|
||||||
|
|
||||||
if($self && $contact["rel"] == CONTACT_IS_FOLLOWER) {
|
if ($self && $contact["rel"] == CONTACT_IS_FOLLOWER) {
|
||||||
|
|
||||||
$arr = array();
|
$arr = array();
|
||||||
$arr["uri"] = $arr["parent-uri"] = item_new_uri($a->get_hostname(), $importer["uid"]);
|
$arr["uri"] = $arr["parent-uri"] = item_new_uri($a->get_hostname(), $importer["uid"]);
|
||||||
|
@ -1947,7 +1947,7 @@ class Diaspora {
|
||||||
$arr["deny_gid"] = $user[0]["deny_gid"];
|
$arr["deny_gid"] = $user[0]["deny_gid"];
|
||||||
|
|
||||||
$i = item_store($arr);
|
$i = item_store($arr);
|
||||||
if($i)
|
if ($i)
|
||||||
proc_run(PRIORITY_HIGH, "include/notifier.php", "activity", $i);
|
proc_run(PRIORITY_HIGH, "include/notifier.php", "activity", $i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2086,12 +2086,12 @@ class Diaspora {
|
||||||
|
|
||||||
$def_gid = get_default_group($importer['uid'], $ret["network"]);
|
$def_gid = get_default_group($importer['uid'], $ret["network"]);
|
||||||
|
|
||||||
if(intval($def_gid))
|
if (intval($def_gid))
|
||||||
group_add_member($importer["uid"], "", $contact_record["id"], $def_gid);
|
group_add_member($importer["uid"], "", $contact_record["id"], $def_gid);
|
||||||
|
|
||||||
update_contact_avatar($ret["photo"], $importer['uid'], $contact_record["id"], true);
|
update_contact_avatar($ret["photo"], $importer['uid'], $contact_record["id"], true);
|
||||||
|
|
||||||
if($importer["page-flags"] == PAGE_NORMAL) {
|
if ($importer["page-flags"] == PAGE_NORMAL) {
|
||||||
|
|
||||||
logger("Sending intra message for author ".$author.".", LOGGER_DEBUG);
|
logger("Sending intra message for author ".$author.".", LOGGER_DEBUG);
|
||||||
|
|
||||||
|
@ -2141,7 +2141,7 @@ class Diaspora {
|
||||||
);
|
);
|
||||||
|
|
||||||
$u = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", intval($importer["uid"]));
|
$u = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", intval($importer["uid"]));
|
||||||
if($u) {
|
if ($u) {
|
||||||
logger("Sending share message (Relation: ".$new_relation.") to author ".$author." - Contact: ".$contact_record["id"]." - User: ".$importer["uid"], LOGGER_DEBUG);
|
logger("Sending share message (Relation: ".$new_relation.") to author ".$author." - Contact: ".$contact_record["id"]." - User: ".$importer["uid"], LOGGER_DEBUG);
|
||||||
$ret = self::send_share($u[0], $contact_record);
|
$ret = self::send_share($u[0], $contact_record);
|
||||||
|
|
||||||
|
@ -2765,7 +2765,7 @@ class Diaspora {
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
$enabled = intval(get_config("system", "diaspora_enabled"));
|
$enabled = intval(get_config("system", "diaspora_enabled"));
|
||||||
if(!$enabled)
|
if (!$enabled)
|
||||||
return 200;
|
return 200;
|
||||||
|
|
||||||
$logid = random_string(4);
|
$logid = random_string(4);
|
||||||
|
@ -3104,14 +3104,14 @@ class Diaspora {
|
||||||
$body = html_entity_decode(bb2diaspora($body));
|
$body = html_entity_decode(bb2diaspora($body));
|
||||||
|
|
||||||
// Adding the title
|
// Adding the title
|
||||||
if(strlen($title))
|
if (strlen($title))
|
||||||
$body = "## ".html_entity_decode($title)."\n\n".$body;
|
$body = "## ".html_entity_decode($title)."\n\n".$body;
|
||||||
|
|
||||||
if ($item["attach"]) {
|
if ($item["attach"]) {
|
||||||
$cnt = preg_match_all('/href=\"(.*?)\"(.*?)title=\"(.*?)\"/ism', $item["attach"], $matches, PREG_SET_ORDER);
|
$cnt = preg_match_all('/href=\"(.*?)\"(.*?)title=\"(.*?)\"/ism', $item["attach"], $matches, PREG_SET_ORDER);
|
||||||
if(cnt) {
|
if (cnt) {
|
||||||
$body .= "\n".t("Attachments:")."\n";
|
$body .= "\n".t("Attachments:")."\n";
|
||||||
foreach($matches as $mtch)
|
foreach ($matches as $mtch)
|
||||||
$body .= "[".$mtch[3]."](".$mtch[1].")\n";
|
$body .= "[".$mtch[3]."](".$mtch[1].")\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3604,7 +3604,7 @@ class Diaspora {
|
||||||
$kw = str_replace(' ',' ',$kw);
|
$kw = str_replace(' ',' ',$kw);
|
||||||
$arr = explode(' ',$profile['pub_keywords']);
|
$arr = explode(' ',$profile['pub_keywords']);
|
||||||
if (count($arr)) {
|
if (count($arr)) {
|
||||||
for($x = 0; $x < 5; $x ++) {
|
for ($x = 0; $x < 5; $x ++) {
|
||||||
if (trim($arr[$x]))
|
if (trim($arr[$x]))
|
||||||
$tags .= '#'. trim($arr[$x]) .' ';
|
$tags .= '#'. trim($arr[$x]) .' ';
|
||||||
}
|
}
|
||||||
|
@ -3626,7 +3626,7 @@ class Diaspora {
|
||||||
"searchable" => $searchable,
|
"searchable" => $searchable,
|
||||||
"tag_string" => $tags);
|
"tag_string" => $tags);
|
||||||
|
|
||||||
foreach($recips as $recip) {
|
foreach ($recips as $recip) {
|
||||||
logger("Send updated profile data for user ".$uid." to contact ".$recip["id"], LOGGER_DEBUG);
|
logger("Send updated profile data for user ".$uid." to contact ".$recip["id"], LOGGER_DEBUG);
|
||||||
self::build_and_transmit($profile, $recip, "profile", $message, false, "", true);
|
self::build_and_transmit($profile, $recip, "profile", $message, false, "", true);
|
||||||
}
|
}
|
||||||
|
@ -3649,17 +3649,20 @@ class Diaspora {
|
||||||
}
|
}
|
||||||
|
|
||||||
$r = q("SELECT `prvkey` FROM `user` WHERE `uid` = %d LIMIT 1", intval($contact['uid']));
|
$r = q("SELECT `prvkey` FROM `user` WHERE `uid` = %d LIMIT 1", intval($contact['uid']));
|
||||||
if(!$r)
|
if (!dbm::is_result($r)) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$contact["uprvkey"] = $r[0]['prvkey'];
|
$contact["uprvkey"] = $r[0]['prvkey'];
|
||||||
|
|
||||||
$r = q("SELECT * FROM `item` WHERE `id` = %d LIMIT 1", intval($post_id));
|
$r = q("SELECT * FROM `item` WHERE `id` = %d LIMIT 1", intval($post_id));
|
||||||
if (!$r)
|
if (!dbm::is_result($r)) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (!in_array($r[0]["verb"], array(ACTIVITY_LIKE, ACTIVITY_DISLIKE)))
|
if (!in_array($r[0]["verb"], array(ACTIVITY_LIKE, ACTIVITY_DISLIKE))) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$message = self::construct_like($r[0], $contact);
|
$message = self::construct_like($r[0], $contact);
|
||||||
$message["author_signature"] = self::signature($contact, $message);
|
$message["author_signature"] = self::signature($contact, $message);
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
/// @TODO no longer used?
|
||||||
use \Friendica\Core\Config;
|
use \Friendica\Core\Config;
|
||||||
|
|
||||||
function directory_run(&$argv, &$argc){
|
function directory_run(&$argv, &$argc){
|
||||||
|
@ -23,6 +24,7 @@ function directory_run(&$argv, &$argc){
|
||||||
if (strlen($arr['url'])) {
|
if (strlen($arr['url'])) {
|
||||||
fetch_url($dir . '?url=' . bin2hex($arr['url']));
|
fetch_url($dir . '?url=' . bin2hex($arr['url']));
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -209,10 +209,10 @@ function discover_directory($search) {
|
||||||
$j = json_decode($x);
|
$j = json_decode($x);
|
||||||
|
|
||||||
if (count($j->results)) {
|
if (count($j->results)) {
|
||||||
foreach($j->results as $jj) {
|
foreach ($j->results as $jj) {
|
||||||
// Check if the contact already exists
|
// Check if the contact already exists
|
||||||
$exists = q("SELECT `id`, `last_contact`, `last_failure`, `updated` FROM `gcontact` WHERE `nurl` = '%s'", normalise_link($jj->url));
|
$exists = q("SELECT `id`, `last_contact`, `last_failure`, `updated` FROM `gcontact` WHERE `nurl` = '%s'", normalise_link($jj->url));
|
||||||
if ($exists) {
|
if (dbm::is_result($exists)) {
|
||||||
logger("Profile ".$jj->url." already exists (".$search.")", LOGGER_DEBUG);
|
logger("Profile ".$jj->url." already exists (".$search.")", LOGGER_DEBUG);
|
||||||
|
|
||||||
if (($exists[0]["last_contact"] < $exists[0]["last_failure"]) AND
|
if (($exists[0]["last_contact"] < $exists[0]["last_failure"]) AND
|
||||||
|
@ -272,12 +272,16 @@ function gs_search_user($search) {
|
||||||
if (!$result["success"]) {
|
if (!$result["success"]) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$contacts = json_decode($result["body"]);
|
$contacts = json_decode($result["body"]);
|
||||||
|
|
||||||
if ($contacts->status == 'ERROR') {
|
if ($contacts->status == 'ERROR') {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
foreach($contacts->data AS $user) {
|
|
||||||
|
/// @TODO AS is considered as a notation for constants (as they usually being written all upper-case)
|
||||||
|
/// @TODO find all those and convert to all lower-case which is a keyword then
|
||||||
|
foreach ($contacts->data AS $user) {
|
||||||
$contact = probe_url($user->site_address."/".$user->name);
|
$contact = probe_url($user->site_address."/".$user->name);
|
||||||
if ($contact["network"] != NETWORK_PHANTOM) {
|
if ($contact["network"] != NETWORK_PHANTOM) {
|
||||||
$contact["about"] = $user->description;
|
$contact["about"] = $user->description;
|
||||||
|
|
|
@ -4,7 +4,7 @@ require_once('include/msgclean.php');
|
||||||
require_once('include/quoteconvert.php');
|
require_once('include/quoteconvert.php');
|
||||||
|
|
||||||
function email_connect($mailbox,$username,$password) {
|
function email_connect($mailbox,$username,$password) {
|
||||||
if(! function_exists('imap_open'))
|
if (! function_exists('imap_open'))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
$mbox = @imap_open($mailbox,$username,$password);
|
$mbox = @imap_open($mailbox,$username,$password);
|
||||||
|
@ -14,23 +14,23 @@ function email_connect($mailbox,$username,$password) {
|
||||||
|
|
||||||
function email_poll($mbox,$email_addr) {
|
function email_poll($mbox,$email_addr) {
|
||||||
|
|
||||||
if(! ($mbox && $email_addr))
|
if (! ($mbox && $email_addr))
|
||||||
return array();
|
return array();
|
||||||
|
|
||||||
$search1 = @imap_search($mbox,'FROM "' . $email_addr . '"', SE_UID);
|
$search1 = @imap_search($mbox,'FROM "' . $email_addr . '"', SE_UID);
|
||||||
if(! $search1)
|
if (! $search1)
|
||||||
$search1 = array();
|
$search1 = array();
|
||||||
|
|
||||||
$search2 = @imap_search($mbox,'TO "' . $email_addr . '"', SE_UID);
|
$search2 = @imap_search($mbox,'TO "' . $email_addr . '"', SE_UID);
|
||||||
if(! $search2)
|
if (! $search2)
|
||||||
$search2 = array();
|
$search2 = array();
|
||||||
|
|
||||||
$search3 = @imap_search($mbox,'CC "' . $email_addr . '"', SE_UID);
|
$search3 = @imap_search($mbox,'CC "' . $email_addr . '"', SE_UID);
|
||||||
if(! $search3)
|
if (! $search3)
|
||||||
$search3 = array();
|
$search3 = array();
|
||||||
|
|
||||||
$search4 = @imap_search($mbox,'BCC "' . $email_addr . '"', SE_UID);
|
$search4 = @imap_search($mbox,'BCC "' . $email_addr . '"', SE_UID);
|
||||||
if(! $search4)
|
if (! $search4)
|
||||||
$search4 = array();
|
$search4 = array();
|
||||||
|
|
||||||
$res = array_unique(array_merge($search1,$search2,$search3,$search4));
|
$res = array_unique(array_merge($search1,$search2,$search3,$search4));
|
||||||
|
@ -57,8 +57,8 @@ function email_msg_headers($mbox,$uid) {
|
||||||
$raw_header = str_replace("\r",'',$raw_header);
|
$raw_header = str_replace("\r",'',$raw_header);
|
||||||
$ret = array();
|
$ret = array();
|
||||||
$h = explode("\n",$raw_header);
|
$h = explode("\n",$raw_header);
|
||||||
if(count($h))
|
if (count($h))
|
||||||
foreach($h as $line ) {
|
foreach ($h as $line ) {
|
||||||
if (preg_match("/^[a-zA-Z]/", $line)) {
|
if (preg_match("/^[a-zA-Z]/", $line)) {
|
||||||
$key = substr($line,0,strpos($line,':'));
|
$key = substr($line,0,strpos($line,':'));
|
||||||
$value = substr($line,strpos($line,':')+1);
|
$value = substr($line,strpos($line,':')+1);
|
||||||
|
@ -79,10 +79,10 @@ function email_get_msg($mbox,$uid, $reply) {
|
||||||
|
|
||||||
$struc = (($mbox && $uid) ? @imap_fetchstructure($mbox,$uid,FT_UID) : null);
|
$struc = (($mbox && $uid) ? @imap_fetchstructure($mbox,$uid,FT_UID) : null);
|
||||||
|
|
||||||
if(! $struc)
|
if (! $struc)
|
||||||
return $ret;
|
return $ret;
|
||||||
|
|
||||||
if(! $struc->parts) {
|
if (! $struc->parts) {
|
||||||
$ret['body'] = email_get_part($mbox,$uid,$struc,0, 'html');
|
$ret['body'] = email_get_part($mbox,$uid,$struc,0, 'html');
|
||||||
$html = $ret['body'];
|
$html = $ret['body'];
|
||||||
|
|
||||||
|
@ -94,7 +94,7 @@ function email_get_msg($mbox,$uid, $reply) {
|
||||||
else {
|
else {
|
||||||
$text = '';
|
$text = '';
|
||||||
$html = '';
|
$html = '';
|
||||||
foreach($struc->parts as $ptop => $p) {
|
foreach ($struc->parts as $ptop => $p) {
|
||||||
$x = email_get_part($mbox,$uid,$p,$ptop + 1, 'plain');
|
$x = email_get_part($mbox,$uid,$p,$ptop + 1, 'plain');
|
||||||
if ($x) {
|
if ($x) {
|
||||||
$text .= $x;
|
$text .= $x;
|
||||||
|
@ -206,16 +206,16 @@ function email_get_part($mbox,$uid,$p,$partno, $subtype) {
|
||||||
|
|
||||||
|
|
||||||
function email_header_encode($in_str, $charset) {
|
function email_header_encode($in_str, $charset) {
|
||||||
$out_str = $in_str;
|
$out_str = $in_str;
|
||||||
$need_to_convert = false;
|
$need_to_convert = false;
|
||||||
|
|
||||||
for($x = 0; $x < strlen($in_str); $x ++) {
|
for ($x = 0; $x < strlen($in_str); $x ++) {
|
||||||
if((ord($in_str[$x]) == 0) || ((ord($in_str[$x]) > 128))) {
|
if ((ord($in_str[$x]) == 0) || ((ord($in_str[$x]) > 128))) {
|
||||||
$need_to_convert = true;
|
$need_to_convert = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(! $need_to_convert)
|
if (! $need_to_convert)
|
||||||
return $in_str;
|
return $in_str;
|
||||||
|
|
||||||
if ($out_str && $charset) {
|
if ($out_str && $charset) {
|
||||||
|
|
|
@ -411,10 +411,12 @@ function notification($params) {
|
||||||
$hash = random_string();
|
$hash = random_string();
|
||||||
$r = q("SELECT `id` FROM `notify` WHERE `hash` = '%s' LIMIT 1",
|
$r = q("SELECT `id` FROM `notify` WHERE `hash` = '%s' LIMIT 1",
|
||||||
dbesc($hash));
|
dbesc($hash));
|
||||||
if (dbm::is_result($r))
|
if (dbm::is_result($r)) {
|
||||||
$dups = true;
|
$dups = true;
|
||||||
} while($dups == true);
|
}
|
||||||
|
} while ($dups == true);
|
||||||
|
|
||||||
|
/// @TODO One statement is enough
|
||||||
$datarray = array();
|
$datarray = array();
|
||||||
$datarray['hash'] = $hash;
|
$datarray['hash'] = $hash;
|
||||||
$datarray['name'] = $params['source_name'];
|
$datarray['name'] = $params['source_name'];
|
||||||
|
|
|
@ -10,7 +10,7 @@ require_once 'include/datetime.php';
|
||||||
|
|
||||||
function format_event_html($ev, $simple = false) {
|
function format_event_html($ev, $simple = false) {
|
||||||
|
|
||||||
if(! ((is_array($ev)) && count($ev))) {
|
if (! ((is_array($ev)) && count($ev))) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,26 +98,26 @@ function parse_event($h) {
|
||||||
logger('parse_event: parse error: ' . $e);
|
logger('parse_event: parse error: ' . $e);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(! $dom)
|
if (! $dom)
|
||||||
return $ret;
|
return $ret;
|
||||||
|
|
||||||
$items = $dom->getElementsByTagName('*');
|
$items = $dom->getElementsByTagName('*');
|
||||||
|
|
||||||
foreach($items as $item) {
|
foreach ($items as $item) {
|
||||||
if(attribute_contains($item->getAttribute('class'), 'vevent')) {
|
if (attribute_contains($item->getAttribute('class'), 'vevent')) {
|
||||||
$level2 = $item->getElementsByTagName('*');
|
$level2 = $item->getElementsByTagName('*');
|
||||||
foreach($level2 as $x) {
|
foreach ($level2 as $x) {
|
||||||
if(attribute_contains($x->getAttribute('class'),'dtstart') && $x->getAttribute('title')) {
|
if (attribute_contains($x->getAttribute('class'),'dtstart') && $x->getAttribute('title')) {
|
||||||
$ret['start'] = $x->getAttribute('title');
|
$ret['start'] = $x->getAttribute('title');
|
||||||
if(! strpos($ret['start'],'Z'))
|
if (! strpos($ret['start'],'Z'))
|
||||||
$ret['adjust'] = true;
|
$ret['adjust'] = true;
|
||||||
}
|
}
|
||||||
if(attribute_contains($x->getAttribute('class'),'dtend') && $x->getAttribute('title'))
|
if (attribute_contains($x->getAttribute('class'),'dtend') && $x->getAttribute('title'))
|
||||||
$ret['finish'] = $x->getAttribute('title');
|
$ret['finish'] = $x->getAttribute('title');
|
||||||
|
|
||||||
if(attribute_contains($x->getAttribute('class'),'description'))
|
if (attribute_contains($x->getAttribute('class'),'description'))
|
||||||
$ret['desc'] = $x->textContent;
|
$ret['desc'] = $x->textContent;
|
||||||
if(attribute_contains($x->getAttribute('class'),'location'))
|
if (attribute_contains($x->getAttribute('class'),'location'))
|
||||||
$ret['location'] = $x->textContent;
|
$ret['location'] = $x->textContent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -125,23 +125,23 @@ function parse_event($h) {
|
||||||
|
|
||||||
// sanitise
|
// sanitise
|
||||||
|
|
||||||
if((x($ret,'desc')) && ((strpos($ret['desc'],'<') !== false) || (strpos($ret['desc'],'>') !== false))) {
|
if ((x($ret,'desc')) && ((strpos($ret['desc'],'<') !== false) || (strpos($ret['desc'],'>') !== false))) {
|
||||||
$config = HTMLPurifier_Config::createDefault();
|
$config = HTMLPurifier_Config::createDefault();
|
||||||
$config->set('Cache.DefinitionImpl', null);
|
$config->set('Cache.DefinitionImpl', null);
|
||||||
$purifier = new HTMLPurifier($config);
|
$purifier = new HTMLPurifier($config);
|
||||||
$ret['desc'] = html2bbcode($purifier->purify($ret['desc']));
|
$ret['desc'] = html2bbcode($purifier->purify($ret['desc']));
|
||||||
}
|
}
|
||||||
|
|
||||||
if((x($ret,'location')) && ((strpos($ret['location'],'<') !== false) || (strpos($ret['location'],'>') !== false))) {
|
if ((x($ret,'location')) && ((strpos($ret['location'],'<') !== false) || (strpos($ret['location'],'>') !== false))) {
|
||||||
$config = HTMLPurifier_Config::createDefault();
|
$config = HTMLPurifier_Config::createDefault();
|
||||||
$config->set('Cache.DefinitionImpl', null);
|
$config->set('Cache.DefinitionImpl', null);
|
||||||
$purifier = new HTMLPurifier($config);
|
$purifier = new HTMLPurifier($config);
|
||||||
$ret['location'] = html2bbcode($purifier->purify($ret['location']));
|
$ret['location'] = html2bbcode($purifier->purify($ret['location']));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(x($ret,'start'))
|
if (x($ret,'start'))
|
||||||
$ret['start'] = datetime_convert('UTC','UTC',$ret['start']);
|
$ret['start'] = datetime_convert('UTC','UTC',$ret['start']);
|
||||||
if(x($ret,'finish'))
|
if (x($ret,'finish'))
|
||||||
$ret['finish'] = datetime_convert('UTC','UTC',$ret['finish']);
|
$ret['finish'] = datetime_convert('UTC','UTC',$ret['finish']);
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
|
@ -595,7 +595,7 @@ function event_by_id($owner_uid = 0, $event_params, $sql_extra = '') {
|
||||||
*/
|
*/
|
||||||
function events_by_date($owner_uid = 0, $event_params, $sql_extra = '') {
|
function events_by_date($owner_uid = 0, $event_params, $sql_extra = '') {
|
||||||
// Only allow events if there is a valid owner_id
|
// Only allow events if there is a valid owner_id
|
||||||
if($owner_uid == 0) {
|
if ($owner_uid == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,12 +11,13 @@ function expire_run(&$argv, &$argc){
|
||||||
|
|
||||||
// physically remove anything that has been deleted for more than two months
|
// physically remove anything that has been deleted for more than two months
|
||||||
|
|
||||||
$r = q("delete from item where deleted = 1 and changed < UTC_TIMESTAMP() - INTERVAL 60 DAY");
|
$r = q("DELETE FROM `item` WHERE `deleted` = 1 AND `changed` < UTC_TIMESTAMP() - INTERVAL 60 DAY");
|
||||||
|
|
||||||
// make this optional as it could have a performance impact on large sites
|
// make this optional as it could have a performance impact on large sites
|
||||||
|
|
||||||
if(intval(get_config('system','optimize_items')))
|
if (intval(get_config('system','optimize_items'))) {
|
||||||
q("optimize table item");
|
q("OPTIMIZE TABLE `item`");
|
||||||
|
}
|
||||||
|
|
||||||
logger('expire: start');
|
logger('expire: start');
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue