2015-05-27
因为drupal6中的imagecache preset 已经整合到drupal7的核心中,接下来的这个解决方案是Vladimir提出的,你需要在你的drupal根目录下面创建一个php文件并将以下代码复制进去,执行这个文件.
[php]
<?php
define('DRUPAL_ROOT', getcwd());
require_once
DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
/////////////////////////////////////////////////
function imagecache_preset_actions($preset, $reset = FALSE) {
$actions_cache = array();
$result = db_query('SELECT * FROM {imagecache_action} where presetid = '.$preset['presetid'].' order by weight' );
foreach ($result as $row ) {
$row=(array)$row;
$row['data'] = unserialize($row['data']);
$actions_cache[$preset['presetid']][] = $row;
}
return isset(
$actions_cache[$preset['presetid']]) ? $actions_cache[$preset['presetid']] : array();
}
/////////////////////////////////////////////////
/////////////////////////////////////////////////
function imagecache_presets() {
$presets = array();
$normal_presets = array();
$result = db_query('SELECT * FROM {imagecache_preset} ORDER BY presetname');
foreach ($result as $preset) {
$preset=(array)$preset;
$presets[$preset['presetid']] = $preset;
$presets[$preset['presetid']]['actions'] = imagecache_preset_actions($preset);
$presets[$preset['presetid']]['storage'] = 0;
// Collect normal preset names so we can skip defaults and mark overrides accordingly
$normal_presets[$preset['presetname']] = $preset['presetid'];
}
return
$presets;
}
/////////////////////////////////////////////////
/////////////////////////////////////////////////
$styles_cnt=0;
$effects_new_cnt=0;
$effects_ext_cnt=0;
$presets=imagecache_presets();
foreach($presets as $preset)
{
$styles_cnt++;// inc styles
$style=image_style_load($preset['presetname']);
$style['name']=$preset['presetname'];
$style=image_style_save($style);
if(!isset($style['effects']))
{
$style['effects']=array();
}
foreach($preset['actions'] as $action)
{
$action['action']=str_replace('imagecache','image',$action['action']);
$action['module']=str_replace('imagecache','image',$action['module']);
$effect_ieid=FALSE;// effect not exists
foreach($style['effects'] as $effect)
{
if($effect['name'] == $action['action'] &&
$effect['module'] == $action['module'] &&
$effect['weight'] == $action['weight'] &&
$effect['data'] == $action['data'] )
{
$effect_ieid=$effect['ieid'];// effect exists
}
}
$effect=array();
if($effect_ieid)
{
$effects_ext_cnt++;// inc exists
$effect=image_effect_load($effect_ieid,$style['name']);
}
else
{
$effects_new_cnt++;// inc new
$effect=image_effect_definition_load($action['action']);
}
$effect['isid'] = $style['isid'];
$effect['name'] = $action['action'];
$effect['module'] == $action['module'];
$effect['weight'] = $action['weight'];
$effect['data'] = $action['data'];
$effect = image_effect_save($effect);
$style['effects'][$effect['ieid']] = $effect;
}
$style=image_style_save($style);
}
print
"Styles: $styles_cnt, Effects new: $effects_new_cnt, Effects exists: $effects_ext_cnt /n";
?>
<?php
define('DRUPAL_ROOT', getcwd());
require_once
DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
/////////////////////////////////////////////////
function imagecache_preset_actions($preset, $reset = FALSE) {
$actions_cache = array();
$result = db_query('SELECT * FROM {imagecache_action} where presetid = '.$preset['presetid'].' order by weight' );
foreach ($result as $row ) {
$row=(array)$row;
$row['data'] = unserialize($row['data']);
$actions_cache[$preset['presetid']][] = $row;
}
return isset(
$actions_cache[$preset['presetid']]) ? $actions_cache[$preset['presetid']] : array();
}
/////////////////////////////////////////////////
/////////////////////////////////////////////////
function imagecache_presets() {
$presets = array();
$normal_presets = array();
$result = db_query('SELECT * FROM {imagecache_preset} ORDER BY presetname');
foreach ($result as $preset) {
$preset=(array)$preset;
$presets[$preset['presetid']] = $preset;
$presets[$preset['presetid']]['actions'] = imagecache_preset_actions($preset);
$presets[$preset['presetid']]['storage'] = 0;
// Collect normal preset names so we can skip defaults and mark overrides accordingly
$normal_presets[$preset['presetname']] = $preset['presetid'];
}
return
$presets;
}
/////////////////////////////////////////////////
/////////////////////////////////////////////////
$styles_cnt=0;
$effects_new_cnt=0;
$effects_ext_cnt=0;
$presets=imagecache_presets();
foreach($presets as $preset)
{
$styles_cnt++;// inc styles
$style=image_style_load($preset['presetname']);
$style['name']=$preset['presetname'];
$style=image_style_save($style);
if(!isset($style['effects']))
{
$style['effects']=array();
}
foreach($preset['actions'] as $action)
{
$action['action']=str_replace('imagecache','image',$action['action']);
$action['module']=str_replace('imagecache','image',$action['module']);
$effect_ieid=FALSE;// effect not exists
foreach($style['effects'] as $effect)
{
if($effect['name'] == $action['action'] &&
$effect['module'] == $action['module'] &&
$effect['weight'] == $action['weight'] &&
$effect['data'] == $action['data'] )
{
$effect_ieid=$effect['ieid'];// effect exists
}
}
$effect=array();
if($effect_ieid)
{
$effects_ext_cnt++;// inc exists
$effect=image_effect_load($effect_ieid,$style['name']);
}
else
{
$effects_new_cnt++;// inc new
$effect=image_effect_definition_load($action['action']);
}
$effect['isid'] = $style['isid'];
$effect['name'] = $action['action'];
$effect['module'] == $action['module'];
$effect['weight'] = $action['weight'];
$effect['data'] = $action['data'];
$effect = image_effect_save($effect);
$style['effects'][$effect['ieid']] = $effect;
}
$style=image_style_save($style);
}
print
"Styles: $styles_cnt, Effects new: $effects_new_cnt, Effects exists: $effects_ext_cnt /n";
?>happy drupalling
1
CI框架连接数据库配置操作以及多数据库操作
09-05
2
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
05-17
3
C语言关键字及其解释介绍 C语言32个关键字详解
04-05
4
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
04-26
5
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
09-05
6
将视频设置为Android手机开机动画的教程
12-11
7
PHP中的(++i)前缀自增 和 (i++)后缀自增
09-05
8
常用dos命令及语法
09-27
PHP中include和require区别之我见
2014-09-05
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
2017-04-12
php递归返回值的问题
2014-09-05
如何安装PHPstorm并配置方法教程 phpstorm安装后要进行哪些配置
2017-05-03
单片机编程好学吗?单片机初学者怎样看懂代码
2022-03-21
PHP 教程之如何使用BLOB存取图片信息实例
2014-09-05
零基础的初学者怎样学习java,或者应该先学什么?
2022-03-21
学ug编程如何快速入门?
2022-03-17
PHP数组函数array
2014-09-05
学习使用C语言/C++编程的7个步骤!超赞~
2022-03-20
球球大作战汉化版下载v19.7.1 安卓版
其它手游 170.54MB
下载
葫芦侠三楼最新破解版下载v4.4.0.6 安卓版
其它手游 34.82MB
下载
葫芦侠7楼破解版免费下载v4.4.0.6安卓最新版
其它手游 34.82MB
下载
葫芦侠八楼免费版下载v4.4.0.6安卓版
其它手游 34.82MB
下载
葫芦侠3楼破解版免费下载v4.4.0.6安卓手机版
其它手游 34.82MB
下载
像素漫斗抱歉,“八神庵”是特指游戏角色的专有名词,不存在符合要求的常用同义词近义词。下载v1.00安卓版
其它手游 206.87MB
下载
葫芦侠4楼破解版游戏修改器下载v4.4.0.6安卓免费版
其它手游 34.82MB
下载
末日餐厅安卓版下载v1.35安卓版
其它手游 73.98MB
下载葫芦侠十楼免费破解版下载v4.4.0.6安卓版
下载
葫芦侠8楼最新破解版下载v4.4.0.6安卓版
下载
猫娘乐园世界连结正版下载v1.9.1 安卓版
下载
像素漫斗全员下载v1.00安卓版
下载
葫芦侠8楼手机版下载v4.4.0.6安卓版
下载
末日餐厅正版官网入口下载v1.35安卓版
下载
我的汉克狗正版下载v26.4.1.48473 安卓版
下载
像素漫斗u鼬神最新版本下载v1.00安卓版
下载