<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -46,5 +46,5 @@
             &lt;/div&gt;
             &lt;div class=&quot;clear tip_here&quot;&gt;&lt;/div&gt;
             &lt;br /&gt;
-            &lt;a class=&quot;button right&quot; href=&quot;http://chyrp.net/extend/browse/feathers&quot;&gt;${ &quot;Get More Feathers &amp;rsaquo;&quot; | translate }&lt;/a&gt;
+            &lt;a class=&quot;button right&quot; href=&quot;http://chyrp.net/extend/type/feather&quot;&gt;${ &quot;Get More Feathers &amp;rsaquo;&quot; | translate }&lt;/a&gt;
 {% endblock %}</diff>
      <filename>admin/layout/pages/feathers.twig</filename>
    </modified>
    <modified>
      <diff>@@ -68,5 +68,5 @@
             &lt;/div&gt;
             &lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
             &lt;br /&gt;
-            &lt;a class=&quot;button right&quot; href=&quot;http://chyrp.net/extend/browse/modules&quot;&gt;${ &quot;Get More Modules &amp;rsaquo;&quot; | translate }&lt;/a&gt;
+            &lt;a class=&quot;button right&quot; href=&quot;http://chyrp.net/extend/type/module&quot;&gt;${ &quot;Get More Modules &amp;rsaquo;&quot; | translate }&lt;/a&gt;
 {% endblock %}</diff>
      <filename>admin/layout/pages/modules.twig</filename>
    </modified>
    <modified>
      <diff>@@ -23,5 +23,5 @@
             {% endfor %}
             &lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
             &lt;br /&gt;
-            &lt;a class=&quot;button right&quot; href=&quot;http://chyrp.net/extend/browse/themes&quot;&gt;${ &quot;Get More Themes &amp;rsaquo;&quot; | translate }&lt;/a&gt;
+            &lt;a class=&quot;button right&quot; href=&quot;http://chyrp.net/extend/type/theme&quot;&gt;${ &quot;Get More Themes &amp;rsaquo;&quot; | translate }&lt;/a&gt;
 {% endblock %}</diff>
      <filename>admin/layout/pages/themes.twig</filename>
    </modified>
    <modified>
      <diff>@@ -611,9 +611,9 @@
 &lt;?php if (!is_writable(INCLUDES_DIR.&quot;/caches&quot;)): ?&gt;
                 &lt;li&gt;&lt;?php echo __(&quot;CHMOD &lt;code&gt;/includes/caches&lt;/code&gt; to 777.&quot;); ?&gt;&lt;/li&gt;
 &lt;?php endif; ?&gt;
