Merge remote-tracking branch 'upstream/develop' into 1704-conversation

This commit is contained in:
Michael 2017-04-23 14:25:35 +00:00
commit 05dcedb54c
13 changed files with 180 additions and 147 deletions

View file

@ -178,7 +178,7 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d
function dob($dob) { 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';
} }
@ -203,7 +203,7 @@ function dob($dob) {
/// @TODO Old-lost code? /// @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
// $o = datesel($f,mktime(0,0,0,0,0,1900),mktime(),false,'dob'); // $o = datesel($f,mktime(0,0,0,0,0,1900),mktime(),false,'dob');
@ -279,7 +279,7 @@ function timesel($format, $h, $m, $id = 'timepicker') {
function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicker', $pickdate = true, $picktime = true, $minfrom = '', $maxfrom = '', $required = false) { function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicker', $pickdate = true, $picktime = true, $minfrom = '', $maxfrom = '', $required = false) {
// 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) { if ($firstDay === false) {
$firstDay=0; $firstDay=0;
} }
@ -312,14 +312,14 @@ function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicke
$pickers = ''; $pickers = '';
if (!$pickdate) { if (!$pickdate) {
$pickers .= ',datepicker: false'; $pickers .= ', datepicker: false';
} }
if (!$picktime) { if (!$picktime) {
$pickers .= ',timepicker: false'; $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})}})";
} }
@ -335,7 +335,7 @@ function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicke
$readable_format = str_replace('i','MM',$readable_format); $readable_format = str_replace('i','MM',$readable_format);
$tpl = get_markup_template('field_input.tpl'); $tpl = get_markup_template('field_input.tpl');
$o .= replace_macros($tpl,array( $o .= replace_macros($tpl, array(
'$field' => array($id, $label, $input_text, '', (($required) ? '*' : ''), 'placeholder="' . $readable_format . '"'), '$field' => array($id, $label, $input_text, '', (($required) ? '*' : ''), 'placeholder="' . $readable_format . '"'),
)); ));
@ -431,11 +431,11 @@ function age($dob, $owner_tz = '', $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);
$year_diff = datetime_convert('UTC',$viewer_tz,'now','Y') - $year; $year_diff = datetime_convert('UTC',$viewer_tz, 'now', 'Y') - $year;
$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--;
@ -455,7 +455,7 @@ function age($dob, $owner_tz = '', $viewer_tz = '') {
* *
* @return int Number of days in the given month * @return int Number of days in the given month
*/ */
function get_dim($y,$m) { function get_dim($y, $m) {
$dim = array( 0, $dim = array( 0,
31, 28, 31, 30, 31, 30, 31, 28, 31, 30, 31, 30,
@ -507,14 +507,14 @@ 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(' ',
'January','February','March', 'January', 'February', 'March',
'April','May','June', 'April' , 'May' , 'June',
'July','August','September', 'July' , 'August' , 'September',
'October','November','December' 'October', 'November', 'December'
); );
$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;
} }
@ -530,14 +530,14 @@ function cal($y = 0,$m = 0, $links = false, $class='') {
$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>';
@ -549,7 +549,7 @@ function cal($y = 0,$m = 0, $links = false, $class='') {
$today = (((isset($tddate)) && ($tddate == $d)) ? "class=\"today\" " : ''); $today = (((isset($tddate)) && ($tddate == $d)) ? "class=\"today\" " : '');
$o .= "<td $today>"; $o .= "<td $today>";
$day = str_replace(' ','&nbsp;',sprintf('%2.2d', $d)); $day = str_replace(' ', '&nbsp;', 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>";
@ -590,22 +590,20 @@ function update_contact_birthdays() {
// This only handles foreign or alien networks where a birthday has been provided. // This only handles foreign or alien networks where a birthday has been provided.
// In-network birthdays are handled within local_delivery // In-network birthdays are handled within local_delivery
$r = q("SELECT * FROM contact WHERE `bd` != '' AND `bd` > '0001-01-01' AND SUBSTRING(`bd`,1,4) != `bdyear` "); $r = q("SELECT * FROM `contact` WHERE `bd` != '' AND `bd` > '0001-01-01' AND SUBSTRING(`bd`, 1, 4) != `bdyear` ");
if (dbm::is_result($r)) { if (dbm::is_result($r)) {
foreach ($r as $rr) { foreach ($r as $rr) {
logger('update_contact_birthday: ' . $rr['bd']); logger('update_contact_birthday: ' . $rr['bd']);
$nextbd = datetime_convert('UTC','UTC','now','Y') . substr($rr['bd'],4); $nextbd = datetime_convert('UTC','UTC','now','Y') . substr($rr['bd'], 4);
/** /*
*
* Add new birthday event for this person * Add new birthday event for this person
* *
* $bdtext is just a readable placeholder in case the event is shared * $bdtext is just a readable placeholder in case the event is shared
* with others. We will replace it during presentation to our $importer * with others. We will replace it during presentation to our $importer
* to contain a sparkle link and perhaps a photo. * to contain a sparkle link and perhaps a photo.
*
*/ */
// Check for duplicates // Check for duplicates
@ -638,7 +636,6 @@ function update_contact_birthdays() {
// update bdyear // update bdyear
q("UPDATE `contact` SET `bdyear` = '%s', `bd` = '%s' WHERE `uid` = %d AND `id` = %d", q("UPDATE `contact` SET `bdyear` = '%s', `bd` = '%s' WHERE `uid` = %d AND `id` = %d",
dbesc(substr($nextbd,0,4)), dbesc(substr($nextbd,0,4)),
dbesc($nextbd), dbesc($nextbd),

View file

@ -7,13 +7,38 @@ require_once("include/text.php");
define('NEW_UPDATE_ROUTINE_VERSION', 1170); define('NEW_UPDATE_ROUTINE_VERSION', 1170);
/*
* Converts all tables from MyISAM to InnoDB
*/
function convert_to_innodb() {
global $db;
$r = q("SELECT `TABLE_NAME` FROM `information_schema`.`tables` WHERE `engine` = 'MyISAM' AND `table_schema` = '%s'",
dbesc($db->database_name()));
if (!dbm::is_result($r)) {
echo t('There are no tables on MyISAM.')."\n";
return;
}
foreach ($r AS $table) {
$sql = sprintf("ALTER TABLE `%s` engine=InnoDB;", dbesc($table['TABLE_NAME']));
echo $sql."\n";
$result = @$db->q($sql);
if (!dbm::is_result($result)) {
print_update_error($db, $sql);
}
}
}
/* /*
* send the email and do what is needed to do on update fails * send the email and do what is needed to do on update fails
* *
* @param update_id (int) number of failed update * @param update_id (int) number of failed update
* @param error_message (str) error message * @param error_message (str) error message
*/ */
function update_fail($update_id, $error_message){ function update_fail($update_id, $error_message) {
//send the administrators an e-mail //send the administrators an e-mail
$admin_mail_list = "'".implode("','", array_map(dbesc, explode(",", str_replace(" ", "", $a->config['admin_email']))))."'"; $admin_mail_list = "'".implode("','", array_map(dbesc, explode(",", str_replace(" ", "", $a->config['admin_email']))))."'";
$adminlist = q("SELECT uid, language, email FROM user WHERE email IN (%s)", $adminlist = q("SELECT uid, language, email FROM user WHERE email IN (%s)",
@ -95,10 +120,6 @@ function table_structure($table) {
if (dbm::is_result($indexes)) if (dbm::is_result($indexes))
foreach ($indexes AS $index) { foreach ($indexes AS $index) {
if ($index["Index_type"] == "FULLTEXT") {
continue;
}
if ($index['Key_name'] != 'PRIMARY' && $index['Non_unique'] == '0' && !isset($indexdata[$index["Key_name"]])) { if ($index['Key_name'] != 'PRIMARY' && $index['Non_unique'] == '0' && !isset($indexdata[$index["Key_name"]])) {
$indexdata[$index["Key_name"]] = array('UNIQUE'); $indexdata[$index["Key_name"]] = array('UNIQUE');
} }
@ -460,7 +481,7 @@ function db_field_command($parameters, $create = true) {
if ($parameters["not null"]) if ($parameters["not null"])
$fieldstruct .= " NOT NULL"; $fieldstruct .= " NOT NULL";
if (isset($parameters["default"])){ if (isset($parameters["default"])) {
if (strpos(strtolower($parameters["type"]),"int")!==false) { if (strpos(strtolower($parameters["type"]),"int")!==false) {
$fieldstruct .= " DEFAULT ".$parameters["default"]; $fieldstruct .= " DEFAULT ".$parameters["default"];
} else { } else {
@ -487,7 +508,7 @@ function db_create_table($name, $fields, $verbose, $action, $indexes=null) {
$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;
} }
} }
@ -1704,7 +1725,7 @@ 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;
} }
@ -1743,6 +1764,9 @@ function dbstructure_run(&$argv, &$argc) {
case "dumpsql": case "dumpsql":
print_structure(db_definition()); print_structure(db_definition());
return; return;
case "toinnodb":
convert_to_innodb();
return;
} }
} }
@ -1754,11 +1778,12 @@ function dbstructure_run(&$argv, &$argc) {
echo "dryrun show database update schema queries without running them\n"; echo "dryrun show database update schema queries without running them\n";
echo "update update database schema\n"; echo "update update database schema\n";
echo "dumpsql dump database schema\n"; echo "dumpsql dump database schema\n";
echo "toinnodb convert all tables from MyISAM to InnoDB\n";
return; return;
} }
if (array_search(__file__,get_included_files())===0){ if (array_search(__file__,get_included_files())===0) {
dbstructure_run($_SERVER["argv"],$_SERVER["argc"]); dbstructure_run($_SERVER["argv"],$_SERVER["argc"]);
killme(); killme();
} }

View file

@ -82,6 +82,7 @@ function format_event_html($ev, $simple = false) {
} }
/* /*
@TODO old-lost code found?
function parse_event($h) { function parse_event($h) {
require_once('include/Scrape.php'); require_once('include/Scrape.php');

View file

@ -36,9 +36,9 @@ function feature_enabled($uid, $feature) {
*/ */
function get_feature_default($feature) { function get_feature_default($feature) {
$f = get_features(); $f = get_features();
foreach($f as $cat) { foreach ($f as $cat) {
foreach($cat as $feat) { foreach ($cat as $feat) {
if(is_array($feat) && $feat[0] === $feature) if (is_array($feat) && $feat[0] === $feature)
return $feat[3]; return $feat[3];
} }
} }
@ -116,13 +116,13 @@ function get_features($filtered = true) {
// removed any locked features and remove the entire category if this makes it empty // removed any locked features and remove the entire category if this makes it empty
if($filtered) { if ($filtered) {
foreach($arr as $k => $x) { foreach ($arr as $k => $x) {
$has_items = false; $has_items = false;
$kquantity = count($arr[$k]); $kquantity = count($arr[$k]);
for($y = 0; $y < $kquantity; $y ++) { for ($y = 0; $y < $kquantity; $y ++) {
if(is_array($arr[$k][$y])) { if (is_array($arr[$k][$y])) {
if($arr[$k][$y][4] === false) { if ($arr[$k][$y][4] === false) {
$has_items = true; $has_items = true;
} }
else { else {
@ -130,7 +130,7 @@ function get_features($filtered = true) {
} }
} }
} }
if(! $has_items) { if (! $has_items) {
unset($arr[$k]); unset($arr[$k]);
} }
} }

View file

@ -55,7 +55,7 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
if ($xpath->query('/atom:feed')->length > 0) { if ($xpath->query('/atom:feed')->length > 0) {
$alternate = $xpath->query("atom:link[@rel='alternate']")->item(0)->attributes; $alternate = $xpath->query("atom:link[@rel='alternate']")->item(0)->attributes;
if (is_object($alternate)) { if (is_object($alternate)) {
foreach($alternate AS $attributes) { foreach ($alternate AS $attributes) {
if ($attributes->name == "href") { if ($attributes->name == "href") {
$author["author-link"] = $attributes->textContent; $author["author-link"] = $attributes->textContent;
} }
@ -68,7 +68,7 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
if ($author["author-link"] == "") { if ($author["author-link"] == "") {
$self = $xpath->query("atom:link[@rel='self']")->item(0)->attributes; $self = $xpath->query("atom:link[@rel='self']")->item(0)->attributes;
if (is_object($self)) { if (is_object($self)) {
foreach($self AS $attributes) { foreach ($self AS $attributes) {
if ($attributes->name == "href") { if ($attributes->name == "href") {
$author["author-link"] = $attributes->textContent; $author["author-link"] = $attributes->textContent;
} }
@ -163,7 +163,7 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
$header["contact-id"] = $contact["id"]; $header["contact-id"] = $contact["id"];
if(!strlen($contact["notify"])) { if (!strlen($contact["notify"])) {
// one way feed - no remote comment ability // one way feed - no remote comment ability
$header["last-child"] = 0; $header["last-child"] = 0;
} }
@ -188,7 +188,7 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
$alternate = $xpath->query("atom:link", $entry)->item(0)->attributes; $alternate = $xpath->query("atom:link", $entry)->item(0)->attributes;
} }
if (is_object($alternate)) { if (is_object($alternate)) {
foreach($alternate AS $attributes) { foreach ($alternate AS $attributes) {
if ($attributes->name == "href") { if ($attributes->name == "href") {
$item["plink"] = $attributes->textContent; $item["plink"] = $attributes->textContent;
} }
@ -271,6 +271,7 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
if ($creator != "") { if ($creator != "") {
$item["author-name"] = $creator; $item["author-name"] = $creator;
} }
/// @TODO ? /// @TODO ?
// <category>Ausland</category> // <category>Ausland</category>
// <media:thumbnail width="152" height="76" url="http://www.taz.de/picture/667875/192/14388767.jpg"/> // <media:thumbnail width="152" height="76" url="http://www.taz.de/picture/667875/192/14388767.jpg"/>
@ -284,7 +285,7 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
$type = ""; $type = "";
$title = ""; $title = "";
foreach($enclosure->attributes AS $attributes) { foreach ($enclosure->attributes AS $attributes) {
if ($attributes->name == "url") { if ($attributes->name == "url") {
$href = $attributes->textContent; $href = $attributes->textContent;
} elseif ($attributes->name == "length") { } elseif ($attributes->name == "length") {
@ -293,8 +294,9 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
$type = $attributes->textContent; $type = $attributes->textContent;
} }
} }
if(strlen($item["attach"])) if (strlen($item["attach"])) {
$item["attach"] .= ','; $item["attach"] .= ',';
}
$attachments[] = array("link" => $href, "type" => $type, "length" => $length); $attachments[] = array("link" => $href, "type" => $type, "length" => $length);

View file

@ -33,7 +33,7 @@ function create_files_from_item($itemid) {
function create_files_from_itemuri($itemuri, $uid) { function create_files_from_itemuri($itemuri, $uid) {
$messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid)); $messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid));
if(count($messages)) { if (count($messages)) {
foreach ($messages as $message) foreach ($messages as $message)
create_files_from_item($message["id"]); create_files_from_item($message["id"]);
} }

View file

@ -18,7 +18,7 @@ class FriendicaSmarty extends Smarty {
// setTemplateDir can be set to an array, which Smarty will parse in order. // setTemplateDir can be set to an array, which Smarty will parse in order.
// The order is thus very important here // The order is thus very important here
$template_dirs = array('theme' => "view/theme/$theme/".SMARTY3_TEMPLATE_FOLDER."/"); $template_dirs = array('theme' => "view/theme/$theme/".SMARTY3_TEMPLATE_FOLDER."/");
if( x($a->theme_info,"extends") ) if ( x($a->theme_info,"extends") )
$template_dirs = $template_dirs + array('extends' => "view/theme/".$a->theme_info["extends"]."/".SMARTY3_TEMPLATE_FOLDER."/"); $template_dirs = $template_dirs + array('extends' => "view/theme/".$a->theme_info["extends"]."/".SMARTY3_TEMPLATE_FOLDER."/");
$template_dirs = $template_dirs + array('base' => "view/".SMARTY3_TEMPLATE_FOLDER."/"); $template_dirs = $template_dirs + array('base' => "view/".SMARTY3_TEMPLATE_FOLDER."/");
$this->setTemplateDir($template_dirs); $this->setTemplateDir($template_dirs);
@ -35,7 +35,7 @@ class FriendicaSmarty extends Smarty {
} }
function parsed($template = '') { function parsed($template = '') {
if($template) { if ($template) {
return $this->fetch('string:' . $template); return $this->fetch('string:' . $template);
} }
return $this->fetch('file:' . $this->filename); return $this->fetch('file:' . $this->filename);
@ -48,7 +48,7 @@ class FriendicaSmartyEngine implements ITemplateEngine {
static $name ="smarty3"; static $name ="smarty3";
public function __construct(){ public function __construct(){
if(!is_writable('view/smarty3/')){ if (!is_writable('view/smarty3/')){
echo "<b>ERROR:</b> folder <tt>view/smarty3/</tt> must be writable by webserver."; killme(); echo "<b>ERROR:</b> folder <tt>view/smarty3/</tt> must be writable by webserver."; killme();
} }
} }
@ -56,7 +56,7 @@ class FriendicaSmartyEngine implements ITemplateEngine {
// ITemplateEngine interface // ITemplateEngine interface
public function replace_macros($s, $r) { public function replace_macros($s, $r) {
$template = ''; $template = '';
if(gettype($s) === 'string') { if (gettype($s) === 'string') {
$template = $s; $template = $s;
$s = new FriendicaSmarty(); $s = new FriendicaSmarty();
} }
@ -71,8 +71,8 @@ class FriendicaSmartyEngine implements ITemplateEngine {
call_hooks("template_vars", $arr); call_hooks("template_vars", $arr);
$r = $arr['vars']; $r = $arr['vars'];
foreach($r as $key=>$value) { foreach ($r as $key=>$value) {
if($key[0] === '$') { if ($key[0] === '$') {
$key = substr($key, 1); $key = substr($key, 1);
} }
$s->assign($key, $value); $s->assign($key, $value);

View file

@ -33,11 +33,13 @@ function gprobe_run(&$argv, &$argc){
$arr = probe_url($url); $arr = probe_url($url);
if (is_null($result)) if (is_null($result)) {
Cache::set("gprobe:".$urlparts["host"], $arr); Cache::set("gprobe:".$urlparts["host"], $arr);
}
if (!in_array($arr["network"], array(NETWORK_FEED, NETWORK_PHANTOM))) if (!in_array($arr["network"], array(NETWORK_FEED, NETWORK_PHANTOM))) {
update_gcontact($arr); update_gcontact($arr);
}
$r = q("SELECT `id`, `url`, `network` FROM `gcontact` WHERE `nurl` = '%s' ORDER BY `id` LIMIT 1", $r = q("SELECT `id`, `url`, `network` FROM `gcontact` WHERE `nurl` = '%s' ORDER BY `id` LIMIT 1",
dbesc(normalise_link($url)) dbesc(normalise_link($url))

View file

@ -4,9 +4,9 @@
function group_add($uid,$name) { function group_add($uid,$name) {
$ret = false; $ret = false;
if(x($uid) && x($name)) { if (x($uid) && x($name)) {
$r = group_byname($uid,$name); // check for dups $r = group_byname($uid,$name); // check for dups
if($r !== false) { if ($r !== false) {
// This could be a problem. // This could be a problem.
// Let's assume we've just created a group which we once deleted // Let's assume we've just created a group which we once deleted
@ -17,7 +17,7 @@ function group_add($uid,$name) {
$z = q("SELECT * FROM `group` WHERE `id` = %d LIMIT 1", $z = q("SELECT * FROM `group` WHERE `id` = %d LIMIT 1",
intval($r) intval($r)
); );
if(count($z) && $z[0]['deleted']) { if (count($z) && $z[0]['deleted']) {
$r = q("UPDATE `group` SET `deleted` = 0 WHERE `uid` = %d AND `name` = '%s'", $r = q("UPDATE `group` SET `deleted` = 0 WHERE `uid` = %d AND `name` = '%s'",
intval($uid), intval($uid),
dbesc($name) dbesc($name)
@ -39,14 +39,14 @@ function group_add($uid,$name) {
function group_rmv($uid,$name) { function group_rmv($uid,$name) {
$ret = false; $ret = false;
if(x($uid) && x($name)) { if (x($uid) && x($name)) {
$r = q("SELECT id FROM `group` WHERE `uid` = %d AND `name` = '%s' LIMIT 1", $r = q("SELECT id FROM `group` WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
intval($uid), intval($uid),
dbesc($name) dbesc($name)
); );
if (dbm::is_result($r)) if (dbm::is_result($r))
$group_id = $r[0]['id']; $group_id = $r[0]['id'];
if(! $group_id) if (! $group_id)
return false; return false;
// remove group from default posting lists // remove group from default posting lists
@ -57,20 +57,20 @@ function group_rmv($uid,$name) {
$user_info = $r[0]; $user_info = $r[0];
$change = false; $change = false;
if($user_info['def_gid'] == $group_id) { if ($user_info['def_gid'] == $group_id) {
$user_info['def_gid'] = 0; $user_info['def_gid'] = 0;
$change = true; $change = true;
} }
if(strpos($user_info['allow_gid'], '<' . $group_id . '>') !== false) { if (strpos($user_info['allow_gid'], '<' . $group_id . '>') !== false) {
$user_info['allow_gid'] = str_replace('<' . $group_id . '>', '', $user_info['allow_gid']); $user_info['allow_gid'] = str_replace('<' . $group_id . '>', '', $user_info['allow_gid']);
$change = true; $change = true;
} }
if(strpos($user_info['deny_gid'], '<' . $group_id . '>') !== false) { if (strpos($user_info['deny_gid'], '<' . $group_id . '>') !== false) {
$user_info['deny_gid'] = str_replace('<' . $group_id . '>', '', $user_info['deny_gid']); $user_info['deny_gid'] = str_replace('<' . $group_id . '>', '', $user_info['deny_gid']);
$change = true; $change = true;
} }
if($change) { if ($change) {
q("UPDATE user SET def_gid = %d, allow_gid = '%s', deny_gid = '%s' WHERE uid = %d", q("UPDATE user SET def_gid = %d, allow_gid = '%s', deny_gid = '%s' WHERE uid = %d",
intval($user_info['def_gid']), intval($user_info['def_gid']),
dbesc($user_info['allow_gid']), dbesc($user_info['allow_gid']),
@ -100,7 +100,7 @@ function group_rmv($uid,$name) {
} }
function group_byname($uid,$name) { function group_byname($uid,$name) {
if((! $uid) || (! strlen($name))) if ((! $uid) || (! strlen($name)))
return false; return false;
$r = q("SELECT * FROM `group` WHERE `uid` = %d AND `name` = '%s' LIMIT 1", $r = q("SELECT * FROM `group` WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
intval($uid), intval($uid),
@ -113,9 +113,9 @@ function group_byname($uid,$name) {
function group_rmv_member($uid,$name,$member) { function group_rmv_member($uid,$name,$member) {
$gid = group_byname($uid,$name); $gid = group_byname($uid,$name);
if(! $gid) if (! $gid)
return false; return false;
if(! ( $uid && $gid && $member)) if (! ( $uid && $gid && $member))
return false; return false;
$r = q("DELETE FROM `group_member` WHERE `uid` = %d AND `gid` = %d AND `contact-id` = %d", $r = q("DELETE FROM `group_member` WHERE `uid` = %d AND `gid` = %d AND `contact-id` = %d",
intval($uid), intval($uid),
@ -129,9 +129,9 @@ function group_rmv_member($uid,$name,$member) {
function group_add_member($uid,$name,$member,$gid = 0) { function group_add_member($uid,$name,$member,$gid = 0) {
if(! $gid) if (! $gid)
$gid = group_byname($uid,$name); $gid = group_byname($uid,$name);
if((! $gid) || (! $uid) || (! $member)) if ((! $gid) || (! $uid) || (! $member))
return false; return false;
$r = q("SELECT * FROM `group_member` WHERE `uid` = %d AND `gid` = %d AND `contact-id` = %d LIMIT 1", $r = q("SELECT * FROM `group_member` WHERE `uid` = %d AND `gid` = %d AND `contact-id` = %d LIMIT 1",
@ -156,7 +156,7 @@ function group_add_member($uid,$name,$member,$gid = 0) {
function group_get_members($gid) { function group_get_members($gid) {
$ret = array(); $ret = array();
if(intval($gid)) { if (intval($gid)) {
$r = q("SELECT `group_member`.`contact-id`, `contact`.* FROM `group_member` $r = q("SELECT `group_member`.`contact-id`, `contact`.* FROM `group_member`
INNER JOIN `contact` ON `contact`.`id` = `group_member`.`contact-id` INNER JOIN `contact` ON `contact`.`id` = `group_member`.`contact-id`
WHERE `gid` = %d AND `group_member`.`uid` = %d AND WHERE `gid` = %d AND `group_member`.`uid` = %d AND
@ -173,7 +173,7 @@ function group_get_members($gid) {
function group_public_members($gid) { function group_public_members($gid) {
$ret = 0; $ret = 0;
if(intval($gid)) { if (intval($gid)) {
$r = q("SELECT `contact`.`id` AS `contact-id` FROM `group_member` $r = q("SELECT `contact`.`id` AS `contact-id` FROM `group_member`
INNER JOIN `contact` ON `contact`.`id` = `group_member`.`contact-id` INNER JOIN `contact` ON `contact`.`id` = `group_member`.`contact-id`
WHERE `gid` = %d AND `group_member`.`uid` = %d WHERE `gid` = %d AND `group_member`.`uid` = %d
@ -252,7 +252,7 @@ function group_side($every="contacts",$each="group",$editmode = "standard", $gro
intval($_SESSION['uid']) intval($_SESSION['uid'])
); );
$member_of = array(); $member_of = array();
if($cid) { if ($cid) {
$member_of = groups_containing(local_user(),$cid); $member_of = groups_containing(local_user(),$cid);
} }
@ -302,7 +302,7 @@ function group_side($every="contacts",$each="group",$editmode = "standard", $gro
} }
function expand_groups($a,$check_dead = false, $use_gcontact = false) { function expand_groups($a,$check_dead = false, $use_gcontact = false) {
if(! (is_array($a) && count($a))) if (! (is_array($a) && count($a)))
return array(); return array();
$groups = implode(',', $a); $groups = implode(',', $a);
$groups = dbesc($groups); $groups = dbesc($groups);
@ -318,9 +318,9 @@ function expand_groups($a,$check_dead = false, $use_gcontact = false) {
$ret = array(); $ret = array();
if (dbm::is_result($r)) if (dbm::is_result($r))
foreach($r as $rr) foreach ($r as $rr)
$ret[] = $rr['contact-id']; $ret[] = $rr['contact-id'];
if($check_dead AND !$use_gcontact) { if ($check_dead AND !$use_gcontact) {
require_once('include/acl_selectors.php'); require_once('include/acl_selectors.php');
$ret = prune_deadguys($ret); $ret = prune_deadguys($ret);
} }
@ -347,9 +347,10 @@ function groups_containing($uid,$c) {
$ret = array(); $ret = array();
if (dbm::is_result($r)) { if (dbm::is_result($r)) {
foreach($r as $rr) foreach ($r as $rr) {
$ret[] = $rr['gid']; $ret[] = $rr['gid'];
} }
}
return $ret; return $ret;
} }
@ -399,7 +400,7 @@ function get_default_group($uid, $network = "") {
return $default_group; return $default_group;
$g = q("SELECT `def_gid` FROM `user` WHERE `uid` = %d LIMIT 1", intval($uid)); $g = q("SELECT `def_gid` FROM `user` WHERE `uid` = %d LIMIT 1", intval($uid));
if($g && intval($g[0]["def_gid"])) if ($g && intval($g[0]["def_gid"]))
$default_group = $g[0]["def_gid"]; $default_group = $g[0]["def_gid"];
return $default_group; return $default_group;

View file

@ -49,7 +49,7 @@ function quotelevel($message, $wraplength = 75)
$newlines = array(); $newlines = array();
$level = 0; $level = 0;
foreach($lines as $line) {; foreach ($lines as $line) {;
$line = trim($line); $line = trim($line);
$startquote = false; $startquote = false;
while (strpos("*".$line, '[quote]') > 0) { while (strpos("*".$line, '[quote]') > 0) {

View file

@ -38,7 +38,7 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array()) {
dbesc($nickname) dbesc($nickname)
); );
if(!$user && count($user) && !count($profiledata)) { if (!$user && count($user) && !count($profiledata)) {
logger('profile error: ' . $a->query_string, LOGGER_DEBUG); logger('profile error: ' . $a->query_string, LOGGER_DEBUG);
notice( t('Requested account is not available.') . EOL ); notice( t('Requested account is not available.') . EOL );
$a->error = 404; $a->error = 404;
@ -47,7 +47,7 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array()) {
$pdata = get_profiledata_by_nick($nickname, $user[0]['uid'], $profile); $pdata = get_profiledata_by_nick($nickname, $user[0]['uid'], $profile);
if(($pdata === false) || (!count($pdata)) && !count($profiledata)) { if (($pdata === false) || (!count($pdata)) && !count($profiledata)) {
logger('profile error: ' . $a->query_string, LOGGER_DEBUG); logger('profile error: ' . $a->query_string, LOGGER_DEBUG);
notice( t('Requested profile is not available.') . EOL ); notice( t('Requested profile is not available.') . EOL );
$a->error = 404; $a->error = 404;
@ -56,11 +56,11 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array()) {
// fetch user tags if this isn't the default profile // fetch user tags if this isn't the default profile
if(!$pdata['is-default']) { if (!$pdata['is-default']) {
$x = q("SELECT `pub_keywords` FROM `profile` WHERE `uid` = %d AND `is-default` = 1 LIMIT 1", $x = q("SELECT `pub_keywords` FROM `profile` WHERE `uid` = %d AND `is-default` = 1 LIMIT 1",
intval($pdata['profile_uid']) intval($pdata['profile_uid'])
); );
if($x && count($x)) if ($x && count($x))
$pdata['pub_keywords'] = $x[0]['pub_keywords']; $pdata['pub_keywords'] = $x[0]['pub_keywords'];
} }
@ -88,10 +88,10 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array()) {
require_once($theme_info_file); require_once($theme_info_file);
} }
if(! (x($a->page,'aside'))) if (! (x($a->page,'aside')))
$a->page['aside'] = ''; $a->page['aside'] = '';
if(local_user() && local_user() == $a->profile['uid'] && $profiledata) { if (local_user() && local_user() == $a->profile['uid'] && $profiledata) {
$a->page['aside'] .= replace_macros(get_markup_template('profile_edlink.tpl'),array( $a->page['aside'] .= replace_macros(get_markup_template('profile_edlink.tpl'),array(
'$editprofile' => t('Edit profile'), '$editprofile' => t('Edit profile'),
'$profid' => $a->profile['id'] '$profid' => $a->profile['id']
@ -110,7 +110,7 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array()) {
else else
$a->page['aside'] .= profile_sidebar($a->profile, $block); $a->page['aside'] .= profile_sidebar($a->profile, $block);
/*if(! $block) /*if (! $block)
$a->page['aside'] .= contact_block();*/ $a->page['aside'] .= contact_block();*/
return; return;
@ -133,9 +133,9 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array()) {
* Includes all available profile data * Includes all available profile data
*/ */
function get_profiledata_by_nick($nickname, $uid = 0, $profile = 0) { function get_profiledata_by_nick($nickname, $uid = 0, $profile = 0) {
if(remote_user() && count($_SESSION['remote'])) { if (remote_user() && count($_SESSION['remote'])) {
foreach($_SESSION['remote'] as $visitor) { foreach ($_SESSION['remote'] as $visitor) {
if($visitor['uid'] == $uid) { if ($visitor['uid'] == $uid) {
$r = q("SELECT `profile-id` FROM `contact` WHERE `id` = %d LIMIT 1", $r = q("SELECT `profile-id` FROM `contact` WHERE `id` = %d LIMIT 1",
intval($visitor['cid']) intval($visitor['cid'])
); );
@ -148,7 +148,7 @@ function get_profiledata_by_nick($nickname, $uid = 0, $profile = 0) {
$r = null; $r = null;
if($profile) { if ($profile) {
$profile_int = intval($profile); $profile_int = intval($profile);
$r = q("SELECT `contact`.`id` AS `contact_id`, `profile`.`uid` AS `profile_uid`, `profile`.*, $r = q("SELECT `contact`.`id` AS `contact_id`, `profile`.`uid` AS `profile_uid`, `profile`.*,
`contact`.`avatar-date` AS picdate, `contact`.`addr`, `user`.* `contact`.`avatar-date` AS picdate, `contact`.`addr`, `user`.*
@ -200,20 +200,22 @@ function profile_sidebar($profile, $block = 0) {
$o = ''; $o = '';
$location = false; $location = false;
$address = false; $address = false;
// $pdesc = true; // $pdesc = true;
// This function can also use contact information in $profile // This function can also use contact information in $profile
$is_contact = x($profile, 'cid'); $is_contact = x($profile, 'cid');
if((! is_array($profile)) && (! count($profile))) if ((! is_array($profile)) && (! count($profile))) {
return $o; return $o;
}
$profile['picdate'] = urlencode($profile['picdate']); $profile['picdate'] = urlencode($profile['picdate']);
if (($profile['network'] != "") AND ($profile['network'] != NETWORK_DFRN)) { if (($profile['network'] != "") AND ($profile['network'] != NETWORK_DFRN)) {
$profile['network_name'] = format_network_name($profile['network'],$profile['url']); $profile['network_name'] = format_network_name($profile['network'], $profile['url']);
} else } else {
$profile['network_name'] = ""; $profile['network_name'] = "";
}
call_hooks('profile_sidebar_enter', $profile); call_hooks('profile_sidebar_enter', $profile);
@ -222,9 +224,9 @@ function profile_sidebar($profile, $block = 0) {
$connect = (($profile['uid'] != local_user()) ? t('Connect') : False); $connect = (($profile['uid'] != local_user()) ? t('Connect') : False);
// don't show connect link to authenticated visitors either // don't show connect link to authenticated visitors either
if(remote_user() && count($_SESSION['remote'])) { if (remote_user() && count($_SESSION['remote'])) {
foreach($_SESSION['remote'] as $visitor) { foreach ($_SESSION['remote'] as $visitor) {
if($visitor['uid'] == $profile['uid']) { if ($visitor['uid'] == $profile['uid']) {
$connect = false; $connect = false;
break; break;
} }
@ -325,7 +327,7 @@ function profile_sidebar($profile, $block = 0) {
// Fetch the account type // Fetch the account type
$account_type = account_type($profile); $account_type = account_type($profile);
if((x($profile,'address') == 1) if ((x($profile,'address') == 1)
|| (x($profile,'location') == 1) || (x($profile,'location') == 1)
|| (x($profile,'locality') == 1) || (x($profile,'locality') == 1)
|| (x($profile,'region') == 1) || (x($profile,'region') == 1)
@ -344,7 +346,7 @@ function profile_sidebar($profile, $block = 0) {
$xmpp = ((x($profile,'xmpp') == 1) ? t('XMPP:') : False); $xmpp = ((x($profile,'xmpp') == 1) ? t('XMPP:') : False);
if(($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) { if (($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) {
$location = $pdesc = $gender = $marital = $homepage = $about = False; $location = $pdesc = $gender = $marital = $homepage = $about = False;
} }
@ -371,7 +373,7 @@ function profile_sidebar($profile, $block = 0) {
if (!$block){ if (!$block){
$contact_block = contact_block(); $contact_block = contact_block();
if(is_array($a->profile) AND !$a->profile['hide-friends']) { if (is_array($a->profile) AND !$a->profile['hide-friends']) {
$r = q("SELECT `gcontact`.`updated` FROM `contact` INNER JOIN `gcontact` WHERE `gcontact`.`nurl` = `contact`.`nurl` AND `self` AND `uid` = %d LIMIT 1", $r = q("SELECT `gcontact`.`updated` FROM `contact` INNER JOIN `gcontact` WHERE `gcontact`.`nurl` = `contact`.`nurl` AND `self` AND `uid` = %d LIMIT 1",
intval($a->profile['uid'])); intval($a->profile['uid']));
if (dbm::is_result($r)) if (dbm::is_result($r))
@ -393,7 +395,7 @@ function profile_sidebar($profile, $block = 0) {
} }
$p = array(); $p = array();
foreach($profile as $k => $v) { foreach ($profile as $k => $v) {
$k = str_replace('-','_',$k); $k = str_replace('-','_',$k);
$p[$k] = $v; $p[$k] = $v;
} }
@ -409,7 +411,7 @@ function profile_sidebar($profile, $block = 0) {
if (isset($p["photo"])) if (isset($p["photo"]))
$p["photo"] = proxy_url($p["photo"], false, PROXY_SIZE_SMALL); $p["photo"] = proxy_url($p["photo"], false, PROXY_SIZE_SMALL);
if($a->theme['template_engine'] === 'internal') if ($a->theme['template_engine'] === 'internal')
$location = template_escape($location); $location = template_escape($location);
$tpl = get_markup_template('profile_vcard.tpl'); $tpl = get_markup_template('profile_vcard.tpl');
@ -448,13 +450,13 @@ function get_birthdays() {
$a = get_app(); $a = get_app();
$o = ''; $o = '';
if(! local_user() || $a->is_mobile || $a->is_tablet) if (! local_user() || $a->is_mobile || $a->is_tablet)
return $o; return $o;
// $mobile_detect = new Mobile_Detect(); // $mobile_detect = new Mobile_Detect();
// $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet(); // $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
// if($is_mobile) // if ($is_mobile)
// return $o; // return $o;
$bd_format = t('g A l F d') ; // 8 AM Friday January 18 $bd_format = t('g A l F d') ; // 8 AM Friday January 18
@ -482,27 +484,27 @@ function get_birthdays() {
$istoday = false; $istoday = false;
foreach ($r as $rr) { foreach ($r as $rr) {
if(strlen($rr['name'])) if (strlen($rr['name']))
$total ++; $total ++;
if((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now)) if ((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now))
$istoday = true; $istoday = true;
} }
$classtoday = $istoday ? ' birthday-today ' : ''; $classtoday = $istoday ? ' birthday-today ' : '';
if($total) { if ($total) {
foreach($r as &$rr) { foreach ($r as &$rr) {
if(! strlen($rr['name'])) if (! strlen($rr['name']))
continue; continue;
// avoid duplicates // avoid duplicates
if(in_array($rr['cid'],$cids)) if (in_array($rr['cid'],$cids))
continue; continue;
$cids[] = $rr['cid']; $cids[] = $rr['cid'];
$today = (((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now)) ? true : false); $today = (((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now)) ? true : false);
$sparkle = ''; $sparkle = '';
$url = $rr['url']; $url = $rr['url'];
if($rr['network'] === NETWORK_DFRN) { if ($rr['network'] === NETWORK_DFRN) {
$sparkle = " sparkle"; $sparkle = " sparkle";
$url = App::get_baseurl() . '/redir/' . $rr['cid']; $url = App::get_baseurl() . '/redir/' . $rr['cid'];
} }
@ -537,14 +539,14 @@ function get_events() {
$a = get_app(); $a = get_app();
if(! local_user() || $a->is_mobile || $a->is_tablet) if (! local_user() || $a->is_mobile || $a->is_tablet)
return $o; return $o;
// $mobile_detect = new Mobile_Detect(); // $mobile_detect = new Mobile_Detect();
// $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet(); // $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
// if($is_mobile) // if ($is_mobile)
// return $o; // return $o;
$bd_format = t('g A l F d') ; // 8 AM Friday January 18 $bd_format = t('g A l F d') ; // 8 AM Friday January 18
@ -562,30 +564,30 @@ function get_events() {
$now = strtotime('now'); $now = strtotime('now');
$istoday = false; $istoday = false;
foreach ($r as $rr) { foreach ($r as $rr) {
if(strlen($rr['name'])) if (strlen($rr['name']))
$total ++; $total ++;
$strt = datetime_convert('UTC',$rr['convert'] ? $a->timezone : 'UTC',$rr['start'],'Y-m-d'); $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; $istoday = true;
} }
$classtoday = (($istoday) ? 'event-today' : ''); $classtoday = (($istoday) ? 'event-today' : '');
$skip = 0; $skip = 0;
foreach($r as &$rr) { foreach ($r as &$rr) {
$title = strip_tags(html_entity_decode(bbcode($rr['summary']),ENT_QUOTES,'UTF-8')); $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) . '... '; $title = substr($title,0,32) . '... ';
$description = substr(strip_tags(bbcode($rr['desc'])),0,32) . '... '; $description = substr(strip_tags(bbcode($rr['desc'])),0,32) . '... ';
if(! $description) if (! $description)
$description = t('[No description]'); $description = t('[No description]');
$strt = datetime_convert('UTC',$rr['convert'] ? $a->timezone : 'UTC',$rr['start']); $strt = datetime_convert('UTC',$rr['convert'] ? $a->timezone : 'UTC',$rr['start']);
if(substr($strt,0,10) < datetime_convert('UTC',$a->timezone,'now','Y-m-d')) { if (substr($strt,0,10) < datetime_convert('UTC',$a->timezone,'now','Y-m-d')) {
$skip++; $skip++;
continue; continue;
} }
@ -620,7 +622,7 @@ function advanced_profile(App $a) {
'$title' => t('Profile') '$title' => t('Profile')
)); ));
if($a->profile['name']) { if ($a->profile['name']) {
$tpl = get_markup_template('profile_advanced.tpl'); $tpl = get_markup_template('profile_advanced.tpl');
@ -628,11 +630,9 @@ function advanced_profile(App $a) {
$profile['fullname'] = array( t('Full Name:'), $a->profile['name'] ) ; $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')) {
if (($a->profile['dob']) && ($a->profile['dob'] > '0001-01-01')) {
$year_bd_format = t('j F, Y'); $year_bd_format = t('j F, Y');
$short_bd_format = t('j F'); $short_bd_format = t('j F');
@ -645,10 +645,10 @@ 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? /// @TODO Maybe use x() here, plus below?
if ($a->profile['with']) { if ($a->profile['with']) {
@ -853,14 +853,14 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
} }
function get_my_url() { function get_my_url() {
if(x($_SESSION,'my_url')) if (x($_SESSION,'my_url'))
return $_SESSION['my_url']; return $_SESSION['my_url'];
return false; return false;
} }
function zrl_init(App $a) { function zrl_init(App $a) {
$tmp_str = get_my_url(); $tmp_str = get_my_url();
if(validate_url($tmp_str)) { if (validate_url($tmp_str)) {
// Is it a DDoS attempt? // Is it a DDoS attempt?
// The check fetches the cached value from gprobe to reduce the load for this system // The check fetches the cached value from gprobe to reduce the load for this system
@ -881,16 +881,20 @@ function zrl_init(App $a) {
} }
function zrl($s,$force = false) { function zrl($s,$force = false) {
if(! strlen($s)) if (! strlen($s)) {
return $s; return $s;
if((! strpos($s,'/profile/')) && (! $force)) }
if ((! strpos($s,'/profile/')) && (! $force)) {
return $s; return $s;
if($force && substr($s,-1,1) !== '/') }
if ($force && substr($s,-1,1) !== '/') {
$s = $s . '/'; $s = $s . '/';
}
$achar = strpos($s,'?') ? '&' : '?'; $achar = strpos($s,'?') ? '&' : '?';
$mine = get_my_url(); $mine = get_my_url();
if($mine and ! link_compare($mine,$s)) if ($mine and ! link_compare($mine,$s)) {
return $s . $achar . 'zrl=' . urlencode($mine); return $s . $achar . 'zrl=' . urlencode($mine);
}
return $s; return $s;
} }
@ -910,10 +914,11 @@ function zrl($s,$force = false) {
*/ */
function get_theme_uid() { function get_theme_uid() {
$uid = (($_REQUEST['puid']) ? intval($_REQUEST['puid']) : 0); $uid = (($_REQUEST['puid']) ? intval($_REQUEST['puid']) : 0);
if(local_user()) { if (local_user()) {
if((get_pconfig(local_user(),'system','always_my_theme')) || (! $uid)) if ((get_pconfig(local_user(),'system','always_my_theme')) || (! $uid)) {
return local_user(); return local_user();
} }
}
return $uid; return $uid;
} }

View file

@ -447,7 +447,7 @@ function admin_page_summary(App $a) {
$warningtext = array(); $warningtext = array();
if (dbm::is_result($r)) { if (dbm::is_result($r)) {
$showwarning = true; $showwarning = true;
$warningtext[] = sprintf(t('Your DB still runs with MyISAM tables. You should change the engine type to InnoDB. As Friendica will use InnoDB only features in the future, you should change this! See <a href="%s">here</a> for a guide that may be helpful converting the table engines. You may also use the <tt>convert_innodb.sql</tt> in the <tt>/util</tt> directory of your Friendica installation.<br />'), 'https://dev.mysql.com/doc/refman/5.7/en/converting-tables-to-innodb.html'); $warningtext[] = sprintf(t('Your DB still runs with MyISAM tables. You should change the engine type to InnoDB. As Friendica will use InnoDB only features in the future, you should change this! See <a href="%s">here</a> for a guide that may be helpful converting the table engines. You may also use the command <tt>php include/dbstructure.php toinnodb</tt> of your Friendica installation for an automatic conversion.<br />'), 'https://dev.mysql.com/doc/refman/5.7/en/converting-tables-to-innodb.html');
} }
// MySQL >= 5.7.4 doesn't support the IGNORE keyword in ALTER TABLE statements // MySQL >= 5.7.4 doesn't support the IGNORE keyword in ALTER TABLE statements
if ((version_compare($db->server_info(), '5.7.4') >= 0) AND if ((version_compare($db->server_info(), '5.7.4') >= 0) AND

View file

@ -73,10 +73,10 @@ function openid_content(App $a) {
$first = notags(trim($v)); $first = notags(trim($v));
} }
if($k === 'namePerson') { if($k === 'namePerson') {
$args .= '&username=' . notags(trim($v)); $args .= '&username=' . urlencode(notags(trim($v)));
} }
if ($k === 'contact/email') { if ($k === 'contact/email') {
$args .= '&email=' . notags(trim($v)); $args .= '&email=' . urlencode(notags(trim($v)));
} }
if ($k === 'media/image/aspect11') { if ($k === 'media/image/aspect11') {
$photosq = bin2hex(trim($v)); $photosq = bin2hex(trim($v));
@ -87,22 +87,22 @@ function openid_content(App $a) {
} }
} }
if ($nick) { if ($nick) {
$args .= '&nickname=' . $nick; $args .= '&nickname=' . urlencode($nick);
} }
elseif ($first) { elseif ($first) {
$args .= '&nickname=' . $first; $args .= '&nickname=' . urlencode($first);
} }
if ($photosq) { if ($photosq) {
$args .= '&photo=' . $photosq; $args .= '&photo=' . urlencode($photosq);
} }
elseif ($photo) { elseif ($photo) {
$args .= '&photo=' . $photo; $args .= '&photo=' . urlencode($photo);
} }
$args .= '&openid_url=' . notags(trim($authid)); $args .= '&openid_url=' . urlencode(notags(trim($authid)));
goaway(App::get_baseurl() . '/register' . $args); goaway(App::get_baseurl() . '/register?' . $args);
// NOTREACHED // NOTREACHED
} }