AlkantarClanX12
| Current Path : /var/www/clients/client1/web1/web/sites/all/modules/md_slider/ |
| Current File : /var/www/clients/client1/web1/web/sites/all/modules/md_slider/md_slider.install |
<?php
/**
* @file - Install file
*/
/**
* Implement hook_schema()
*/
function md_slider_schema() {
$schema = array();
$schema['md_sliders'] = array(
'description' => 'Slideshows table',
'fields' => array(
'slid' => array(
'description' => 'Primary key for identify a slideshow.',
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE,
),
'title' => array(
'description' => 'The name of slideshow.',
'type' => 'text',
'size' => 'big',
'not null' => TRUE,
),
'description' => array(
'description' => 'The description about slideshow is created.',
'type' => 'varchar',
'length' => 1000,
),
'machine_name' => array(
'description' => 'The machine name of slideshow. The uniquied values.',
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
),
'settings' => array(
'description' => 'The common settings for slideshow.',
'type' => 'text',
'size' => 'big',
'not null' => TRUE,
),
),
'primary key' => array('slid'),
);
$schema['md_slides'] = array(
'description' => 'Slides table',
'fields' => array(
'sid' => array(
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE,
'description' => 'Primary key for identify a slide.',
),
'slid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'description' => "Slideshow id contain this slide.",
),
'position' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'description' => 'Order of slide in slideshow.',
),
'settings' => array(
'type' => 'text',
'not null' => TRUE,
'size' => 'big',
'description' => "Settings for tab",
),
'layers' => array(
'type' => 'text',
'not null' => TRUE,
'size' => 'big',
'description' => "Items in this slide",
),
),
'foreign keys' => array(
'md_sliders' => array(
'table' => 'md_sliders',
'columns' => array('slid' => 'slid'),
),
),
'primary key' => array('sid'),
);
return $schema;
}
/**
* implements hook_field_schema()
*/
function md_slider_field_schema($field) {
return array(
"columns" => array(
"md_slider_id" => array(
"type" => "varchar",
"length" => 255,
"not null" => TRUE,
),
),
);
}
/**
* Implements hook_update_N()
*/
function md_slider_update_7200() {
$sliders = MDSlider::get_all();
foreach ($sliders as $slider) {
$slider->machine_name = str_replace('_', '-', $slider->machine_name);
$slider->save();
}
}
/**
* implements update new effect for slides
*/
function md_slider_update_7230() {
$sliders = MDSlider::get_all();
foreach ($sliders as $slider) {
$slides = MDSlide::get_by_slider_id($slider->slid);
$transition = "fade";
switch ($slider->settings["animation"]) {
case "scrollHorz":
case "scrollLeft":
$transition = "slide-in-left";
break;
case "scrollVert":
case "scrollRight":
$transition = "slide-in-right";
break;
case "scrollUp":
$transition = "slide-in-up";
break;
case "scrollDown":
$transition = "slide-in-down";
break;
}
foreach ($slides as $slide) {
$slide->settings["transitions"] = array($transition);
$slide->save();
}
// Remove slider effect setting
unset($slider->settings["animation"]);
$slider->save();
}
}
/**
* implements hook_update_n
*/
function md_slider_update_7231() {
$fields = md_slider_get_md_slider_fields();
foreach ($fields as $field) {
$table_prefixes = array(
_field_sql_storage_tablename($field),
_field_sql_storage_revision_tablename($field)
);
foreach ($table_prefixes as $table) {
$field_name = $field["field_name"];
$column = "{$field_name}_md_slider_id";
$spec = array(
"type" => "varchar",
"length" => 255,
"not null" => TRUE
);
db_change_field($table, $column, $column, $spec);
}
}
return t("Change field md_slider_id to varchar");
}
/**
* implements hook_update_N
*/
function md_slider_update_7232() {
// Load all slides in database
$slides = MDSlide::get_all();
foreach ($slides as $slide) {
// Set background color
if (!isset($slide->settings["background_color"]))
$slide->settings["background_color"] = "";
if ($slide->settings["background_image"] == -1)
$slide->settings["background_color"] = "#32a0b7";
// Modify item color
foreach ($slide->layers as &$layer) {
if (isset($layer["backgroundcolor"]) && $layer["backgroundcolor"] != "" && strpos($layer["backgroundcolor"], "#") === FALSE)
$layer["backgroundcolor"] = "#{$layer["backgroundcolor"]}";
if (isset($layer["color"]) && $layer["color"] != "" && strpos($layer["color"], "#") === FALSE)
$layer["color"] = "#{$layer["color"]}";
if (isset($layer["bordercolor"]) && $layer["bordercolor"] != "" && strpos($layer["bordercolor"], "#") === FALSE)
$layer["bordercolor"] = "#{$layer["bordercolor"]}";
if (isset($layer["link"])) {
if (isset($layer["link"]["color"]) && $layer["link"]["color"] != "" && strpos($layer["link"]["color"], "#") === FALSE)
$layer["link"]["color"] = "#{$layer["link"]["color"]}";
if (isset($layer["link"]["background"]) && $layer["link"]["background"] != "" && strpos($layer["link"]["background"], "#") === FALSE)
$layer["link"]["background"] = "#{$layer["link"]["background"]}";
if (isset($layer["link"]["border"]) && $layer["link"]["border"] != "" && strpos($layer["link"]["border"], "#") === FALSE)
$layer["link"]["border"] = "#{$layer["link"]["border"]}";
}
}
// Save slide to update new data
$slide->save();
}
return "Update item color properties";
}
/**
* Implement hook_update_N()
* Update weight module md_slider
*/
function md_slider_update_7310() {
$success = db_update('system')
->fields(array('weight' => 999))
->condition('name', 'md_slider', '=')
->execute();
if ($success) {
return "Update weight module md_slider successful";
}
}