本文整理汇总了PHP中FLBuilderModel::get_cache_dir方法的典型用法代码示例。如果您正苦于以下问题:PHP FLBuilderModel::get_cache_dir方法的具体用法?PHP FLBuilderModel::get_cache_dir怎么用?PHP FLBuilderModel::get_cache_dir使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FLBuilderModel
的用法示例。
在下文中一共展示了FLBuilderModel::get_cache_dir方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: save_enabled_icons
/**
* Saves the enabled icons.
*
* @since 1.0
* @access private
* @return void
*/
private static function save_enabled_icons()
{
if (isset($_POST['fl-icons-nonce']) && wp_verify_nonce($_POST['fl-icons-nonce'], 'icons')) {
// Make sure we have at least one enabled icon set.
if (!isset($_POST['fl-enabled-icons']) && empty($_POST['fl-new-icon-set'])) {
self::add_error(__("Error! You must have at least one icon set enabled.", 'fl-builder'));
return;
}
$filesystem = FLBuilderUtils::get_filesystem();
$enabled_icons = array();
// Sanitize the enabled icons.
if (isset($_POST['fl-enabled-icons']) && is_array($_POST['fl-enabled-icons'])) {
$enabled_icons = array_map('sanitize_text_field', $_POST['fl-enabled-icons']);
}
// Update the enabled sets.
self::update_enabled_icons($enabled_icons);
// Delete a set?
if (!empty($_POST['fl-delete-icon-set'])) {
$sets = FLBuilderIcons::get_sets();
$key = sanitize_text_field($_POST['fl-delete-icon-set']);
$index = array_search($key, $enabled_icons);
if (false !== $index) {
unset($enabled_icons[$index]);
}
if (isset($sets[$key])) {
$filesystem->rmdir($sets[$key]['path'], true);
FLBuilderIcons::remove_set($key);
}
}
// Upload a new set?
if (!empty($_POST['fl-new-icon-set'])) {
$dir = FLBuilderModel::get_cache_dir('icons');
$id = (int) $_POST['fl-new-icon-set'];
$path = get_attached_file($id);
$new_path = $dir['path'] . 'icon-' . time() . '/';
$unzipped = unzip_file($path, $new_path);
// Unzip failed.
if (!$unzipped) {
self::add_error(__("Error! Could not unzip file.", 'fl-builder'));
return;
}
// Move files if unzipped into a subfolder.
$files = $filesystem->dirlist($new_path);
if (1 == count($files)) {
$values = array_values($files);
$subfolder_info = array_shift($values);
$subfolder = $new_path . $subfolder_info['name'] . '/';
if (file_exists($subfolder) && is_dir($subfolder)) {
$files = $filesystem->dirlist($subfolder);
if ($files) {
foreach ($files as $file) {
$filesystem->move($subfolder . $file['name'], $new_path . $file['name']);
}
}
$filesystem->rmdir($subfolder);
}
}
// Check for supported sets.
$is_icomoon = file_exists($new_path . 'selection.json');
$is_fontello = file_exists($new_path . 'config.json');
// Show an error if we don't have a supported icon set.
if (!$is_icomoon && !$is_fontello) {
$filesystem->rmdir($new_path, true);
self::add_error(__("Error! Please upload an icon set from either Icomoon or Fontello.", 'fl-builder'));
return;
}
// Enable the new set.
if (is_array($enabled_icons)) {
$key = FLBuilderIcons::get_key_from_path($new_path);
$enabled_icons[] = $key;
}
}
// Update the enabled sets again in case they have changed.
self::update_enabled_icons($enabled_icons);
}
}
示例2: register_custom_sets
/**
* Register custom icon set data in the internal sets array.
*
* @since 1.4.6
* @access private
* @return void
*/
private static function register_custom_sets()
{
// Get uploaded sets.
$enabled_icons = FLBuilderModel::get_enabled_icons();
$upload_info = FLBuilderModel::get_cache_dir('icons');
$folders = glob($upload_info['path'] . '*');
// Make sure we have an array.
if (!is_array($folders)) {
return;
}
// Loop through uploaded sets.
foreach ($folders as $folder) {
$folder = trailingslashit($folder);
// This is an Icomoon font.
if (file_exists($folder . 'selection.json')) {
$data = json_decode(file_get_contents($folder . 'selection.json'));
$key = basename($folder);
$url = str_ireplace($upload_info['path'], $upload_info['url'], $folder);
if (isset($data->icons)) {
if (is_admin() || in_array($key, $enabled_icons)) {
self::$sets[$key] = array('name' => $data->metadata->name, 'prefix' => '', 'type' => 'icomoon', 'path' => $folder, 'url' => $url, 'stylesheet' => $url . 'style.css', 'icons' => array());
foreach ($data->icons as $icon) {
$prefs = $data->preferences->fontPref;
$postfix = isset($prefs->postfix) ? $prefs->postfix : '';
if (isset($prefs->selector) && 'class' == $prefs->selector) {
$selector = trim(str_replace('.', ' ', $prefs->classSelector)) . ' ';
} else {
$selector = '';
}
self::$sets[$key]['icons'][] = $selector . $prefs->prefix . $icon->properties->name . $postfix;
}
}
}
} else {
if (file_exists($folder . 'config.json')) {
$data = json_decode(file_get_contents($folder . 'config.json'));
$key = basename($folder);
$name = empty($data->name) ? 'Fontello' : $data->name;
$url = str_ireplace($upload_info['path'], $upload_info['url'], $folder);
$style = empty($data->name) ? 'fontello' : $data->name;
// Append the date to the name?
if (empty($data->name)) {
$time = str_replace('icon-', '', $key);
$date_format = get_option('date_format');
$time_format = get_option('time_format');
$date = date($date_format . ' ' . $time_format);
$name .= ' (' . $date . ')';
}
if (isset($data->glyphs)) {
if (is_admin() || in_array($key, $enabled_icons)) {
self::$sets[$key] = array('name' => $name, 'prefix' => '', 'type' => 'fontello', 'path' => $folder, 'url' => $url, 'stylesheet' => $url . 'css/' . $style . '.css', 'icons' => array());
foreach ($data->glyphs as $icon) {
if ($data->css_use_suffix) {
self::$sets[$key]['icons'][] = $icon->css . $data->css_prefix_text;
} else {
self::$sets[$key]['icons'][] = $data->css_prefix_text . $icon->css;
}
}
}
}
}
}
}
}
示例3: v_1_2_8
/**
* Update to version 1.2.8 or later.
*
* @since 1.2.8
* @access private
* @return void
*/
private static function v_1_2_8()
{
global $wpdb;
if (self::pre_1_2_8_table_exists()) {
$table = $wpdb->prefix . 'fl_builder_nodes';
$metas = $wpdb->get_results("SELECT * FROM {$wpdb->postmeta} WHERE meta_key = '_fl_builder_layout'");
$cache_dir = FLBuilderModel::get_cache_dir();
// Loop through the layout ids for each post.
foreach ($metas as $meta) {
// Get the old layout nodes from the database.
$published = $wpdb->get_results("SELECT * FROM {$table} WHERE layout = '{$meta->meta_value}' AND status = 'published'");
$draft = $wpdb->get_results("SELECT * FROM {$table} WHERE layout = '{$meta->meta_value}' AND status = 'draft'");
// Convert the old nodes to new ones.
$published = self::v_1_2_8_convert_nodes($published);
$draft = self::v_1_2_8_convert_nodes($draft);
// Add the new layout post meta.
update_post_meta($meta->post_id, '_fl_builder_data', $published);
update_post_meta($meta->post_id, '_fl_builder_draft', $draft);
}
// Backup the old builder table.
self::pre_1_2_8_backup();
// Drop the old builder table.
if (file_exists($cache_dir['path'] . 'backup.dat')) {
$wpdb->query("DROP TABLE {$wpdb->prefix}fl_builder_nodes");
}
// Delete old post meta.
delete_post_meta_by_key('_fl_builder_layout');
delete_post_meta_by_key('_fl_builder_layout_export');
delete_post_meta_by_key('_fl_builder_css');
delete_post_meta_by_key('_fl_builder_css-draft');
delete_post_meta_by_key('_fl_builder_js');
delete_post_meta_by_key('_fl_builder_js-draft');
// Convert global settings.
self::v_1_2_8_convert_global_settings();
// Delete all asset cache.
$css = glob($cache_dir['path'] . '*.css');
$js = glob($cache_dir['path'] . '*.js');
if (is_array($css)) {
array_map('unlink', $css);
}
if (is_array($js)) {
array_map('unlink', $js);
}
}
}
示例4: _get_cropped_path
/**
* @method _get_cropped_path
* @protected
*/
protected function _get_cropped_path()
{
$crop = empty($this->settings->crop) ? 'none' : $this->settings->crop;
$url = $this->_get_uncropped_url();
$cache_dir = FLBuilderModel::get_cache_dir();
if (empty($url)) {
$filename = uniqid();
// Return a file that doesn't exist.
} else {
if (stristr($url, '?')) {
$parts = explode('?', $url);
$url = $parts[0];
}
$pathinfo = pathinfo($url);
$dir = $pathinfo['dirname'];
$ext = $pathinfo['extension'];
$name = wp_basename($url, ".{$ext}");
$new_ext = strtolower($ext);
$filename = "{$name}-{$crop}.{$new_ext}";
}
return array('filename' => $filename, 'path' => $cache_dir['path'] . $filename, 'url' => $cache_dir['url'] . $filename);
}