public function updates() { $updates = $this->form(); if (empty($updates['name'])) { return; } $ImageSetting = new ShoppImageSetting($updates['id']); $updates['name'] = sanitize_title_with_dashes($updates['name']); $updates['sharpen'] = floatval(str_replace('%', '', $updates['sharpen'])); $ImageSetting->updates($updates); $ImageSetting->save(); $this->notice(Shopp::__('Image setting "%s" saved.', $updates['name'])); }
public function images() { if (!current_user_can('shopp_settings')) { wp_die(__('You do not have sufficient permissions to access this page.')); } $defaults = array('paged' => 1, 'per_page' => 25, 'action' => false, 'selected' => array()); $args = array_merge($defaults, $_REQUEST); extract($args, EXTR_SKIP); $edit = false; if (isset($_GET['id'])) { $edit = (int) $_GET['id']; if ('new' == $_GET['id']) { $edit = 'new'; } } if (isset($_GET['delete']) || 'delete' == $action) { check_admin_referer('shopp-settings-images'); if (!empty($_GET['delete'])) { $selected[] = (int) $_GET['delete']; } $selected = array_filter($selected); foreach ($selected as $delete) { $Record = new ShoppImageSetting((int) $delete); $Record->delete(); } } if (!empty($_POST['save'])) { check_admin_referer('shopp-settings-images'); $ImageSetting = new ShoppImageSetting($edit); $_POST['name'] = sanitize_title_with_dashes($_POST['name']); $_POST['sharpen'] = floatval(str_replace('%', '', $_POST['sharpen'])); $ImageSetting->updates($_POST); if (!empty($ImageSetting->name)) { $ImageSetting->save(); } } $start = $per_page * ($paged - 1); $ImageSetting = new ShoppImageSetting($edit); $table = $ImageSetting->_table; $columns = 'SQL_CALC_FOUND_ROWS *'; $where = array("type='{$ImageSetting->type}'", "context='{$ImageSetting->context}'"); $limit = "{$start},{$per_page}"; $options = compact('columns', 'useindex', 'table', 'joins', 'where', 'groupby', 'having', 'limit', 'orderby'); $query = sDB::select($options); $settings = sDB::query($query, 'array', array($ImageSetting, 'loader')); $total = sDB::found(); $num_pages = ceil($total / $per_page); $ListTable = ShoppUI::table_set_pagination($this->screen, $total, $num_pages, $per_page); $fit_menu = $ImageSetting->fit_menu(); $quality_menu = $ImageSetting->quality_menu(); $actions_menu = array('delete' => __('Delete', 'Shopp')); $json_settings = array(); $skip = array('created', 'modified', 'numeral', 'context', 'type', 'sortorder', 'parent'); foreach ($settings as &$Setting) { if (method_exists($Setting, 'json')) { $json_settings[$Setting->id] = $Setting->json($skip); } } include $this->ui('images.php'); }