function gallery_assist_delete in Gallery Assist 6
Implementation of hook_delete().
1 call to gallery_assist_delete()
- gallery_assist_nodeapi in ./
gallery_assist.module - Implementation of hook_nodeapi().
File
- ./
gallery_assist.module, line 3287 - Drupal content type with gallery functionality.
Code
function gallery_assist_delete(&$node) {
global $user;
if ($_POST['form_id'] == 'node_delete_confirm' && $_POST['confirm'] == 1) {
$delete = TRUE;
}
elseif ($_POST['form_id'] == 'node_admin_content' && $_POST['operation'] == 'delete' && $_POST['confirm'] == 1) {
$delete = TRUE;
}
else {
$delete = FALSE;
}
$count = db_result(db_query("SELECT count(*) FROM {gallery_assist} WHERE ref = %d", $node->ref));
if ($delete && !empty($node->ref) && $count == 1) {
if (gallery_assist_check_access($node, 'edit')) {
$settings = variable_get("gallery_assist_{$node->type}_data", array());
$galleries = db_result(db_query("SELECT count(*) FROM {gallery_assist} WHERE ref = %d", $node->ref));
if ($galleries == 1 and count($node->gallitems) > 0) {
foreach ($node->gallitems as $pid => $item) {
db_query("DELETE FROM {files} WHERE fid = %d", $item->fid);
db_query("DELETE FROM {gallery_assist_item} WHERE pid = %d", $pid);
db_query("DELETE FROM {gallery_assist_translated} WHERE pid = %d", $pid);
gallery_assist_delete_items($item);
}
gallery_assist_delete_directory(variable_get('gallery_assist_directory', file_directory_path() . '/gallery_assist') . '/' . $node->uid . '/' . $node->ganame);
// Send information to other modules when a image will be deleted.
$node_light = new \stdClass();
$node_light->nid = $node->nid;
$node_light->ref = $node->ref;
$node_light->nodetype = $node->type;
$count = db_result(db_query("SELECT count(*) FROM {gallery_assist} WHERE ref = %d", $node->ref));
if ($count == 1) {
foreach (module_implements('gallery_assist_api') as $name) {
$function = $name . '_gallery_assist_api';
$result = $function('delete', NULL, $node_light);
}
}
}
else {
db_query("DELETE FROM {gallery_assist_translated} WHERE gref = %d and lang = '%s'", $node->gref, $node->language);
}
db_query("DELETE FROM {gallery_assist} WHERE nid = %d", $node->nid);
}
}
}