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);
}
Example #2
0
/**
 * 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;
    }
}
Example #3
0
 /**
  * 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;
 }