Статьи по теме: Программирование

Image Manager своя директория для каждого пользователя

Есть замечательный плагин загрузки изображений для TinyMCE, но все изображения для разных пользователей загружаются в одну папку, тем самым отсутствует контроль за загруженными изображениями.

Будем исправлять.
Вот как сделал я, изменив файл настроек плагина config.php.

<?php
chdir
($_SERVER['DOCUMENT_ROOT']);
require
'includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
$connect_url = $db_url;
$conn=db_connect($connect_url);
global
$user, $PHP_SELF, $db_url;
//Корневая директория сайта
define('DIR_ROOT',        $_SERVER['DOCUMENT_ROOT']);
//Директория с изображениями (относительно корневой)
define('DIR_IMAGES',    '/sites/default/files/images/'.$user->uid);
//define('DIR_IMAGES',    '/sites/default/files/images/'.$user->uid);
//Директория с файлами (относительно корневой)
define('DIR_FILES',        '/sites/default/files/images/'.$user->uid);
define ('DIR_USER',$user->uid); //Передаем ID пользователя для index.php

//Высота и ширина картинки до которой будет сжато исходное изображение и создана ссылка на полную версию
define('WIDTH_TO_LINK', 500);
define('HEIGHT_TO_LINK', 500);

//Атрибуты которые будут присвоены ссылке (для скриптов типа lightbox)
define('CLASS_LINK', 'lightview');
define('REL_LINK', 'lightbox');
if (!
is_dir('/sites/default/files/images/'.$user->uid)){
   
mkdir('sites/default/files/images/'.$user->uid,0777);
    }
?>

После этого для каждого пользователя создается своя директория для загрузки изображений.

Да, важно: нужно добавить $cookie_domain = 'ваш_сайт'; в файл settings.php, для нормальной работы с переменной $user->uid

Программно создать словарь таксономии

Для сохранения словаря таксономии используется функция taxonomy_save_vocabulary($vocabullary).

<?php
$vocabulary
= array(
 
'name'  => t("Словарь"). //Название словаря таксономии
 
'multiple' => 0, //1 - для тэгов
 
'required' => 0, //1 обязательный выбор
 
'hierarchy' => 0,
 
'relations' => 0, //1 - Множественный выбор
 
'module' => 'мой модуль', //имя модуля
 
'node' => array('тип материала' => 1), //привязка к типу ноды
 
'weight' => -9, //сортировка на странице со списком словарей
);

taxonomy_save_vocabulary($vocabulary); //сохраняем
?>

Ищейка