Ejemplo n.º 1
0
 function create($data)
 {
     global $wpdb;
     if (strlen($data['name']) > 0) {
         $db = array('name' => trim($data['name']), 'type' => $data['type']);
         if (isset($data['options'])) {
             $db['options'] = serialize($data['options']);
         }
         $wpdb->insert($wpdb->prefix . 'redirection_modules', $db);
         Red_Module::flush($wpdb->insert_id);
         return $wpdb->insert_id;
     }
     return false;
 }
Ejemplo n.º 2
0
 function create($data)
 {
     global $wpdb;
     $type = $data['type'];
     $name = $wpdb->escape($data['name']);
     if (strlen($name) > 0) {
         $extra2 = $extra = '';
         if (isset($data['options'])) {
             $extra = ',options';
             $extra2 = ",'" . $wpdb->escape(serialize($data['options'])) . "'";
         }
         $wpdb->query("INSERT INTO {$wpdb->prefix}redirection_modules (name,type{$extra}) VALUES ('{$name}','{$type}'{$extra2})");
         Red_Module::flush($wpdb->insert_id);
         return $wpdb->insert_id;
     }
     return false;
 }
Ejemplo n.º 3
0
 function process_bulk_action()
 {
     if (!isset($_POST['item'])) {
         return;
     }
     if (in_array($this->current_action(), array('reset', 'enable', 'disable', 'delete'))) {
         $redirections = array();
         foreach ((array) $_POST['item'] as $id) {
             $redirect = Red_Item::get_by_id(intval($id));
             if ($redirect) {
                 $redirections[] = $redirect;
             }
         }
         array_map(array(&$this, 'process_action_items'), $redirections);
         Red_Module::flush($this->current_group->module_id);
     }
 }
Ejemplo n.º 4
0
 function admin_groups($module)
 {
     if (isset($_POST['add']) && check_admin_referer('redirection-add_group')) {
         if (Red_Group::create(stripslashes_deep($_POST))) {
             $this->render_message(__('Your group was added successfully', 'redirection'));
             Red_Module::flush($module);
         } else {
             $this->render_error(__('Please specify a group name', 'redirection'));
         }
     }
     if ($module == 0) {
         $module = Red_Module::get_first_id();
     }
     $table = new Redirection_Group_Table(Red_Module::get_for_select(), $module);
     $table->prepare_items();
     $module = Red_Module::get($module);
     if ($module) {
         $this->render('group_list', array('options' => red_get_options(), 'table' => $table, 'modules' => Red_Module::get_for_select(), 'module' => $module));
     } else {
         $this->render_message(__('Unknown module', 'redirection'));
     }
 }
Ejemplo n.º 5
0
 function move_to($module)
 {
     global $wpdb;
     $wpdb->update($wpdb->prefix . 'redirection_groups', array('module_id' => intval($module)), array('id' => $this->id));
     Red_Module::flush($module);
     Red_Module::flush($this->id);
 }
Ejemplo n.º 6
0
 public function disable()
 {
     global $wpdb;
     $wpdb->update($wpdb->prefix . 'redirection_groups', array('status' => 'disabled'), array('id' => $this->id));
     $wpdb->update($wpdb->prefix . 'redirection_items', array('status' => 'disabled'), array('group_id' => $this->id));
     Red_Module::flush($this->id);
 }
Ejemplo n.º 7
0
 function red_redirect_delete()
 {
     if (check_ajax_referer('redirection-items')) {
         if (preg_match_all('/=(\\d*)/', $this->post['checked'], $items) > 0) {
             $redirect = Red_Item::get_by_id($items[0]);
             foreach ($items[1] as $item) {
                 Red_Item::delete(intval($item));
             }
             $group = Red_Group::get($redirect->group_id);
             Red_Module::flush($group->module_id);
         }
     }
 }
Ejemplo n.º 8
0
 static function save_order($items, $start)
 {
     global $wpdb;
     foreach ($items as $pos => $id) {
         $wpdb->update($wpdb->prefix . 'redirection_items', array('position' => $pos + $start), array('id' => $id));
     }
     $item = self::get_by_id($id);
     $group = Red_Group::get($item->group_id);
     if ($group) {
         Red_Module::flush($group->module_id);
     }
 }
Ejemplo n.º 9
0
 function admin_groups($module)
 {
     include dirname(__FILE__) . '/models/pager.php';
     if (isset($_POST['add']) && check_admin_referer('redirection-add_group')) {
         if (Red_Group::create(stripslashes_deep($_POST))) {
             $this->render_message(__('Your group was added successfully', 'redirection'));
             Red_Module::flush($module);
         } else {
             $this->render_error(__('Please specify a group name', 'redirection'));
         }
     }
     if ($module == 0) {
         $module = Red_Module::get_first_id();
     }
     $pager = new RE_Pager($_GET, $_SERVER['REQUEST_URI'], 'position', 'ASC');
     $items = Red_Group::get_all($module, $pager);
     $this->render_admin('group_list', array('groups' => $items, 'pager' => $pager, 'modules' => Red_Module::get_for_select(), 'module' => Red_Module::get($module)));
 }
Ejemplo n.º 10
0
 static function save_order($items, $start)
 {
     global $wpdb;
     foreach ($items as $pos => $id) {
         $wpdb->update($wpdb->prefix . 'redirection_items', array('position' => $pos + $start), array('id' => $id));
     }
     Red_Module::flush($this->group_id);
 }
Ejemplo n.º 11
0
 function move_to($module)
 {
     global $wpdb;
     $wpdb->query("UPDATE {$wpdb->prefix}redirection_groups SET module_id='{$module}' WHERE id='{$this->id}'");
     Red_Module::flush($module);
     Red_Module::flush($this->id);
 }
Ejemplo n.º 12
0
 function process_bulk_action()
 {
     if (!isset($_POST['item'])) {
         return;
     }
     if (in_array($this->current_action(), array('delete', 'enable', 'disable'))) {
         $groups = array();
         foreach ((array) $_POST['item'] as $id) {
             $group = Red_Group::get(intval($id));
             if ($group) {
                 if ($this->current_action() === 'delete') {
                     $group->delete();
                 } else {
                     if ($this->current_action() === 'enable') {
                         $group->enable();
                         Red_Module::flush($group->get_id());
                     } else {
                         if ($this->current_action() === 'disable') {
                             $group->disable();
                             Red_Module::flush($group->get_id());
                         }
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 13
0
 function save_order($items, $start)
 {
     global $wpdb;
     foreach ($items as $pos => $id) {
         $wpdb->query("UPDATE {$wpdb->prefix}redirection_items SET position='" . ($pos + $start) . "' WHERE id='{$id}'");
     }
     $item = Red_Item::get_by_id($id);
     $group = Red_Group::get($item->group_id);
     Red_Module::flush($group->module_id);
 }