コード例 #1
0
ファイル: update.php プロジェクト: studip/PluginMarket
 public function save_usage_action()
 {
     // delete old usage
     MarketPluginUsage::deleteBySQL('user_id = ? AND name = ?', array(User::findCurrent()->id, Request::get('tag')));
     // create new usages
     foreach (Request::getArray('plugins') as $pluginid) {
         MarketPluginUsage::create(array('plugin_id' => $pluginid, 'user_id' => User::findCurrent()->id, 'name' => Request::get('tag')));
         $this->done++;
     }
 }
コード例 #2
0
 public function up()
 {
     $db = DBManager::get();
     // Setup new table
     $db->exec("\n            CREATE TABLE IF NOT EXISTS `pluginmarket_plugin_usages` (\n  `usage_id` varchar(32) NOT NULL,\n  `plugin_id` varchar(32) NOT NULL,\n  `user_id` varchar(32) NOT NULL,\n  `name` varchar(128) NOT NULL,\n  `approved` tinyint(4) NOT NULL DEFAULT 0,\n  `chdate` int(11) NOT NULL,\n  `mkdate` int(11) NOT NULL,\n  PRIMARY KEY (`usage_id`),\n  KEY (`plugin_id`),\n  KEY (`user_id`),\n  KEY (`name`)\n) ENGINE=MyISAM\n        ");
     SimpleORMap::expireTableScheme();
     $stmt = $db->query("SELECT * FROM pluginmarket_plugins");
     while ($plugin = $stmt->fetch(PDO::FETCH_ASSOC)) {
         $hits = preg_split("/(?:\n|,|\t)/", $plugin['in_use']);
         $hits = array_map('trim', $hits);
         $hits = array_filter($hits);
         foreach ($hits as $hit) {
             MarketPluginUsage::create(array('plugin_id' => $plugin['plugin_id'], 'user_id' => $plugin['user_id'], 'name' => $hit));
         }
     }
     // Modify old table
     $db->exec("ALTER TABLE pluginmarket_plugins DROP COLUMN in_use");
 }
コード例 #3
0
ファイル: presenting.php プロジェクト: studip/PluginMarket
 public function delete_usage_action($usage_id)
 {
     $usage = MarketPluginUsage::find($usage_id);
     if ($usage->isEditable()) {
         $plugin_id = $usage->plugin->id;
         $usage->delete();
         $this->redirect('presenting/details/' . $plugin_id);
     } else {
         throw new AccessDeniedException();
     }
 }