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++; } }
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"); }
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(); } }