]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Merge branch '0.7.x' into 0.8.x
authorSarven Capadisli <csarven@controlyourself.ca>
Fri, 3 Apr 2009 21:47:39 +0000 (21:47 +0000)
committerSarven Capadisli <csarven@controlyourself.ca>
Fri, 3 Apr 2009 21:47:39 +0000 (21:47 +0000)
actions/favorited.php
actions/foaf.php
actions/public.php
actions/publictagcloud.php
actions/remotesubscribe.php
actions/sup.php
db/notice_source.sql
lib/router.php
lib/util.php

index 231b97897377b9026b6104fb904bd5f211830d08..20a354674f4185cee36c7d18e7198691e914c442 100644 (file)
@@ -143,6 +143,25 @@ class FavoritedAction extends Action
         $this->elementStart('div', 'instructions');
         $this->raw($output);
         $this->elementEnd('div');
+
+        $favorite = new Fave;
+
+        if ($favorite->count()) {
+            return;
+        }
+
+        $message = _('Favorite notices appear on this page but noone has favorited one yet.') . ' ';
+
+        if (common_logged_in()) {
+            $message .= _('Be the first to add a notice to your favorites by clicking the fave button next to any notice you like.');
+        }
+        else {
+            $message .= _('Why not [register an account](%%action.register%%) and be the first to add a notice to your favorites!');
+        }
+
+        $this->elementStart('div', 'blankfiller');
+        $this->raw(common_markup_to_html($message));
+        $this->elementEnd('div');
     }
 
     /**
index 3a99835b4aaef16a9a86c827886635ec09e47a0c..416935b1b724316daefc046172b9f567bedc6754 100644 (file)
@@ -33,7 +33,24 @@ class FoafAction extends Action
     function prepare($args)
     {
         parent::prepare($args);
-        $this->nickname = $this->trimmed('nickname');
+
+        $nickname_arg = $this->arg('nickname');
+
+        if (empty($nickname_arg)) {
+            $this->clientError(_('No such user.'), 404);
+            return false;
+        }
+
+        $this->nickname = common_canonical_nickname($nickname_arg);
+
+        // Permanent redirect on non-canonical nickname
+
+        if ($nickname_arg != $this->nickname) {
+            common_redirect(common_local_url('foaf',
+                                             array('nickname' => $this->nickname)),
+                            301);
+            return false;
+        }
 
         $this->user = User::staticGet('nickname', $this->nickname);
 
@@ -122,20 +139,30 @@ class FoafAction extends Action
 
         if ($sub->find()) {
             while ($sub->fetch()) {
-                if ($sub->token) {
+                if (!empty($sub->token)) {
                     $other = Remote_profile::staticGet('id', $sub->subscribed);
                 } else {
                     $other = User::staticGet('id', $sub->subscribed);
                 }
-                if (!$other) {
+                if (empty($other)) {
                     common_debug('Got a bad subscription: '.print_r($sub,true));
                     continue;
                 }
                 $this->element('knows', array('rdf:resource' => $other->uri));
-                $person[$other->uri] = array(LISTENEE, $other);
+                $person[$other->uri] = array(LISTENEE,
+                                             $other->id,
+                                             $other->nickname,
+                                             (empty($sub->token)) ? 'User' : 'Remote_profile');
+                $other->free();
+                $other = null;
+                unset($other);
             }
         }
 
+        $sub->free();
+        $sub = null;
+        unset($sub);
+
         // Get people who subscribe to user
 
         $sub = new Subscription();
@@ -156,25 +183,36 @@ class FoafAction extends Action
                 if (array_key_exists($other->uri, $person)) {
                     $person[$other->uri][0] = BOTH;
                 } else {
-                    $person[$other->uri] = array(LISTENER, $other);
+                    $person[$other->uri] = array(LISTENER,
+                                                 $other->id,
+                                                 $other->nickname,
+                                                 (empty($sub->token)) ? 'User' : 'Remote_profile');
                 }
+                $other->free();
+                $other = null;
+                unset($other);
             }
         }
 
+        $sub->free();
+        $sub = null;
+        unset($sub);
+
         $this->elementEnd('Person');
 
         foreach ($person as $uri => $p) {
             $foaf_url = null;
-            if ($p[1] instanceof User) {
-                $foaf_url = common_local_url('foaf', array('nickname' => $p[1]->nickname));
+            list($type, $id, $nickname, $cls) = $p;
+            if ($cls == 'User') {
+                $foaf_url = common_local_url('foaf', array('nickname' => $nickname));
             }
-            $this->profile = Profile::staticGet($p[1]->id);
+            $profile = Profile::staticGet($id);
             $this->elementStart('Person', array('rdf:about' => $uri));
-            if ($p[0] == LISTENER || $p[0] == BOTH) {
+            if ($type == LISTENER || $type == BOTH) {
                 $this->element('knows', array('rdf:resource' => $this->user->uri));
             }
-            $this->showMicrobloggingAccount($this->profile, ($p[1] instanceof User) ?
-                                              common_root_url() : null);
+            $this->showMicrobloggingAccount($profile, ($cls == 'User') ?
+                                            common_root_url() : null);
             if ($foaf_url) {
                 $this->element('rdfs:seeAlso', array('rdf:resource' => $foaf_url));
             }
@@ -182,6 +220,9 @@ class FoafAction extends Action
             if ($foaf_url) {
                 $this->showPpd($foaf_url, $uri);
             }
+            $profile->free();
+            $profile = null;
+            unset($profile);
         }
 
         $this->elementEnd('rdf:RDF');
index 96c766a57d946f9ecb2af9acaf19e5e245884b5a..5a2720a9ad919cdbb8442e3832c1c470908d5be2 100644 (file)
@@ -168,14 +168,13 @@ class PublicAction extends Action
 
     function showPageNotice()
     {
-        $notice = Notice::publicStream(0, 1);
+        $notice = new Notice;
 
         if (!$notice) {
             $this->serverError(_('Could not retrieve public stream.'));
             return;
         }
 
-        // no notices in the public stream, let's get out of here
         if ($notice->count()) {
             return;
         }
@@ -184,25 +183,9 @@ class PublicAction extends Action
 
         if (common_logged_in()) {
             $message .= _('Be the first to post!');
-/*
-                sprintf(_('You are logged in... %%%%site.name%%%% groups let you find and talk with ' .
-                    'people of similar interests. After you join a group ' .
-                    'you can send messages to all other members using the ' .
-                    'syntax "!groupname". Don\'t see a group you like? Try ' .
-                    '[searching for one](%%%%action.groupsearch%%%%) or ' .
-                    '[start your own!](%%%%action.newgroup%%%%)'));
-*/
         }
         else {
             $message .= _('Why not [register an account](%%action.register%%) and be the first to post!');
-/*
-                sprintf(_('You are not logged in... %%%%site.name%%%% groups let you find and talk with ' .
-                    'people of similar interests. After you join a group ' .
-                    'you can send messages to all other members using the ' .
-                    'syntax "!groupname". Don\'t see a group you like? Try ' .
-                    '[searching for one](%%%%action.groupsearch%%%%) or ' .
-                    '[start your own!](%%%%action.newgroup%%%%)'));
-*/
         }
 
         $this->elementStart('div', 'blankfiller');
