Dotclear

Changeset 2986:1e5a2d6a0074


Ignore:
Timestamp:
03/31/15 20:42:36 (10 years ago)
Author:
Nicolas <nikrou77@…>
Branch:
default
Message:

Fix #1647
Allow user to add the same word for severals blogs not necessary global.
Add behat tests for that feature.

Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • features/bootstrap/DbContext.php

    r2984 r2986  
    4646    } 
    4747 
     48    /** 
     49     * @Given /^a blog:$/ 
     50     */ 
     51    public function aBlog(TableNode $table) { 
     52        foreach ($table->getHash() as $blog) { 
     53            $this->last_id = self::addBlog($blog); 
     54        } 
     55    } 
     56 
    4857    /* 
    4958    /* ORM methods 
     
    8594        } 
    8695        self::executeSqlFile($parameters['sql_cleanup_file'], $replace_user_id); 
    87    } 
     96    } 
    8897 
    8998    private function addUser(array $params) { 
     
    100109            $user->user_super = 1; 
    101110            $user->insert(); 
     111        } 
     112    } 
     113 
     114    private function addBlog(array $params) { 
     115        self::getConnection($this->parameters); 
     116        if (empty($params['blog_id']) || empty($params['blog_name']) || empty($params['blog_url'])) { 
     117            throw new Exception('blog_id, blog_name and blog_url for blog are mandatory'."\n"); 
     118        } 
     119 
     120        $strReq = 'SELECT count(1) FROM '.self::$prefix.'blog'; 
     121        $strReq .= ' WHERE blog_id = \''.self::$con->escape($params['blog_id']).'\''; 
     122        if ((int) self::$con->select($strReq)->f(0)==0) { 
     123            $blog = self::$con->openCursor(self::$prefix . 'blog'); 
     124            $blog->blog_id = $params['blog_id']; 
     125            $blog->blog_name = $params['blog_name']; 
     126            $blog->blog_url = $params['blog_url']; 
     127            $blog->blog_creadt = date('Y-m-d H:i:s'); 
     128            $blog->blog_upddt = date('Y-m-d H:i:s'); 
     129            $blog->blog_uid = md5(uniqid()); 
     130            $blog->insert(); 
    102131        } 
    103132    } 
  • features/bootstrap/FeatureContext.php

    r2985 r2986  
    6262        $this->getMink()->assertSession()->cookieExists($session_name); 
    6363    } 
     64 
     65    /** 
     66     * @When /^I switch to blog "([^"]*)"$/ 
     67     */ 
     68    public function iSwitchToBlog($blog_name) { 
     69        $this->selectOption('switchblog', $blog_name); 
     70        $this->pressButton('ok'); 
     71    } 
    6472} 
  • features/sql/db_cleanup.sql

    r2984 r2986  
    11DELETE FROM dc_user WHERE user_id != '__USER_ID__'; 
     2DELETE FROM dc_spamrule; 
     3DELETE FROM dc_blog WHERE blog_id!='default'; 
  • plugins/antispam/filters/class.dc.filter.words.php

    r2566 r2986  
    113113 
    114114          if ($core->auth->isSuperAdmin()) { 
    115                $res .= '<label class="classic" for="globalsw">'.form::checkbox('globalsw',1).'</label> '. 
    116                __('Global word (used for all blogs)'); 
     115               $res .= form::checkbox('globalsw',1). 
     116               '<label class="classic" for="globalsw">'.__('Global word (used for all blogs)').'</label> '; 
    117117          } 
    118118 
     
    167167                    } 
    168168               } 
    169                $res .= $res_local.$res_global; 
     169               $res .= '<div class="local">'.$res_local.'</div>'; 
     170               $res .= '<div class="global">'.$res_global.'</div>'; 
    170171 
    171172               $res .= 
     
    208209                    "WHERE rule_type = 'word' ". 
    209210                    "AND rule_content = '".$this->con->escape($content)."' "; 
     211          if (!$general) { 
     212               $strReq .= ' AND blog_id = \''.$this->core->blog->id.'\''; 
     213          } 
    210214          $rs = $this->con->select($strReq); 
    211215 
    212           if (!$rs->isEmpty()) { 
     216          if (!$rs->isEmpty() && !$general) { 
    213217               throw new Exception(__('This word exists')); 
    214218          } 
     
    228232          } 
    229233 
    230           $cur->insert(); 
     234          if (!$rs->isEmpty() && $general) { 
     235               $cur->update(); 
     236          } else { 
     237               $cur->insert(); 
     238          } 
    231239     } 
    232240 
Note: See TracChangeset for help on using the changeset viewer.

Sites map