]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x
authorBrion Vibber <brion@pobox.com>
Mon, 4 Oct 2010 18:42:16 +0000 (11:42 -0700)
committerBrion Vibber <brion@pobox.com>
Mon, 4 Oct 2010 18:42:16 +0000 (11:42 -0700)
Conflicts:
plugins/AnonymousFave/AnonymousFavePlugin.php

actions/shownotice.php
actions/showstream.php
plugins/AnonymousFave/AnonymousFavePlugin.php
plugins/NoticeTitle/NoticeTitlePlugin.php
plugins/OStatus/scripts/resub-feed.php
plugins/OStatus/scripts/testfeed.php

index 005335e3b4b281831bb2a01dada39c9733392d37..c5180568b3aa5dd5c56c37bd955ea3fb5ac11c40 100644 (file)
@@ -303,7 +303,7 @@ class ShownoticeAction extends OwnerDesignAction
         $avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE);
         $avatarUrl = ($avatar) ?
                      $avatar->displayUrl() :
-                     Avatar::defaultImage($avatar_size);
+                     Avatar::defaultImage(AVATAR_PROFILE_SIZE);
         $this->element('meta', array('property' => 'og:image',
                                      'content' => $avatarUrl));
         $this->element('meta', array('property' => 'og:description',
index 2476f19faba05fe2664ea6229e8fe454aefc7a63..e9f117afc45d7e355bed1941ef2bb3152db80c8b 100644 (file)
@@ -222,7 +222,10 @@ class ShowstreamAction extends ProfileAction
           ? $this->user->getNotices(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1)
             : $this->user->getTaggedNotices($this->tag, ($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1, 0, 0, null);
 
-        $pnl = new ProfileNoticeList($notice, $this);
+        $pnl = null;
+        if (Event::handle('ShowStreamNoticeList', array($notice, $this, &$pnl))) {
+            $pnl = new ProfileNoticeList($notice, $this);
+        }
         $cnt = $pnl->show();
         if (0 == $cnt) {
             $this->showEmptyListMessage();
index 6561114babb02117683861617eaf75c2d7378d97..96edf82e12d26b2d786ad1679c48a3e3be06a017 100644 (file)
@@ -1,11 +1,19 @@
 <?php
-
 /**
  * StatusNet - the distributed open-source microblogging tool
  * Copyright (C) 2010, StatusNet, Inc.
  *
  * A plugin to allow anonymous users to favorite notices
  *
+ * If you want to keep certain users from having anonymous faving for their
+ * notices initialize the plugin with the restricted array, e.g.:
+ *
+ * addPlugin(
+ *     'AnonymousFave',
+ *     array('restricted' => array('spock', 'kirk', 'bones'))
+ * );
+ *
+ *
  * PHP version 5
  *
  * This program is free software: you can redistribute it and/or modify
@@ -48,7 +56,13 @@ define('ANONYMOUS_FAVE_PLUGIN_VERSION', '0.1');
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
  * @link      http://status.net/
  */
-class AnonymousFavePlugin extends Plugin {
+
+class AnonymousFavePlugin extends Plugin
+{
+
+    // Array of users who should not have anon faving. The default is
+    // that anonymous faving is allowed for all users.
+    public $restricted = array();
 
     function onArgsInitialize() {
         // We always want a session because we're tracking anon users
@@ -128,16 +142,16 @@ class AnonymousFavePlugin extends Plugin {
         }
     }
 
-    function onStartInitializeRouter($m) {
-
+    function onStartInitializeRouter($m)
+    {
         $m->connect('main/anonfavor', array('action' => 'AnonFavor'));
         $m->connect('main/anondisfavor', array('action' => 'AnonDisFavor'));
 
         return true;
     }
 
-    function onStartShowNoticeOptions($item) {
-
+    function onStartShowNoticeOptions($item)
+    {
         if (!common_logged_in()) {
             $item->out->elementStart('div', 'notice-options');
             $item->showFaveForm();
@@ -147,9 +161,9 @@ class AnonymousFavePlugin extends Plugin {
         return true;
     }
 
-    function onStartShowFaveForm($item) {
-
-        if (!common_logged_in()) {
+    function onStartShowFaveForm($item)
+    {
+        if (!common_logged_in() && $this->hasAnonFaving($item)) {
 
             $profile = AnonymousFavePlugin::getAnonProfile();
             if (!empty($profile)) {
@@ -188,9 +202,13 @@ class AnonymousFavePlugin extends Plugin {
                     'class' => 'notice-tally'
                 )
             );
-            // TRANS: Tally for number of times a notice was favored.
-            // TRANS: %d is the number of times a notice was favored.
-            $out->raw(sprintf(_m("favored once", "favored %d times", $tally->count), $tally->count));
+            $out->elementStart('span', array('class' => 'fave-tally-title'));
+            // TRANS: Label for tally for number of times a notice was favored.
+            $out->raw(sprintf(_m("Favored")));
+            $out->elementEnd('span');
+            $out->elementStart('span', array('class' => 'fave-tally'));
+            $out->raw($tally->count);
+            $out->elementEnd('span');
             $out->elementEnd('div');
         }
     }
@@ -205,8 +223,8 @@ class AnonymousFavePlugin extends Plugin {
         $tally = Fave_tally::decrement($notice->id);
     }
 
-    static function createAnonProfile() {
-
+    static function createAnonProfile()
+    {
         // Get the anon user's IP, and turn it into a nickname
         list($proxy, $ip) = common_client_ip();
 
@@ -244,7 +262,8 @@ class AnonymousFavePlugin extends Plugin {
         return $profile;
     }
 
-    static function getAnonProfile() {
+    static function getAnonProfile()
+    {
 
         $token = $_SESSION['anon_token'];
         $anon = base64_decode($token);
@@ -265,6 +284,26 @@ class AnonymousFavePlugin extends Plugin {
         return $profile;
     }
 
+    /**
+     * Determine whether a given NoticeListItem should have the
+     * anonymous fave/disfave form
+     *
+     * @param NoticeListItem $item
+     *
+     * @return boolean false if the profile associated with the notice is
+     *                       in the list of restricted profiles, otherwise
+     *                       return true
+     */
+    function hasAnonFaving($item)
+    {
+        $profile = Profile::staticGet('id', $item->notice->profile_id);
+        if (in_array($profile->nickname, $this->restricted)) {
+            return false;
+        }
+
+        return true;
+    }
+
     /**
      * Provide plugin version information.
      *
index 269f0618939b86b21f9df35f6d17a4d7b37deab4..a3b4489f2c6444b766fe2e96d06d6db1b1d01dd4 100644 (file)
@@ -221,7 +221,9 @@ class NoticeTitlePlugin extends Plugin
         $title = Notice_title::fromNotice($nli->notice);
 
         if (!empty($title)) {
-            $nli->out->element('h4', array('class' => 'notice_title'), $title);
+            $nli->out->elementStart('h4', array('class' => 'notice_title'));
+            $nli->out->element('a', array('href' => $nli->notice->bestUrl()), $title);
+            $nli->out->elementEnd('h4');
         }
 
         return true;
index 121d12109a1f1fb380d2085e257f2440180a2633..8803c0118b89ff20d12d27aac6af9b6203dfb8d3 100644 (file)
@@ -38,7 +38,7 @@ if (empty($args[0]) || !Validate::uri($args[0])) {
 $feedurl = $args[0];
 
 
-$sub = FeedSub::staticGet('topic', $feedurl);
+$sub = FeedSub::staticGet('uri', $feedurl);
 if (!$sub) {
     print "Feed $feedurl is not subscribed.\n";
     exit(1);
@@ -57,7 +57,7 @@ if ($ok) {
     print "Could not confirm.\n";
 }
 
-$sub2 = FeedSub::staticGet('topic', $feedurl);
+$sub2 = FeedSub::staticGet('uri', $feedurl);
 
 print "\n";
 print "New state:\n";
index 82a1c65865d849b82834a7dd02d17051a7ca3059..149bcc343ffb13daf8c65fb3e740f37febef96d0 100644 (file)
@@ -45,7 +45,7 @@ $skip = have_option('skip') ? intval(get_option_value('skip')) : 0;
 $count = have_option('count') ? intval(get_option_value('count')) : 0;
 
 
-$sub = FeedSub::staticGet('topic', $feedurl);
+$sub = FeedSub::staticGet('uri', $feedurl);
 if (!$sub) {
     print "Feed $feedurl is not subscribed.\n";
     exit(1);