-                &lt;li&gt;&lt;a href=&quot;http://chyrp.net/extend/browse/translations&quot;&gt;&lt;?php echo __(&quot;Look for a translation for your language.&quot;); ?&gt;&lt;/a&gt;&lt;/li&gt;
-                &lt;li&gt;&lt;a href=&quot;http://chyrp.net/extend/browse/modules&quot;&gt;&lt;?php echo __(&quot;Install some Modules.&quot;); ?&gt;&lt;/a&gt;&lt;/li&gt;
-                &lt;li&gt;&lt;a href=&quot;http://chyrp.net/extend/browse/feathers&quot;&gt;&lt;?php echo __(&quot;Find some Feathers you want.&quot;); ?&gt;&lt;/a&gt;&lt;/li&gt;
+                &lt;li&gt;&lt;a href=&quot;http://chyrp.net/extend/type/translation&quot;&gt;&lt;?php echo __(&quot;Look for a translation for your language.&quot;); ?&gt;&lt;/a&gt;&lt;/li&gt;
+                &lt;li&gt;&lt;a href=&quot;http://chyrp.net/extend/type/module&quot;&gt;&lt;?php echo __(&quot;Install some Modules.&quot;); ?&gt;&lt;/a&gt;&lt;/li&gt;
+                &lt;li&gt;&lt;a href=&quot;http://chyrp.net/extend/type/feather&quot;&gt;&lt;?php echo __(&quot;Find some Feathers you want.&quot;); ?&gt;&lt;/a&gt;&lt;/li&gt;
                 &lt;li&gt;&lt;a href=&quot;README.markdown&quot;&gt;&lt;?php echo __(&quot;Read &amp;#8220;Getting Started&amp;#8221;&quot;); ?&gt;&lt;/a&gt;&lt;/li&gt;
             &lt;/ol&gt;
             &lt;a class=&quot;big&quot; href=&quot;&lt;?php echo $config-&gt;chyrp_url; ?&gt;&quot;&gt;&lt;?php echo __(&quot;Take me to my site! &amp;rarr;&quot;); ?&gt;&lt;/a&gt;</diff>
      <filename>install.php</filename>
    </modified>
    <modified>
      <diff>@@ -146,6 +146,9 @@
         }
 
         public function admin_manage_tags($admin) {
+            if (!Post::any_editable())
+                show_403(__(&quot;Access Denied&quot;), __(&quot;You do not have sufficient privileges to manage tags.&quot;, &quot;tags&quot;));
+
             $sql = SQL::current();
 
             $tags = array();
@@ -180,10 +183,7 @@
                                      &quot;name&quot; =&gt; $tag,
                                      &quot;title&quot; =&gt; sprintf(_p(&quot;%s post tagged with &amp;quot;%s&amp;quot;&quot;, &quot;%s posts tagged with &amp;quot;%s&amp;quot;&quot;, $count, &quot;tags&quot;), $count, $tag),
                                      &quot;clean&quot; =&gt; $tags[$tag],
-                                     &quot;url&quot; =&gt; url(&quot;tag/&quot;.$tags[$tag]));
-
-                if (!Post::any_editable() and !Post::any_deletable())
-                    return $admin-&gt;display(&quot;manage_tags&quot;, array(&quot;tag_cloud&quot; =&gt; $cloud));
+                                     &quot;url&quot; =&gt; url(&quot;tag/&quot;.$tags[$tag], MainController::current()));
             }
 
             fallback($_GET['query'], &quot;&quot;);
@@ -214,6 +214,9 @@
         }
 
         public function admin_rename_tag($admin) {
+            if (!Visitor::current()-&gt;group-&gt;can(&quot;edit_post&quot;))
+                show_403(__(&quot;Access Denied&quot;), __(&quot;You do not have sufficient privileges to edit tags.&quot;, &quot;tags&quot;));
+
             $sql = SQL::current();
 
             $tags = array();
@@ -243,9 +246,13 @@
         }
 
         public function admin_edit_tags($admin) {
-            if (!isset($_GET['id']))
+            if (empty($_GET['id']))
                 error(__(&quot;No ID Specified&quot;), __(&quot;Please specify the ID of the post whose tags you would like to edit.&quot;, &quot;tags&quot;));
 
+            $post = new Post($_GET['id']);
+            if (!$post-&gt;editable())
+                show_403(__(&quot;Access Denied&quot;), __(&quot;You do not have sufficient privileges to edit this post.&quot;));
+
             $admin-&gt;display(&quot;edit_tags&quot;, array(&quot;post&quot; =&gt; new Post($_GET['id'])));
         }
 
@@ -256,7 +263,11 @@
             if (!isset($_POST['id']))
                 error(__(&quot;No ID Specified&quot;), __(&quot;Please specify the ID of the post whose tags you would like to edit.&quot;, &quot;tags&quot;));
 
-            $this-&gt;update_post(new Post($_POST['id']));
+            $post = new Post($_POST['id']);
+            if (!$post-&gt;editable())
+                show_403(__(&quot;Access Denied&quot;), __(&quot;You do not have sufficient privileges to edit this post.&quot;));
+
+            $this-&gt;update_post($post);
 
             Flash::notice(__(&quot;Tags updated.&quot;, &quot;tags&quot;), &quot;/admin/?action=manage_tags&quot;);
         }
