Browse Source

Better detection for the mobile client to avoid "{0}" in notifications.

pull/1668/head
Michael Vogel 5 years ago
parent
commit
c89c0916e2
3 changed files with 13 additions and 5 deletions
  1. +8
    -0
      boot.php
  2. +1
    -4
      mod/notify.php
  3. +4
    -1
      mod/ping.php

+ 8
- 0
boot.php View File

@ -379,6 +379,7 @@ if(! class_exists('App')) {
public $identities;
public $is_mobile;
public $is_tablet;
public $is_friendica_app;
public $performance = array();
public $nav_sel;
@ -596,6 +597,9 @@ if(! class_exists('App')) {
$this->is_mobile = $mobile_detect->isMobile();
$this->is_tablet = $mobile_detect->isTablet();
// Friendica-Client
$this->is_friendica_app = ($_SERVER['HTTP_USER_AGENT'] == "Apache-HttpClient/UNAVAILABLE (java 1.4)");
/**
* register template engines
*/
@ -906,6 +910,10 @@ if(! class_exists('App')) {
return(FRIENDICA_PLATFORM." '".FRIENDICA_CODENAME."' ".FRIENDICA_VERSION."-".DB_UPDATE_VERSION."; ".$this->get_baseurl());
}
function is_friendica_app() {
return($this->is_friendica_app);
}
}
}


+ 1
- 4
mod/notify.php View File

@ -18,11 +18,8 @@ function notify_init(&$a) {
intval(local_user())
);
// Friendica-Client
$friendicamobile = ($_SERVER['HTTP_USER_AGENT'] == "Apache-HttpClient/UNAVAILABLE (java 1.4)");
// The friendica client has problems with the GUID. this is some workaround
if ($friendicamobile) {
if ($a->is_friendica_app()) {
require_once("include/items.php");
$urldata = parse_url($r[0]['link']);
$guid = basename($urldata["path"]);


+ 4
- 1
mod/ping.php View File

@ -316,6 +316,8 @@ function ping_get_notifications($uid, $regularnotifications) {
$order = "";
$quit = false;
$a = get_app();
do {
$r = q("SELECT `notify`.*, `item`.`visible`, `item`.`spam`, `item`.`deleted`
FROM `notify` LEFT JOIN `item` ON `item`.`id` = `notify`.`iid`
@ -354,8 +356,9 @@ function ping_get_notifications($uid, $regularnotifications) {
// Replace the name with {0} but ensure to make that only once
// The {0} is used later and prints the name in bold.
// But don't do it for the android app.
$pos = strpos($notification["msg"],$notification['name']);
if (($pos !== false) AND $regularnotifications)
if (($pos !== false) AND $regularnotifications AND !$a->is_friendica_app())
$notification["msg"] = substr_replace($notification["msg"],"{0}",$pos,strlen($notification["name"]));
else
$notification["msg"] = str_replace("{0}", $notification["name"], $notification["msg"]);


Loading…
Cancel
Save