]> git.mxchange.org Git - friendica.git/blobdiff - view/theme/frio/theme.php
Merge pull request #3458 from Hypolite/bug/missing-require-poco
[friendica.git] / view / theme / frio / theme.php
index 4a320e1f87a5f43d63b5a8aebd555b7aa1aaa46e..e0c382661a1be3b1099f626d9a9ffea4230537b8 100644 (file)
@@ -4,21 +4,20 @@
  * Description: Bootstrap V3 theme. The theme is currently under construction, so it is far from finished. For further information have a look at the <a href="https://github.com/friendica/friendica/tree/develop/view/theme/frio/README.md">ReadMe</a>.
  * Version: V.0.7
  * Author: Rabuzarus <https://friendica.kommune4.de/profile/rabuzarus>
- * 
+ *
  */
 
+use Friendica\App;
+
 $frio = "view/theme/frio";
 
 global $frio;
 
-function frio_init(&$a) {
+function frio_init(App $a) {
 
        // disable the events module link in the profile tab
        $a->theme_events_in_profile = false;
 
-       // Disallow the richtext editor
-       $a->theme_richtext_editor = false;
-
        set_template_engine($a, 'smarty3');
 
        $baseurl = App::get_baseurl();
@@ -63,18 +62,18 @@ function frio_uninstall() {
        logger("uninstalled theme frio");
 }
 /**
- * @brief Replace friendica photo links
- * 
+ * @brief Replace friendica photo links hook
+ *
  *  This function does replace the links to photos
  *  of other friendica users. Original the photos are
  *  linked to the photo page. Now they will linked directly
  *  to the photo file. This function is nessesary to use colorbox
  *  in the network stream
- * 
- * @param App $a
+ *
+ * @param App $a Unused but required by hook definition
  * @param array $body_info The item and its html output
  */
-function frio_item_photo_links(&$a, &$body_info) {
+function frio_item_photo_links(App $a, &$body_info) {
        require_once('include/Photo.php');
 
        $phototypes = Photo::supportedTypes();
@@ -104,16 +103,16 @@ function frio_item_photo_links(&$a, &$body_info) {
 }
 
 /**
- * @brief Replace links of the item_photo_menu
- * 
+ * @brief Replace links of the item_photo_menu hook
+ *
  *  This function replaces the original poke and the message links
  *  to call the addToModal javascript function so this pages can
  *  be loaded in a bootstrap modal
- * 
- * @param app $a The app data
+ *
+ * @param App $a Unused but required by the hook definition
  * @param array $arr Contains item data and the original photo_menu
  */
-function frio_item_photo_menu($a, &$arr){
+function frio_item_photo_menu(App $a, &$arr) {
 
        foreach($arr["menu"] as $k =>$v) {
                if(strpos($v,'poke/?f=&c=') === 0 || strpos($v,'message/new/') === 0) {
@@ -126,17 +125,17 @@ function frio_item_photo_menu($a, &$arr){
 
 /**
  * @brief Replace links of the contact_photo_menu
- * 
+ *
  *  This function replaces the original poke and the message links
  *  to call the addToModal javascript function so this pages can
  *  be loaded in a bootstrap modal
  *  Additionally the profile, status and photo page links  will be changed
  *  to don't open in a new tab if the contact is a friendica contact.
- * 
- * @param app $a The app data
+ *
+ * @param App $a The app data
  * @param array $args Contains contact data and the original photo_menu
  */
-function frio_contact_photo_menu($a, &$args){
+function frio_contact_photo_menu(App $a, &$args){
 
        $pokelink = "";
        $pmlink = "";
@@ -152,7 +151,7 @@ function frio_contact_photo_menu($a, &$args){
        // friendicas "magic-link" which indicates a friendica user on froreign
        // friendica servers as remote user or visitor
        //
-       // The value for opening in a new tab is e.g. when 
+       // The value for opening in a new tab is e.g. when
        // $args["menu"]["status"][2] is true. If the value of the [2] key is true
        // and if it's a friendica contact we set it to false
        foreach($args["menu"] as $k =>$v) {
@@ -176,16 +175,16 @@ function frio_contact_photo_menu($a, &$args){
 
 /**
  * @brief Construct remote nav menu
- * 
+ *
  *  It creates a remote baseurl form $_SESSION for remote users and friendica
- *  visitors. This url will be added to some of the nav links. With this behaviour 
+ *  visitors. This url will be added to some of the nav links. With this behaviour
  *  the user will come back to her/his own pages on his/her friendica server.
  *  Not all possible links are available (notifications, administrator, manage,
  *  notes aren't available because we have no way the check remote permissions)..
  *  Some links will point to the local pages because the user would expect
  *  local page (these pages are: search, community, help, apps, directory).
- * 
- * @param app $a The App class
+ *
+ * @param App $a The App class
  * @param array $nav The original nav menu
  */
 function frio_remote_nav($a,&$nav) {
@@ -196,11 +195,11 @@ function frio_remote_nav($a,&$nav) {
 
        // split up the url in it's parts (protocol,domain/directory, /profile/, nickname
        // I'm not familiar with regex, so someone might find a better solutionen
-       // 
+       //
        // E.g $homelink = 'https://friendica.domain.com/profile/mickey' should result in an array
        // with 0 => 'https://friendica.domain.com/profile/mickey' 1 => 'https://',
        // 2 => 'friendica.domain.com' 3 => '/profile/' 4 => 'mickey'
-       // 
+       //
        //$server_url = preg_match('/^(https?:\/\/.*?)\/profile\//2', $homelink);
        preg_match('/^(https?:\/\/)?(.*?)(\/profile\/)(.*)/', $homelink, $url_parts);
 
@@ -219,8 +218,8 @@ function frio_remote_nav($a,&$nav) {
                // empty the server url for local user because we won't need it
                $server_url = '';
                // user info
-               $r = q("SELECT `micro` FROM `contact` WHERE `uid` = %d AND `self` = 1", intval($a->user['uid']));
-               
+               $r = q("SELECT `micro` FROM `contact` WHERE `uid` = %d AND `self`", intval($a->user['uid']));
+
                $r[0]['photo'] = (dbm::is_result($r) ? $a->remove_baseurl($r[0]['micro']) : "images/person-48.jpg");
                $r[0]['name'] = $a->user['username'];
 
@@ -243,7 +242,7 @@ function frio_remote_nav($a,&$nav) {
                }
 
        if(!local_user() && !empty($server_url)) {
-               $nav['logout'] = Array($server_url . '/logout',t('Logout'), "", t('End this session'));
+               $nav['logout'] = Array($server_url . '/logout', t('Logout'), "", t('End this session'));
 
                // user menu
                $nav['usermenu'][] = Array($server_url . '/profile/' . $a->user['nickname'], t('Status'), "", t('Your posts and conversations'));
@@ -263,18 +262,18 @@ function frio_remote_nav($a,&$nav) {
 }
 /**
  * @brief: Search for contacts
- * 
+ *
  * This function search for a users contacts. The code is copied from contact search
  * in /mod/contacts.php. With this function the contacts will permitted to acl_lookup()
- * and can grabbed as json. For this we use the type="r". This is usful to to let js 
+ * and can grabbed as json. For this we use the type="r". This is usful to to let js
  * grab the contact data.
  * We use this to give the data to textcomplete and have a filter function at the
  * contact page.
- * 
+ *
  * @param App $a The app data @TODO Unused
  * @param array $results The array with the originals from acl_lookup()
  */
-function frio_acl_lookup($a, &$results) {
+function frio_acl_lookup(App $a, &$results) {
        require_once("mod/contacts.php");
 
        $nets = ((x($_GET,"nets")) ? notags(trim($_GET["nets"])) : "");
@@ -298,7 +297,7 @@ function frio_acl_lookup($a, &$results) {
 
 
                $r = q("SELECT COUNT(*) AS `total` FROM `contact`
-                       WHERE `uid` = %d AND `self` = 0 AND `pending` = 0 $sql_extra $sql_extra2 ",
+                       WHERE `uid` = %d AND NOT `self` AND NOT `pending` $sql_extra $sql_extra2 ",
                        intval($_SESSION['uid']));
                if (dbm::is_result($r)) {
                        $total = $r[0]["total"];
@@ -306,7 +305,7 @@ function frio_acl_lookup($a, &$results) {
 
                $sql_extra3 = unavailable_networks();
 
-               $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `pending` = 0 $sql_extra $sql_extra2 $sql_extra3 ORDER BY `name` ASC LIMIT 100 ",
+               $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND NOT `self` AND NOT `pending` $sql_extra $sql_extra2 $sql_extra3 ORDER BY `name` ASC LIMIT 100 ",
                        intval($_SESSION['uid'])
                );