featured_content.install in Featured Content 6
Same filename and directory in other branches
Provides install, upgrade and un-install functions for featured_content.
File
featured_content.installView source
<?php
/**
* @file
* Provides install, upgrade and un-install functions for featured_content.
*/
/**
* Implements hook_uninstall().
*/
function featured_content_uninstall() {
// delete featured_content variables
variable_del('featured_content_blocks');
// array with all blocks data
variable_del('featured_content_block_ids');
// array with all block ids
// remove block configurations
db_query("DELETE FROM {blocks} WHERE module = 'featured_content'");
db_query("DELETE FROM {blocks_roles} WHERE module = 'featured_content'");
cache_clear_all();
}
/**
* Implements hook_enable().
*/
function featured_content_enable() {
drupal_set_message(t('To use Featured Content Blocks, find the "Add Featured Content Block" tab (or button) on the <a href="@url">administer blocks page</a>.', array(
'@url' => url('admin/build/block'),
)));
}
/**
* Implements hook_install().
*/
function featured_content_install() {
// nothing to do
}
/**
* Make sure that the settings are updated properly to deal with issue #705308.
*/
function featured_content_update_6000() {
$featured_blocks = variable_get('featured_content_blocks', array());
if (!empty($featured_blocks)) {
foreach ($featured_blocks as $delta => $data) {
// convert content type settings
if ($data['filter']['content_types']['node']) {
$featured_blocks[$delta]['filter']['content_types']['type']['CURRENT'] = 1;
}
if ($data['filter']['content_types']['option'] == 'content_type_selected') {
$selected = $data['filter']['content_types']['selected'];
foreach ($selected as $name => $value) {
if ($value) {
$featured_blocks[$delta]['filter']['content_types']['type'][$name] = 1;
}
}
}
// convert user settings
if ($data['filter']['users']['node']) {
$featured_blocks[$delta]['filter']['users']['user']['CURRENT'] = 1;
}
if ($data['filter']['users']['option'] == 'user_selected') {
$selected = $data['filter']['users']['selected'];
foreach ($selected as $uid => $value) {
if ($value) {
$featured_blocks[$delta]['filter']['users']['user'][$uid] = 1;
}
}
}
// convert vocabulary settings
$vocabularies = taxonomy_get_vocabularies();
foreach ($vocabularies as $vocabulary) {
$vid = $vocabulary->vid;
if ($data['filter']['vocab'][$vid]['node']) {
$featured_blocks[$delta]['filter']['vocab'][$vid]['term']['CURRENT'] = 1;
}
if ($data['filter']['vocab'][$vid]['option'] == 'vocab_selected') {
$selected = $data['filter']['vocab'][$vid]['selected'];
foreach ($selected as $tid => $value) {
if ($value) {
$featured_blocks[$delta]['filter']['vocab'][$vid]['term'][$tid] = 1;
}
}
}
}
}
}
variable_set('featured_content_blocks', $featured_blocks);
return array();
}
Functions
Name![]() |
Description |
---|---|
featured_content_enable | Implements hook_enable(). |
featured_content_install | Implements hook_install(). |
featured_content_uninstall | Implements hook_uninstall(). |
featured_content_update_6000 | Make sure that the settings are updated properly to deal with issue #705308. |