X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FContent%2FWidget.php;h=032b9e7534d3f8a3e05a12ab1c1b067697a5b463;hb=1b90686fcd6ce2a58c8d606c34a2dc0e430eda7d;hp=f4a9fbe1f1b33eddf02422c16b8270e2c367fd80;hpb=4f98da88c4064076115fb12c785fc50478b3219b;p=friendica.git diff --git a/src/Content/Widget.php b/src/Content/Widget.php index f4a9fbe1f1..032b9e7534 100644 --- a/src/Content/Widget.php +++ b/src/Content/Widget.php @@ -22,14 +22,15 @@ namespace Friendica\Content; use Friendica\Core\Addon; +use Friendica\Core\Cache\Duration; use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Contact; -use Friendica\Model\FileTag; use Friendica\Model\Group; use Friendica\Model\Item; +use Friendica\Model\Post; use Friendica\Util\DateTimeFormat; use Friendica\Util\Temporal; @@ -266,7 +267,7 @@ class Widget $extra_sql = self::unavailableNetworks(); - $r = DBA::p("SELECT DISTINCT(`network`) FROM `contact` WHERE `uid` = ? AND NOT `deleted` AND `network` != '' $extra_sql ORDER BY `network`", + $r = DBA::p("SELECT `network` FROM `contact` WHERE `uid` = ? AND NOT `deleted` AND `network` != '' $extra_sql GROUP BY `network` ORDER BY `network`", local_user() ); @@ -305,19 +306,10 @@ class Widget return ''; } - $saved = DI::pConfig()->get(local_user(), 'system', 'filetags'); - if (!strlen($saved)) { - return; - } - $terms = []; - foreach (FileTag::fileToArray($saved) as $savedFolderName) { + foreach (Post\Category::getArray(local_user(), Post\Category::FILE) as $savedFolderName) { $terms[] = ['ref' => $savedFolderName, 'name' => $savedFolderName]; } - - usort($terms, function ($a, $b) { - return strcmp($a['name'], $b['name']); - }); return self::filter( 'file', @@ -348,13 +340,8 @@ class Widget return ''; } - $saved = DI::pConfig()->get($uid, 'system', 'filetags'); - if (!strlen($saved)) { - return; - } - $terms = array(); - foreach (FileTag::fileToArray($saved, 'category') as $savedFolderName) { + foreach (Post\Category::getArray(local_user(), Post\Category::CATEGORY) as $savedFolderName) { $terms[] = ['ref' => $savedFolderName, 'name' => $savedFolderName]; } @@ -409,7 +396,7 @@ class Widget $entries = []; foreach ($commonContacts as $contact) { $entries[] = [ - 'url' => Contact::magicLink($contact['url']), + 'url' => Contact::magicLinkByContact($contact), 'name' => $contact['name'], 'photo' => Contact::getThumb($contact), ]; @@ -474,7 +461,13 @@ class Widget $ret = []; - $dthen = Item::firstPostDate($uid, $wall); + $cachekey = 'Widget::postedByYear' . $uid . '-' . (int)$wall; + $dthen = DI::cache()->get($cachekey); + if (!empty($dthen)) { + $dthen = Item::firstPostDate($uid, $wall); + DI::cache()->set($cachekey, $dthen, Duration::HOUR); + } + if ($dthen) { // Set the start and end date to the beginning of the month $dnow = substr($dnow, 0, 8) . '01';