plugins:posttodraft:posttodraft_code

NP_PostToDraft.phpのソースコード

<?php
class NP_PostToDraft extends NucleusPlugin {
 
   function getName() { return 'Post to Draft'; }
   function getAuthor()  { return 'Andy'; }
   function getURL() { return 'http://www.matsubarafamily.com/lab/'; }
   function getVersion() { return '0.1'; }
 
   function getDescription() {
      return "管理者以外の投稿をドラフトにする";
   }
 
   function supportsFeature($what) {
      switch($what){
         case 'SqlTablePrefix':
            return 1;
         default:
            return 0;
      }
   }
 
   function install() {
      $this->createBlogOption('todraft', '管理者以外の投稿をドラフトにする','yesno','no');
   }
 
 
   function getEventList() {
      return array('PreAddItem', 'PostUpdateItem');
   }   
 
   function event_PreAddItem($data) {
      if ($this->getBlogOption( $data['blog']->getID(), 'todraft') == 'yes') {
         $mem = MEMBER::createFromID($data['authorid']);
 
         if (! $mem->blogAdminRights($data['blog']->getID())) {
            $data['draft'] = 1;
         }
      }
   }
 
   function event_PostUpdateItem($data) {
      global $member;
      $item = ITEM::getItem($data['itemid'], 1, 1);
 
      if ($this->getBlogOption($item['blogid'], 'todraft') == 'yes') {
         if (! $member->blogAdminRights($item['blogid'])) {
            $query =  'UPDATE '.sql_table('item')
                  . ' SET idraft=1 WHERE inumber='.$item['itemid'];
            sql_query($query);
         }
      }
   }
 
}
?>
 
plugins/posttodraft/posttodraft_code.txt · 最終更新: 2011/03/23 21:28 (外部編集)