http://www.mediawiki.org/wiki/Special:Code/MediaWiki/94315

Revision: 94315
Author:   yuvipanda
Date:     2011-08-12 01:35:14 +0000 (Fri, 12 Aug 2011)
Log Message:
-----------
Delete an article from a selection works

Modified Paths:
--------------
    trunk/extensions/GPoC/SpecialSelection.php
    trunk/extensions/GPoC/models/Selection.php
    trunk/extensions/GPoC/templates/SelectionTemplate.php

Modified: trunk/extensions/GPoC/SpecialSelection.php
===================================================================
--- trunk/extensions/GPoC/SpecialSelection.php  2011-08-12 00:46:51 UTC (rev 
94314)
+++ trunk/extensions/GPoC/SpecialSelection.php  2011-08-12 01:35:14 UTC (rev 
94315)
@@ -46,14 +46,22 @@
                        $wgOut->disable();
                        $namespace = $wgRequest->getVal( 'namespace' );
                        $article = $wgRequest->getVal( 'article' );
-                       $revision = $wgRequest->getVal( 'revision' );
 
-                       $success = Selection::setRevision( $name, $namespace, 
$article, $revision );
+                       $action = $wgRequest->getVal( 'action' );
+                       if( $action == 'setrevision' ) {                        
+                               $revision = $wgRequest->getVal( 'revision' );
+                               $success = Selection::setRevision( $name, 
$namespace, $article, $revision );
 
-                       $return = array(
-                               'status' => $success,
-                               'revision' => $revision
-                       );
+                               $return = array(
+                                       'status' => $success,
+                                       'revision' => $revision
+                               );
+                       } else if ( $action == 'deletearticle') { 
+                               $success = Selection::deleteArticle( $name, 
$namespace, $article );
+                               $return = array(
+                                       'status' => $success
+                               );
+                       }
                        echo json_encode($return);
                        return;
                }

Modified: trunk/extensions/GPoC/models/Selection.php
===================================================================
--- trunk/extensions/GPoC/models/Selection.php  2011-08-12 00:46:51 UTC (rev 
94314)
+++ trunk/extensions/GPoC/models/Selection.php  2011-08-12 01:35:14 UTC (rev 
94315)
@@ -39,6 +39,19 @@
                return $success;
        }
 
+       public static function deleteArticle( $name, $namespace, $article ) {
+               $dbw = wfGetDB( DB_MASTER );
+               $success = $dbw->delete(
+                       'selections',
+                       array(
+                               's_selection_name' => $name,
+                               's_namespace' => $namespace,
+                               's_article' => $article
+                       ),
+                       __METHOD__
+               );
+               return $success;
+       }
        public static function getSelection( $name ) {
                $dbr = wfGetDB( DB_SLAVE );
 

Modified: trunk/extensions/GPoC/templates/SelectionTemplate.php
===================================================================
--- trunk/extensions/GPoC/templates/SelectionTemplate.php       2011-08-12 
00:46:51 UTC (rev 94314)
+++ trunk/extensions/GPoC/templates/SelectionTemplate.php       2011-08-12 
01:35:14 UTC (rev 94315)
@@ -63,6 +63,7 @@
                                var revid = input.val();
 
                                $.post('', {
+                                       action: 'setrevision',
                                        namespace: ns,
                                        article: article,
                                        revision: revid
@@ -72,6 +73,21 @@
 
                                return false;
                        });
+                       $(".delete-article").click(function() {
+                               var parent = 
$(this).parents("div.item-actions");
+                               var ns = parent.attr("data-namespace"),
+                                       article = parent.attr("data-article");
+
+                               $.post('', {
+                                       action: 'deletearticle',
+                                       namespace: ns,
+                                       article: article
+                               }, function() {
+                               });
+
+                               return false;
+                       });
+
                        $(".revision-cancel").click(function() {
                                var parent = 
$(this).parents("div.item-actions");
                                var input_box = 
parent.children(".revision-input");


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to