index 6f5fc7541392ba2c72ff474cadabf39fd1a6dbb9..5bc7e0cbffcf7a56a544e8cb8607aec864b53ef5 100644 (file)
@@ -62,6 +62,24 @@ class PublictagcloudAction extends Action
         $this->element('p', 'instructions',
                        sprintf(_('These are most popular recent tags on %s '),
                                common_config('site', 'name')));
+
+        $tags = new Notice_tag;
+        if ($tags->count()) {
+            return;
+        }
+
+        $message = _('Noone has posted a notice with a [hashtag](%%doc.tags%%) yet.') . ' ';
+
+        if (common_logged_in()) {
+            $message .= _('Be the first to post one!');
+        }
+        else {
+            $message .= _('Why not [register an account](%%action.register%%) and be the first to post one!');
+        }
+
+        $this->elementStart('div', 'blankfiller');
+        $this->raw(common_markup_to_html($message));
+        $this->elementEnd('div');
     }
 
     function showLocalNav()
index 2e721a38b01f7c3d70f0c2270bed534db17480e5..0b117489621d7307776b5266177e21e7b35be788 100644 (file)
@@ -97,7 +97,7 @@ class RemotesubscribeAction extends Action
                                           'class' => 'form_settings',
                                           'action' => common_local_url('remotesubscribe')));
         $this->elementStart('fieldset');