@@ -265,6 +276,10 @@
             if (!isset($_POST['hash']) or $_POST['hash'] != Config::current()-&gt;secure_hashkey)
                 show_403(__(&quot;Access Denied&quot;), __(&quot;Invalid security key.&quot;));
 
+            if (!Visitor::current()-&gt;group-&gt;can(&quot;edit_post&quot;))
+                show_403(__(&quot;Access Denied&quot;), __(&quot;You do not have sufficient privileges to edit tags.&quot;, &quot;tags&quot;));
+
+
             $sql = SQL::current();
 
             $tags = array();
@@ -435,7 +450,7 @@
                                        &quot;name&quot; =&gt; $tag,
                                        &quot;title&quot; =&gt; sprintf(_p(&quot;%s post tagged with &amp;quot;%s&amp;quot;&quot;, &quot;%s posts tagged with &amp;quot;%s&amp;quot;&quot;, $count, &quot;tags&quot;), $count, $tag),
                                        &quot;clean&quot; =&gt; $tags[$tag],
-                                       &quot;url&quot; =&gt; url(&quot;tag/&quot;.$tags[$tag]));
+                                       &quot;url&quot; =&gt; url(&quot;tag/&quot;.$tags[$tag], $main));
 
                 $main-&gt;display(&quot;pages/tags&quot;, array(&quot;tag_cloud&quot; =&gt; $context), __(&quot;Tags&quot;, &quot;tags&quot;));
             }
@@ -513,7 +528,7 @@
 
             $linked = array();
             foreach ($tags as $tag =&gt; $clean)
-                $linked[] = '&lt;a href=&quot;'.url(&quot;tag/&quot;.urlencode($clean)).'&quot; rel=&quot;tag&quot;&gt;'.$tag.'&lt;/a&gt;';
+                $linked[] = '&lt;a href=&quot;'.url(&quot;tag/&quot;.urlencode($clean), MainController::current()).'&quot; rel=&quot;tag&quot;&gt;'.$tag.'&lt;/a&gt;';
 
             return $linked;
         }
@@ -703,7 +718,7 @@
                                 &quot;value&quot; =&gt; YAML::dump($tags),
                                 &quot;post_id&quot; =&gt; $post-&gt;id));
 
-            exit(&quot;{ url: \&quot;&quot;.url(&quot;/tag/&quot;.$tags[$tag]).&quot;\&quot;, tag: \&quot;&quot;.$_POST['name'].&quot;\&quot; }&quot;);
+            exit(&quot;{ url: \&quot;&quot;.url(&quot;tag/&quot;.$tags[$tag], MainController::current()).&quot;\&quot;, tag: \&quot;&quot;.$_POST['name'].&quot;\&quot; }&quot;);
         }
 
         function feed_item($post) {</diff>
      <filename>modules/tags/tags.php</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>5d6b5b0887e120c72583dfcbefba51dfd8199479</id>
    </parent>
  </parents>
  <author>
    <name>Alex Suraci</name>
    <email>i.am@toogeneric.com</email>
  </author>
  <url>http://github.com/vito/chyrp/commit/2d89fddca0184fcf5e05466edc7f7eb11ca4a294</url>
  <id>2d89fddca0184fcf5e05466edc7f7eb11ca4a294</id>
  <committed-date>2009-07-06T10:18:45-07:00</committed-date>
  <authored-date>2009-07-06T10:18:45-07:00</authored-date>
  <message>* Fixed Tagginator providing invalid dirty URLs.
* Fixed broken rename_tag often resulting in editing an &quot;empty&quot; tag.
* Fixed invalid tag URLs from /admin.
* Fixed links to the Extend areas in the installer and Extend admin
  pages.</message>
  <tree>e2ec35230377ee48061795fb12d49bd8bf7b8a02</tree>
  <committer>
    <name>Alex Suraci</name>
    <email>i.am@toogeneric.com</email>
  </committer>
</commit>
