function delete_builder_template() { $path = 'builder_template/' . $_POST['builder_type']; $db_options = fw_get_db_settings_option($path); fw_aku(FW_Request::POST('uniqid'), $db_options); fw_set_db_settings_option($path, $db_options); }
/** * Unset specified key in some array level * * @param string $keys 'a/b/c' -> unset($arr['a']['b']['c']); * @param array|object $array_or_object * @param string $keys_delimiter */ function fw_aku($keys, &$array_or_object, $keys_delimiter = '/') { if (!is_array($keys)) { $keys = explode($keys_delimiter, (string) $keys); } $key_or_property = array_shift($keys); if ($key_or_property === null || $key_or_property === '') { return; } $is_object = is_object($array_or_object); if ($is_object) { if (!property_exists($array_or_object, $key_or_property)) { return; } } else { if (!is_array($array_or_object) || !array_key_exists($key_or_property, $array_or_object)) { return; } } if (isset($keys[0])) { // not used count() for performance reasons if ($is_object) { fw_aku($keys, $array_or_object->{$key_or_property}); } else { fw_aku($keys, $array_or_object[$key_or_property]); } } else { if ($is_object) { unset($array_or_object->{$key_or_property}); } else { unset($array_or_object[$key_or_property]); } return; } }
/** * Unset key from cache * @param $keys * @param $keys_delimiter */ public static function del($keys, $keys_delimiter = '/') { fw_aku($keys, self::$cache, $keys_delimiter); self::free_memory(); // call it every time to take care about memory }
public static function del($key) { self::start_session(); fw_aku($key, $_SESSION); }
/** * Unset key from cache * @param $keys * @param $keys_delimiter */ public static function del($keys, $keys_delimiter = '/') { fw_aku($keys, self::$cache, $keys_delimiter); self::free_memory(); }
/** * Get valid sidebar positions from config */ public function get_sidebar_positions() { $url = self::get_images_path(); $sidebars_positions = fw_akg('sidebar_positions', $this->config, array()); foreach ($sidebars_positions as $position_key => $position) { $icon_url = fw_akg('icon_url', $position); if (empty($icon_url)) { fw_aku($position_key, $sidebars_positions); continue; } $sidebars_positions[$position_key]['icon_url'] = $url . $icon_url; } return $sidebars_positions; }
/** * Get valid sidebar positions from config */ public function get_sidebar_positions() { $sidebars_positions = fw_akg('sidebar_positions', $this->config, array()); foreach ($sidebars_positions as $position_key => $position) { $icon_url = fw_akg('icon_url', $position); if (empty($icon_url)) { fw_aku($position_key, $sidebars_positions); continue; } $sidebars_positions[$position_key]['icon_url'] = fw()->extensions->get('sidebars')->locate_URI('/static/images/' . $icon_url); } return $sidebars_positions; }
/** * Remove presets from db which was removed on specific pages */ public function clean_unused_presets($slugs, $preset_id) { if ($preset_id === null) { return false; } $db = $this->get_db(); foreach ($db['settings'] as $type => $data) { foreach ($data as $sub_type => $data2) { $prefix = $this->config->get_prefix_by_type($type); if (!in_array($prefix . '_' . $sub_type, $slugs)) { fw_aku('settings/' . $type . '/' . $sub_type . '/by_ids/' . $preset_id, $db); $this->recalculate_saved_ids($db, $type, $sub_type); $this->clean_unused_arrays($db, $type, $sub_type); } } } update_option($this->wp_option_sidebar_settings, $db, false); return true; }