-        $this->element('legend', 'Subscribe to a remote user');
+        $this->element('legend', _('Subscribe to a remote user'));
         $this->hidden('token', common_session_token());
 
         $this->elementStart('ul', 'form_data');
index 8ef9207facce41d02ac44d00ce771ec38df39720..246b3299d32e975db9faa02648a3b18cade8335e 100644 (file)
@@ -45,7 +45,7 @@ class SupAction extends Action
     function availablePeriods()
     {
         static $periods = array(86400, 43200, 21600, 7200,
-                                3600, 1800,    600, 300, 120,
+                                3600, 1800, 600, 300, 120,
                                 60, 30, 15);
         $available = array();
         foreach ($periods as $period) {
index d28a09383f391733d3c649afcae610c135a9feb2..5d48e66b62c987fea013d8a981aa4d442512f07b 100644 (file)
@@ -45,4 +45,5 @@ VALUES
     ('twitux','Twitux','http://live.gnome.org/DanielMorales/Twitux', now()),
     ('twitvim','TwitVim','http://vim.sourceforge.net/scripts/script.php?script_id=2204', now()),
     ('urfastr','urfastr','http://urfastr.net/', now()),
-    ('adium', 'Adium', 'http://www.adiumx.com/', now());
+    ('adium', 'Adium', 'http://www.adiumx.com/', now()),
+    ('yatca','Yatca','http://www.yatca.com/', now());
index 67b8b8ae6e9515324fda9ac39017cb13f43a55c8..060253eb54dd3fc943ec5c666c2a305eb69257c5 100644 (file)
@@ -107,6 +107,9 @@ class Router
             $m->connect('main/'.$a, array('action' => $a));
         }
 
+        $m->connect('main/sup/:seconds', array('action' => 'sup'),
+                    array('seconds' => '[0-9]+'));
+
         $m->connect('main/tagother/:id', array('action' => 'tagother'));
 
         // these take a code
index f08e707549b2746b7c12b19a1ff5e56b01da411e..b17a44bd8538255fd348ed17433e24268ecd4bac 100644 (file)
@@ -581,10 +581,8 @@ function common_shorten_link($url, $reverse = false)
 
 function common_xml_safe_str($str)
 {
-    $xmlStr = htmlentities(iconv('UTF-8', 'UTF-8//IGNORE', $str), ENT_NOQUOTES, 'UTF-8');
-
-    // Replace control, formatting, and surrogate characters with '*', ala Twitter
-    return preg_replace('/[\p{Cc}\p{Cf}\p{Cs}]/u', '*', $str);
+    // Neutralize control codes and surrogates
+       return preg_replace('/[\p{Cc}\p{Cs}]/u', '*', $str);
 }
 
 function common_tag_link($tag)
@@ -723,7 +721,7 @@ function common_local_url($action, $args=null, $params=null, $fragment=null)
 {
     static $sensitive = array('login', 'register', 'passwordsettings',
                               'twittersettings', 'finishopenidlogin',
-                              'api');
+                              'finishaddopenid', 'api');
 
     $r = Router::get();
     $path = $r->build($action, $args, $params, $fragment);