Coding Standards
Guess who got phpcs configured. Updated phpcs.xml based on Developer_Intro document.
This commit is contained in:
parent
ca5d5acb7e
commit
d7dc51ecc1
7 changed files with 1404 additions and 1008 deletions
|
@ -1,15 +1,15 @@
|
|||
<?php
|
||||
namespace Friendica\Core;
|
||||
|
||||
use Friendica\Database\DBM;
|
||||
use dba;
|
||||
|
||||
/**
|
||||
* System Configuration Class
|
||||
*
|
||||
* @file include/Core/Config.php
|
||||
*
|
||||
* @brief Contains the class with methods for system configuration
|
||||
*/
|
||||
namespace Friendica\Core;
|
||||
|
||||
use Friendica\Database\DBM;
|
||||
use dba;
|
||||
|
||||
/**
|
||||
* @brief Arbitrary sytem configuration storage
|
||||
|
@ -87,7 +87,6 @@ class Config {
|
|||
$a = get_app();
|
||||
|
||||
if (!$refresh) {
|
||||
|
||||
// Do we have the cached value? Then return it
|
||||
if (isset(self::$cache[$family][$key])) {
|
||||
if (self::$cache[$family][$key] === '!<unset>!') {
|
||||
|
@ -108,7 +107,6 @@ class Config {
|
|||
self::$in_db[$family][$key] = true;
|
||||
return $val;
|
||||
} elseif (isset($a->config[$family][$key])) {
|
||||
|
||||
// Assign the value (mostly) from the .htconfig.php to the cache
|
||||
self::$cache[$family][$key] = $a->config[$family][$key];
|
||||
self::$in_db[$family][$key] = false;
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<?php
|
||||
namespace Friendica\Core;
|
||||
/**
|
||||
* @file src/Core/NotificationsManager.php
|
||||
* @brief Methods for read and write notifications from/to database
|
||||
* or for formatting notifications
|
||||
*/
|
||||
namespace Friendica\Core;
|
||||
|
||||
use Friendica\Core\Pconfig;
|
||||
use Friendica\Core\System;
|
||||
|
@ -19,10 +19,15 @@ require_once 'include/Contact.php';
|
|||
* @brief Methods for read and write notifications from/to database
|
||||
* or for formatting notifications
|
||||
*/
|
||||
class NotificationsManager {
|
||||
class NotificationsManager
|
||||
{
|
||||
private $a;
|
||||
|
||||
public function __construct() {
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->a = get_app();
|
||||
}
|
||||
|
||||
|
@ -38,14 +43,15 @@ class NotificationsManager {
|
|||
* - msg_html: message as html string
|
||||
* - msg_plain: message as plain text string
|
||||
*/
|
||||
private function _set_extra($notes) {
|
||||
private function _set_extra($notes)
|
||||
{
|
||||
$rets = array();
|
||||
foreach($notes as $n) {
|
||||
$local_time = datetime_convert('UTC',date_default_timezone_get(),$n['date']);
|
||||
foreach ($notes as $n) {
|
||||
$local_time = datetime_convert('UTC', date_default_timezone_get(), $n['date']);
|
||||
$n['timestamp'] = strtotime($local_time);
|
||||
$n['date_rel'] = relative_date($n['date']);
|
||||
$n['msg_html'] = bbcode($n['msg'], false, false, false, false);
|
||||
$n['msg_plain'] = explode("\n",trim(html2plain($n['msg_html'], 0)))[0];
|
||||
$n['msg_plain'] = explode("\n", trim(html2plain($n['msg_html'], 0)))[0];
|
||||
|
||||
$rets[] = $n;
|
||||
}
|
||||
|
@ -57,15 +63,17 @@ class NotificationsManager {
|
|||
* @brief Get all notifications for local_user()
|
||||
*
|
||||
* @param array $filter optional Array "column name"=>value: filter query by columns values
|
||||
* @param string $order optional Space separated list of column to sort by. prepend name with "+" to sort ASC, "-" to sort DESC. Default to "-date"
|
||||
* @param string $order optional Space separated list of column to sort by.
|
||||
* Prepend name with "+" to sort ASC, "-" to sort DESC. Default to "-date"
|
||||
* @param string $limit optional Query limits
|
||||
*
|
||||
* @return array of results or false on errors
|
||||
*/
|
||||
public function getAll($filter = array(), $order="-date", $limit="") {
|
||||
public function getAll($filter = array(), $order = "-date", $limit = "")
|
||||
{
|
||||
$filter_str = array();
|
||||
$filter_sql = "";
|
||||
foreach($filter as $column => $value) {
|
||||
foreach ($filter as $column => $value) {
|
||||
$filter_str[] = sprintf("`%s` = '%s'", $column, dbesc($value));
|
||||
}
|
||||
if (count($filter_str)>0) {
|
||||
|
@ -74,29 +82,31 @@ class NotificationsManager {
|
|||
|
||||
$aOrder = explode(" ", $order);
|
||||
$asOrder = array();
|
||||
foreach($aOrder as $o) {
|
||||
foreach ($aOrder as $o) {
|
||||
$dir = "asc";
|
||||
if ($o[0]==="-") {
|
||||
$dir = "desc";
|
||||
$o = substr($o,1);
|
||||
$o = substr($o, 1);
|
||||
}
|
||||
if ($o[0]==="+") {
|
||||
$dir = "asc";
|
||||
$o = substr($o,1);
|
||||
$o = substr($o, 1);
|
||||
}
|
||||
$asOrder[] = "$o $dir";
|
||||
}
|
||||
$order_sql = implode(", ", $asOrder);
|
||||
|
||||
if($limit!="")
|
||||
if ($limit != "") {
|
||||
$limit = " LIMIT ".$limit;
|
||||
|
||||
$r = q("SELECT * FROM `notify` WHERE `uid` = %d $filter_sql ORDER BY $order_sql $limit",
|
||||
}
|
||||
$r = q(
|
||||
"SELECT * FROM `notify` WHERE `uid` = %d $filter_sql ORDER BY $order_sql $limit",
|
||||
intval(local_user())
|
||||
);
|
||||
|
||||
if (DBM::is_result($r))
|
||||
if (DBM::is_result($r)) {
|
||||
return $this->_set_extra($r);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -104,11 +114,13 @@ class NotificationsManager {
|
|||
/**
|
||||
* @brief Get one note for local_user() by $id value
|
||||
*
|
||||
* @param int $id
|
||||
* @param int $id identity
|
||||
* @return array note values or null if not found
|
||||
*/
|
||||
public function getByID($id) {
|
||||
$r = q("SELECT * FROM `notify` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
public function getByID($id)
|
||||
{
|
||||
$r = q(
|
||||
"SELECT * FROM `notify` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($id),
|
||||
intval(local_user())
|
||||
);
|
||||
|
@ -121,12 +133,14 @@ class NotificationsManager {
|
|||
/**
|
||||
* @brief set seen state of $note of local_user()
|
||||
*
|
||||
* @param array $note
|
||||
* @param array $note note array
|
||||
* @param bool $seen optional true or false, default true
|
||||
* @return bool true on success, false on errors
|
||||
*/
|
||||
public function setSeen($note, $seen = true) {
|
||||
return q("UPDATE `notify` SET `seen` = %d WHERE ( `link` = '%s' OR ( `parent` != 0 AND `parent` = %d AND `otype` = '%s' )) AND `uid` = %d",
|
||||
public function setSeen($note, $seen = true)
|
||||
{
|
||||
return q(
|
||||
"UPDATE `notify` SET `seen` = %d WHERE ( `link` = '%s' OR ( `parent` != 0 AND `parent` = %d AND `otype` = '%s' )) AND `uid` = %d",
|
||||
intval($seen),
|
||||
dbesc($note['link']),
|
||||
intval($note['parent']),
|
||||
|
@ -141,8 +155,10 @@ class NotificationsManager {
|
|||
* @param bool $seen optional true or false. default true
|
||||
* @return bool true on success, false on error
|
||||
*/
|
||||
public function setAllSeen($seen = true) {
|
||||
return q("UPDATE `notify` SET `seen` = %d WHERE `uid` = %d",
|
||||
public function setAllSeen($seen = true)
|
||||
{
|
||||
return q(
|
||||
"UPDATE `notify` SET `seen` = %d WHERE `uid` = %d",
|
||||
intval($seen),
|
||||
intval(local_user())
|
||||
);
|
||||
|
@ -153,7 +169,8 @@ class NotificationsManager {
|
|||
*
|
||||
* @return array with with notifications TabBar data
|
||||
*/
|
||||
public function getTabs() {
|
||||
public function getTabs()
|
||||
{
|
||||
$tabs = array(
|
||||
array(
|
||||
'label' => t('System'),
|
||||
|
@ -210,13 +227,12 @@ class NotificationsManager {
|
|||
* string 'ago' => T relative date of the notification
|
||||
* bool 'seen' => Is the notification marked as "seen"
|
||||
*/
|
||||
private function formatNotifs($notifs, $ident = "") {
|
||||
|
||||
private function formatNotifs($notifs, $ident = "")
|
||||
{
|
||||
$notif = array();
|
||||
$arr = array();
|
||||
|
||||
if (DBM::is_result($notifs)) {
|
||||
|
||||
foreach ($notifs as $it) {
|
||||
// Because we use different db tables for the notification query
|
||||
// we have sometimes $it['unseen'] and sometimes $it['seen].
|
||||
|
@ -257,11 +273,10 @@ class NotificationsManager {
|
|||
: sprintf(t("%s commented on %s's post"), $it['author-name'], $it['pname']));
|
||||
$default_item_when = datetime_convert('UTC', date_default_timezone_get(), $it['created'], 'r');
|
||||
$default_item_ago = relative_date($it['created']);
|
||||
|
||||
}
|
||||
|
||||
// Transform the different types of notification in an usable array
|
||||
switch ($it['verb']){
|
||||
switch ($it['verb']) {
|
||||
case ACTIVITY_LIKE:
|
||||
$notif = array(
|
||||
'label' => 'like',
|
||||
|
@ -362,7 +377,6 @@ class NotificationsManager {
|
|||
}
|
||||
|
||||
return $arr;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -372,13 +386,16 @@ class NotificationsManager {
|
|||
* which aren't marked as "seen"
|
||||
* @return int Number of network notifications
|
||||
*/
|
||||
private function networkTotal($seen = 0) {
|
||||
private function networkTotal($seen = 0)
|
||||
{
|
||||
$sql_seen = "";
|
||||
|
||||
if($seen === 0)
|
||||
if ($seen === 0) {
|
||||
$sql_seen = " AND `item`.`unseen` = 1 ";
|
||||
}
|
||||
|
||||
$r = q("SELECT COUNT(*) AS `total`
|
||||
$r = q(
|
||||
"SELECT COUNT(*) AS `total`
|
||||
FROM `item` INNER JOIN `item` AS `pitem` ON `pitem`.`id`=`item`.`parent`
|
||||
WHERE `item`.`visible` = 1 AND `pitem`.`parent` != 0 AND
|
||||
`item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 0
|
||||
|
@ -386,8 +403,9 @@ class NotificationsManager {
|
|||
intval(local_user())
|
||||
);
|
||||
|
||||
if (DBM::is_result($r))
|
||||
if (DBM::is_result($r)) {
|
||||
return $r[0]['total'];
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -406,17 +424,20 @@ class NotificationsManager {
|
|||
* int 'total' => Total number of available network notifications
|
||||
* array 'notifications' => Network notifications
|
||||
*/
|
||||
public function networkNotifs($seen = 0, $start = 0, $limit = 80) {
|
||||
public function networkNotifs($seen = 0, $start = 0, $limit = 80)
|
||||
{
|
||||
$ident = 'network';
|
||||
$total = $this->networkTotal($seen);
|
||||
$notifs = array();
|
||||
$sql_seen = "";
|
||||
|
||||
if($seen === 0)
|
||||
if ($seen === 0) {
|
||||
$sql_seen = " AND `item`.`unseen` = 1 ";
|
||||
}
|
||||
|
||||
|
||||
$r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`, `item`.`unseen`,
|
||||
$r = q(
|
||||
"SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`, `item`.`unseen`,
|
||||
`item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object` AS `object`,
|
||||
`pitem`.`author-name` AS `pname`, `pitem`.`author-link` AS `plink`, `pitem`.`guid` AS `pguid`
|
||||
FROM `item` INNER JOIN `item` AS `pitem` ON `pitem`.`id`=`item`.`parent`
|
||||
|
@ -429,8 +450,9 @@ class NotificationsManager {
|
|||
intval($limit)
|
||||
);
|
||||
|
||||
if (DBM::is_result($r))
|
||||
if (DBM::is_result($r)) {
|
||||
$notifs = $this->formatNotifs($r, $ident);
|
||||
}
|
||||
|
||||
$arr = array (
|
||||
'notifications' => $notifs,
|
||||
|
@ -448,18 +470,22 @@ class NotificationsManager {
|
|||
* which aren't marked as "seen"
|
||||
* @return int Number of system notifications
|
||||
*/
|
||||
private function systemTotal($seen = 0) {
|
||||
private function systemTotal($seen = 0)
|
||||
{
|
||||
$sql_seen = "";
|
||||
|
||||
if($seen === 0)
|
||||
if ($seen === 0) {
|
||||
$sql_seen = " AND `seen` = 0 ";
|
||||
}
|
||||
|
||||
$r = q("SELECT COUNT(*) AS `total` FROM `notify` WHERE `uid` = %d $sql_seen",
|
||||
$r = q(
|
||||
"SELECT COUNT(*) AS `total` FROM `notify` WHERE `uid` = %d $sql_seen",
|
||||
intval(local_user())
|
||||
);
|
||||
|
||||
if (DBM::is_result($r))
|
||||
if (DBM::is_result($r)) {
|
||||
return $r[0]['total'];
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -478,24 +504,28 @@ class NotificationsManager {
|
|||
* int 'total' => Total number of available system notifications
|
||||
* array 'notifications' => System notifications
|
||||
*/
|
||||
public function systemNotifs($seen = 0, $start = 0, $limit = 80) {
|
||||
public function systemNotifs($seen = 0, $start = 0, $limit = 80)
|
||||
{
|
||||
$ident = 'system';
|
||||
$total = $this->systemTotal($seen);
|
||||
$notifs = array();
|
||||
$sql_seen = "";
|
||||
|
||||
if($seen === 0)
|
||||
if ($seen === 0) {
|
||||
$sql_seen = " AND `seen` = 0 ";
|
||||
}
|
||||
|
||||
$r = q("SELECT `id`, `url`, `photo`, `msg`, `date`, `seen` FROM `notify`
|
||||
$r = q(
|
||||
"SELECT `id`, `url`, `photo`, `msg`, `date`, `seen` FROM `notify`
|
||||
WHERE `uid` = %d $sql_seen ORDER BY `date` DESC LIMIT %d, %d ",
|
||||
intval(local_user()),
|
||||
intval($start),
|
||||
intval($limit)
|
||||
);
|
||||
|
||||
if (DBM::is_result($r))
|
||||
if (DBM::is_result($r)) {
|
||||
$notifs = $this->formatNotifs($r, $ident);
|
||||
}
|
||||
|
||||
$arr = array (
|
||||
'notifications' => $notifs,
|
||||
|
@ -511,12 +541,14 @@ class NotificationsManager {
|
|||
*
|
||||
* @return string The additional sql query
|
||||
*/
|
||||
private function _personal_sql_extra() {
|
||||
private function _personal_sql_extra()
|
||||
{
|
||||
$myurl = System::baseUrl(true) . '/profile/'. $this->a->user['nickname'];
|
||||
$myurl = substr($myurl,strpos($myurl,'://')+3);
|
||||
$myurl = str_replace(array('www.','.'),array('','\\.'),$myurl);
|
||||
$diasp_url = str_replace('/profile/','/u/',$myurl);
|
||||
$sql_extra = sprintf(" AND ( `item`.`author-link` regexp '%s' OR `item`.`tag` regexp '%s' OR `item`.`tag` regexp '%s' ) ",
|
||||
$myurl = substr($myurl, strpos($myurl, '://') + 3);
|
||||
$myurl = str_replace(array('www.','.'), array('','\\.'), $myurl);
|
||||
$diasp_url = str_replace('/profile/', '/u/', $myurl);
|
||||
$sql_extra = sprintf(
|
||||
" AND ( `item`.`author-link` regexp '%s' OR `item`.`tag` regexp '%s' OR `item`.`tag` regexp '%s' ) ",
|
||||
dbesc($myurl . '$'),
|
||||
dbesc($myurl . '\\]'),
|
||||
dbesc($diasp_url . '\\]')
|
||||
|
@ -532,14 +564,17 @@ class NotificationsManager {
|
|||
* which aren't marked as "seen"
|
||||
* @return int Number of personal notifications
|
||||
*/
|
||||
private function personalTotal($seen = 0) {
|
||||
private function personalTotal($seen = 0)
|
||||
{
|
||||
$sql_seen = "";
|
||||
$sql_extra = $this->_personal_sql_extra();
|
||||
|
||||
if($seen === 0)
|
||||
if ($seen === 0) {
|
||||
$sql_seen = " AND `item`.`unseen` = 1 ";
|
||||
}
|
||||
|
||||
$r = q("SELECT COUNT(*) AS `total`
|
||||
$r = q(
|
||||
"SELECT COUNT(*) AS `total`
|
||||
FROM `item` INNER JOIN `item` AS `pitem` ON `pitem`.`id`=`item`.`parent`
|
||||
WHERE `item`.`visible` = 1
|
||||
$sql_extra
|
||||
|
@ -548,8 +583,9 @@ class NotificationsManager {
|
|||
intval(local_user())
|
||||
);
|
||||
|
||||
if (DBM::is_result($r))
|
||||
if (DBM::is_result($r)) {
|
||||
return $r[0]['total'];
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -568,17 +604,20 @@ class NotificationsManager {
|
|||
* int 'total' => Total number of available personal notifications
|
||||
* array 'notifications' => Personal notifications
|
||||
*/
|
||||
public function personalNotifs($seen = 0, $start = 0, $limit = 80) {
|
||||
public function personalNotifs($seen = 0, $start = 0, $limit = 80)
|
||||
{
|
||||
$ident = 'personal';
|
||||
$total = $this->personalTotal($seen);
|
||||
$sql_extra = $this->_personal_sql_extra();
|
||||
$notifs = array();
|
||||
$sql_seen = "";
|
||||
|
||||
if($seen === 0)
|
||||
if ($seen === 0) {
|
||||
$sql_seen = " AND `item`.`unseen` = 1 ";
|
||||
}
|
||||
|
||||
$r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`, `item`.`unseen`,
|
||||
$r = q(
|
||||
"SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`, `item`.`unseen`,
|
||||
`item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object` AS `object`,
|
||||
`pitem`.`author-name` AS `pname`, `pitem`.`author-link` AS `plink`, `pitem`.`guid` AS `pguid`
|
||||
FROM `item` INNER JOIN `item` AS `pitem` ON `pitem`.`id`=`item`.`parent`
|
||||
|
@ -586,14 +625,15 @@ class NotificationsManager {
|
|||
$sql_extra
|
||||
$sql_seen
|
||||
AND `item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 0
|
||||
ORDER BY `item`.`created` DESC LIMIT %d, %d " ,
|
||||
ORDER BY `item`.`created` DESC LIMIT %d, %d ",
|
||||
intval(local_user()),
|
||||
intval($start),
|
||||
intval($limit)
|
||||
);
|
||||
|
||||
if (DBM::is_result($r))
|
||||
if (DBM::is_result($r)) {
|
||||
$notifs = $this->formatNotifs($r, $ident);
|
||||
}
|
||||
|
||||
$arr = array (
|
||||
'notifications' => $notifs,
|
||||
|
@ -611,21 +651,25 @@ class NotificationsManager {
|
|||
* which aren't marked as "seen"
|
||||
* @return int Number of home notifications
|
||||
*/
|
||||
private function homeTotal($seen = 0) {
|
||||
private function homeTotal($seen = 0)
|
||||
{
|
||||
$sql_seen = "";
|
||||
|
||||
if($seen === 0)
|
||||
if ($seen === 0) {
|
||||
$sql_seen = " AND `item`.`unseen` = 1 ";
|
||||
}
|
||||
|
||||
$r = q("SELECT COUNT(*) AS `total` FROM `item`
|
||||
$r = q(
|
||||
"SELECT COUNT(*) AS `total` FROM `item`
|
||||
WHERE `item`.`visible` = 1 AND
|
||||
`item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 1
|
||||
$sql_seen",
|
||||
intval(local_user())
|
||||
);
|
||||
|
||||
if (DBM::is_result($r))
|
||||
if (DBM::is_result($r)) {
|
||||
return $r[0]['total'];
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -644,16 +688,19 @@ class NotificationsManager {
|
|||
* int 'total' => Total number of available home notifications
|
||||
* array 'notifications' => Home notifications
|
||||
*/
|
||||
public function homeNotifs($seen = 0, $start = 0, $limit = 80) {
|
||||
public function homeNotifs($seen = 0, $start = 0, $limit = 80)
|
||||
{
|
||||
$ident = 'home';
|
||||
$total = $this->homeTotal($seen);
|
||||
$notifs = array();
|
||||
$sql_seen = "";
|
||||
|
||||
if($seen === 0)
|
||||
if ($seen === 0) {
|
||||
$sql_seen = " AND `item`.`unseen` = 1 ";
|
||||
}
|
||||
|
||||
$r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`, `item`.`unseen`,
|
||||
$r = q(
|
||||
"SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`, `item`.`unseen`,
|
||||
`item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object` AS `object`,
|
||||
`pitem`.`author-name` AS `pname`, `pitem`.`author-link` AS `plink`, `pitem`.`guid` AS `pguid`
|
||||
FROM `item` INNER JOIN `item` AS `pitem` ON `pitem`.`id`=`item`.`parent`
|
||||
|
@ -666,8 +713,9 @@ class NotificationsManager {
|
|||
intval($limit)
|
||||
);
|
||||
|
||||
if (DBM::is_result($r))
|
||||
if (DBM::is_result($r)) {
|
||||
$notifs = $this->formatNotifs($r, $ident);
|
||||
}
|
||||
|
||||
$arr = array (
|
||||
'notifications' => $notifs,
|
||||
|
@ -685,19 +733,23 @@ class NotificationsManager {
|
|||
* which aren't marked as ignored
|
||||
* @return int Number of introductions
|
||||
*/
|
||||
private function introTotal($all = false) {
|
||||
private function introTotal($all = false)
|
||||
{
|
||||
$sql_extra = "";
|
||||
|
||||
if(!$all)
|
||||
if (!$all) {
|
||||
$sql_extra = " AND `ignore` = 0 ";
|
||||
}
|
||||
|
||||
$r = q("SELECT COUNT(*) AS `total` FROM `intro`
|
||||
$r = q(
|
||||
"SELECT COUNT(*) AS `total` FROM `intro`
|
||||
WHERE `intro`.`uid` = %d $sql_extra AND `intro`.`blocked` = 0 ",
|
||||
intval($_SESSION['uid'])
|
||||
);
|
||||
|
||||
if (DBM::is_result($r))
|
||||
if (DBM::is_result($r)) {
|
||||
return $r[0]['total'];
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -722,11 +774,13 @@ class NotificationsManager {
|
|||
$notifs = array();
|
||||
$sql_extra = "";
|
||||
|
||||
if(!$all)
|
||||
if (!$all) {
|
||||
$sql_extra = " AND `ignore` = 0 ";
|
||||
}
|
||||
|
||||
/// @todo Fetch contact details by "get_contact_details_by_url" instead of queries to contact, fcontact and gcontact
|
||||
$r = q("SELECT `intro`.`id` AS `intro_id`, `intro`.*, `contact`.*,
|
||||
$r = q(
|
||||
"SELECT `intro`.`id` AS `intro_id`, `intro`.*, `contact`.*,
|
||||
`fcontact`.`name` AS `fname`, `fcontact`.`url` AS `furl`,
|
||||
`fcontact`.`photo` AS `fphoto`, `fcontact`.`request` AS `frequest`,
|
||||
`gcontact`.`location` AS `glocation`, `gcontact`.`about` AS `gabout`,
|
||||
|
@ -743,8 +797,9 @@ class NotificationsManager {
|
|||
intval($limit)
|
||||
);
|
||||
|
||||
if (DBM::is_result($r))
|
||||
if (DBM::is_result($r)) {
|
||||
$notifs = $this->formatIntros($r);
|
||||
}
|
||||
|
||||
$arr = array (
|
||||
'ident' => $ident,
|
||||
|
@ -761,16 +816,16 @@ class NotificationsManager {
|
|||
* @param array $intros The array from the db query
|
||||
* @return array with the introductions
|
||||
*/
|
||||
private function formatIntros($intros) {
|
||||
private function formatIntros($intros)
|
||||
{
|
||||
$knowyou = '';
|
||||
|
||||
foreach($intros as $it) {
|
||||
foreach ($intros as $it) {
|
||||
// There are two kind of introduction. Contacts suggested by other contacts and normal connection requests.
|
||||
// We have to distinguish between these two because they use different data.
|
||||
|
||||
// Contact suggestions
|
||||
if($it['fid']) {
|
||||
|
||||
if ($it['fid']) {
|
||||
$return_addr = bin2hex($this->a->user['nickname'] . '@' . $this->a->get_hostname() . (($this->a->path) ? '/' . $this->a->path : ''));
|
||||
|
||||
$intro = array(
|
||||
|
@ -779,12 +834,11 @@ class NotificationsManager {
|
|||
'intro_id' => $it['intro_id'],
|
||||
'madeby' => $it['name'],
|
||||
'contact_id' => $it['contact-id'],
|
||||
'photo' => ((x($it,'fphoto')) ? proxy_url($it['fphoto'], false, PROXY_SIZE_SMALL) : "images/person-175.jpg"),
|
||||
'photo' => ((x($it, 'fphoto')) ? proxy_url($it['fphoto'], false, PROXY_SIZE_SMALL) : "images/person-175.jpg"),
|
||||
'name' => $it['fname'],
|
||||
'url' => zrl($it['furl']),
|
||||
'hidden' => $it['hidden'] == 1,
|
||||
'post_newfriend' => (intval(PConfig::get(local_user(),'system','post_newfriend')) ? '1' : 0),
|
||||
|
||||
'post_newfriend' => (intval(PConfig::get(local_user(), 'system', 'post_newfriend')) ? '1' : 0),
|
||||
'knowyou' => $knowyou,
|
||||
'note' => $it['note'],
|
||||
'request' => $it['frequest'] . '?addr=' . $return_addr,
|
||||
|
@ -793,11 +847,10 @@ class NotificationsManager {
|
|||
|
||||
// Normal connection requests
|
||||
} else {
|
||||
|
||||
$it = $this->getMissingIntroData($it);
|
||||
|
||||
// Don't show these data until you are connected. Diaspora is doing the same.
|
||||
if($it['gnetwork'] === NETWORK_DIASPORA) {
|
||||
if ($it['gnetwork'] === NETWORK_DIASPORA) {
|
||||
$it['glocation'] = "";
|
||||
$it['gabout'] = "";
|
||||
$it['ggender'] = "";
|
||||
|
@ -809,14 +862,14 @@ class NotificationsManager {
|
|||
'uid' => $_SESSION['uid'],
|
||||
'intro_id' => $it['intro_id'],
|
||||
'contact_id' => $it['contact-id'],
|
||||
'photo' => ((x($it,'photo')) ? proxy_url($it['photo'], false, PROXY_SIZE_SMALL) : "images/person-175.jpg"),
|
||||
'photo' => ((x($it, 'photo')) ? proxy_url($it['photo'], false, PROXY_SIZE_SMALL) : "images/person-175.jpg"),
|
||||
'name' => $it['name'],
|
||||
'location' => bbcode($it['glocation'], false, false),
|
||||
'about' => bbcode($it['gabout'], false, false),
|
||||
'keywords' => $it['gkeywords'],
|
||||
'gender' => $it['ggender'],
|
||||
'hidden' => $it['hidden'] == 1,
|
||||
'post_newfriend' => (intval(PConfig::get(local_user(),'system','post_newfriend')) ? '1' : 0),
|
||||
'post_newfriend' => (intval(PConfig::get(local_user(), 'system', 'post_newfriend')) ? '1' : 0),
|
||||
'url' => $it['url'],
|
||||
'zrl' => zrl($it['url']),
|
||||
'addr' => $it['gaddr'],
|
||||
|
@ -840,7 +893,8 @@ class NotificationsManager {
|
|||
*
|
||||
* @return array The array with the intro data
|
||||
*/
|
||||
private function getMissingIntroData($arr) {
|
||||
private function getMissingIntroData($arr)
|
||||
{
|
||||
// If the network and the addr isn't available from the gcontact
|
||||
// table entry, take the one of the contact table entry
|
||||
if ($arr['gnetwork'] == "") {
|
||||
|
|
|
@ -1,13 +1,18 @@
|
|||
<?php
|
||||
/**
|
||||
* @file src/Database/DBM.php
|
||||
*/
|
||||
namespace Friendica\Database;
|
||||
|
||||
use dba;
|
||||
|
||||
/**
|
||||
* @brief This class contain functions for the database management
|
||||
*
|
||||
* This class contains functions that doesn't need to know if pdo, mysqli or whatever is used.
|
||||
*/
|
||||
class DBM {
|
||||
class DBM
|
||||
{
|
||||
/**
|
||||
* @brief Return a list of database processes
|
||||
*
|
||||
|
@ -15,7 +20,8 @@ class DBM {
|
|||
* 'list' => List of processes, separated in their different states
|
||||
* 'amount' => Number of concurrent database processes
|
||||
*/
|
||||
public static function processlist() {
|
||||
public static function processlist()
|
||||
{
|
||||
$r = q("SHOW PROCESSLIST");
|
||||
$s = array();
|
||||
|
||||
|
@ -33,8 +39,9 @@ class DBM {
|
|||
|
||||
$statelist = "";
|
||||
foreach ($states AS $state => $usage) {
|
||||
if ($statelist != "")
|
||||
if ($statelist != "") {
|
||||
$statelist .= ", ";
|
||||
}
|
||||
$statelist .= $state.": ".$usage;
|
||||
}
|
||||
return(array("list" => $statelist, "amount" => $processes));
|
||||
|
@ -43,10 +50,12 @@ class DBM {
|
|||
/**
|
||||
* Checks if $array is a filled array with at least one entry.
|
||||
*
|
||||
* @param $array mixed A filled array with at least one entry
|
||||
* @return Whether $array is a filled array or an object with rows
|
||||
* @param mixed $array A filled array with at least one entry
|
||||
*
|
||||
* @return boolean Whether $array is a filled array or an object with rows
|
||||
*/
|
||||
public static function is_result($array) {
|
||||
public static function is_result($array)
|
||||
{
|
||||
// It could be a return value from an update statement
|
||||
if (is_bool($array)) {
|
||||
return $array;
|
||||
|
@ -66,8 +75,8 @@ class DBM {
|
|||
* @param string $key Array key
|
||||
* @param boolean $add_quotation add quotation marks for string values
|
||||
*/
|
||||
private static function esc_array_callback(&$value, $key, $add_quotation) {
|
||||
|
||||
private static function esc_array_callback(&$value, $key, $add_quotation)
|
||||
{
|
||||
if (!$add_quotation) {
|
||||
if (is_bool($value)) {
|
||||
$value = ($value ? '1' : '0');
|
||||
|
@ -92,7 +101,8 @@ class DBM {
|
|||
* @param mixed $arr Array with values to be escaped
|
||||
* @param boolean $add_quotation add quotation marks for string values
|
||||
*/
|
||||
public static function esc_array(&$arr, $add_quotation = false) {
|
||||
public static function esc_array(&$arr, $add_quotation = false)
|
||||
{
|
||||
array_walk($arr, 'self::esc_array_callback', $add_quotation);
|
||||
}
|
||||
|
||||
|
@ -100,9 +110,11 @@ class DBM {
|
|||
* Checks Converts any date string into a SQL compatible date string
|
||||
*
|
||||
* @param string $date a date string in any format
|
||||
*
|
||||
* @return string SQL style date string
|
||||
*/
|
||||
public static function date($date = 'now') {
|
||||
public static function date($date = 'now')
|
||||
{
|
||||
$timestamp = strtotime($date);
|
||||
|
||||
// Don't allow lower date strings as '0001-01-01 00:00:00'
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file include/ParseUrl.php
|
||||
* @brief Get informations about a given URL
|
||||
*/
|
||||
|
||||
namespace Friendica;
|
||||
|
||||
use Friendica\Core\Config;
|
||||
|
@ -15,16 +13,15 @@ use dba;
|
|||
use DomXPath;
|
||||
use DOMDocument;
|
||||
|
||||
require_once("include/network.php");
|
||||
require_once("include/Photo.php");
|
||||
require_once("include/oembed.php");
|
||||
require_once("include/xml.php");
|
||||
require_once "include/network.php";
|
||||
require_once "include/Photo.php";
|
||||
require_once "include/oembed.php";
|
||||
|
||||
/**
|
||||
* @brief Class with methods for extracting certain content from an url
|
||||
*/
|
||||
class ParseUrl {
|
||||
|
||||
class ParseUrl
|
||||
{
|
||||
/**
|
||||
* @brief Search for chached embeddable data of an url otherwise fetch it
|
||||
*
|
||||
|
@ -47,14 +44,18 @@ class ParseUrl {
|
|||
* @see ParseUrl::getSiteinfo() for more information about scraping
|
||||
* embeddable content
|
||||
*/
|
||||
public static function getSiteinfoCached($url, $no_guessing = false, $do_oembed = true) {
|
||||
|
||||
public static function getSiteinfoCached($url, $no_guessing = false, $do_oembed = true)
|
||||
{
|
||||
if ($url == "") {
|
||||
return false;
|
||||
}
|
||||
|
||||
$r = q("SELECT * FROM `parsed_url` WHERE `url` = '%s' AND `guessing` = %d AND `oembed` = %d",
|
||||
dbesc(normalise_link($url)), intval(!$no_guessing), intval($do_oembed));
|
||||
$r = q(
|
||||
"SELECT * FROM `parsed_url` WHERE `url` = '%s' AND `guessing` = %d AND `oembed` = %d",
|
||||
dbesc(normalise_link($url)),
|
||||
intval(!$no_guessing),
|
||||
intval($do_oembed)
|
||||
);
|
||||
|
||||
if ($r) {
|
||||
$data = $r[0]["content"];
|
||||
|
@ -67,9 +68,14 @@ class ParseUrl {
|
|||
|
||||
$data = self::getSiteinfo($url, $no_guessing, $do_oembed);
|
||||
|
||||
dba::insert('parsed_url', array('url' => normalise_link($url), 'guessing' => !$no_guessing,
|
||||
dba::insert(
|
||||
'parsed_url',
|
||||
array(
|
||||
'url' => normalise_link($url), 'guessing' => !$no_guessing,
|
||||
'oembed' => $do_oembed, 'content' => serialize($data),
|
||||
'created' => datetime_convert()), true);
|
||||
'created' => datetime_convert()),
|
||||
true
|
||||
);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
@ -113,8 +119,8 @@ class ParseUrl {
|
|||
* </body>
|
||||
* @endverbatim
|
||||
*/
|
||||
public static function getSiteinfo($url, $no_guessing = false, $do_oembed = true, $count = 1) {
|
||||
|
||||
public static function getSiteinfo($url, $no_guessing = false, $do_oembed = true, $count = 1)
|
||||
{
|
||||
$a = get_app();
|
||||
|
||||
$siteinfo = array();
|
||||
|
@ -158,7 +164,6 @@ class ParseUrl {
|
|||
$body = $data["body"];
|
||||
|
||||
if ($do_oembed) {
|
||||
|
||||
$oembed_data = oembed_fetch_url($url);
|
||||
|
||||
if (!in_array($oembed_data->type, array("error", "rich", ""))) {
|
||||
|
@ -364,7 +369,6 @@ class ParseUrl {
|
|||
"width" => $photodata[0],
|
||||
"height" => $photodata[1]);
|
||||
}
|
||||
|
||||
}
|
||||
} elseif ($siteinfo["image"] != "") {
|
||||
$src = self::completeUrl($siteinfo["image"], $url);
|
||||
|
@ -433,7 +437,8 @@ class ParseUrl {
|
|||
* @param string $string Tags
|
||||
* @return array with formatted Hashtags
|
||||
*/
|
||||
public static function convertTagsToArray($string) {
|
||||
public static function convertTagsToArray($string)
|
||||
{
|
||||
$arr_tags = str_getcsv($string);
|
||||
if (count($arr_tags)) {
|
||||
// add the # sign to every tag
|
||||
|
@ -451,7 +456,8 @@ class ParseUrl {
|
|||
* @param string $tag The pure tag name
|
||||
* @param int $k Counter for internal use
|
||||
*/
|
||||
private static function arrAddHashes(&$tag, $k) {
|
||||
private static function arrAddHashes(&$tag, $k)
|
||||
{
|
||||
$tag = "#" . $tag;
|
||||
}
|
||||
|
||||
|
@ -469,7 +475,8 @@ class ParseUrl {
|
|||
*
|
||||
* @return string The url with a scheme
|
||||
*/
|
||||
private static function completeUrl($url, $scheme) {
|
||||
private static function completeUrl($url, $scheme)
|
||||
{
|
||||
$urlarr = parse_url($url);
|
||||
|
||||
// If the url does allready have an scheme
|
||||
|
@ -486,7 +493,7 @@ class ParseUrl {
|
|||
$complete .= ":".$schemearr["port"];
|
||||
}
|
||||
|
||||
if (strpos($urlarr["path"],"/") !== 0) {
|
||||
if (strpos($urlarr["path"], "/") !== 0) {
|
||||
$complete .= "/";
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
17
vendor/pear/text_languagedetect/phpcs.xml
vendored
17
vendor/pear/text_languagedetect/phpcs.xml
vendored
|
@ -4,5 +4,22 @@
|
|||
<!-- we keep the old php4-style variable names for now -->
|
||||
<exclude name="PEAR.NamingConventions.ValidFunctionName.PublicUnderscore"/>
|
||||
<exclude name="PEAR.NamingConventions.ValidVariableName.PublicUnderscore"/>
|
||||
<exclude name="PEAR.NamingConventions.ValidVariableName.PrivateNoUnderscore"/>
|
||||
<exclude name="PEAR.NamingConventions.ValidFunctionName.PrivateNoUnderscore"/>
|
||||
<exclude name="PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps"/>
|
||||
<exclude name="PSR1.Methods.CamelCapsMethodName.NotCamelCaps"/>
|
||||
</rule>
|
||||
<description>PSR2 with tabs instead of spaces.</description>
|
||||
<arg name="tab-width" value="4"/>
|
||||
<rule ref="PSR2">
|
||||
<exclude name="Generic.WhiteSpace.DisallowTabIndent"/>
|
||||
<exclude name="Generic.Commenting.DocComment.MissingShort"/>
|
||||
</rule>
|
||||
<rule ref="Generic.WhiteSpace.DisallowSpaceIndent"/>
|
||||
<rule ref="Generic.WhiteSpace.ScopeIndent">
|
||||
<properties>
|
||||
<property name="indent" value="4"/>
|
||||
<property name="tabIndent" value="true"/>
|
||||
</properties>
|
||||
</rule>
|
||||
</ruleset>
|
||||
|
|
Loading…
Reference in a new issue