_media_management_delete_still($asset_id, $mediafile_id = NULL, $still_id = NULL)media_management/media_management.module, line 317
<?php
function _media_management_delete_still($asset_id, $mediafile_id = NULL, $still_id = NULL) {
// haal de still gegeven(s) op en verwijder deze van disk.
db_set_active('data');
if ($still_id) {
$result_query = db_query("SELECT mediafile_id AS still_id, app_id, sannas_mount_point, mediafile_source FROM {mediafile} WHERE mediafile_id = '%s' AND is_still = 'TRUE' AND asset_id_root = '%s'", $still_id, $asset_id);
}
elseif ($mediafile_id) {
$result_query = db_query("
SELECT s.mediafile_id AS still_id, s.app_id, s.sannas_mount_point, s.mediafile_source
FROM {mediafile} AS s
INNER JOIN {mediafile} AS m USING(asset_id)
WHERE m.mediafile_id = '%s' AND s.is_still = 'TRUE' AND m.asset_id_root = '%s' AND s.asset_id_root = '%s' AND s.mediafile_source = '%s'", $mediafile_id, $asset_id, $asset_id, $mediafile_id);
}
else {
$result_query = db_query("SELECT mediafile_id AS still_id, app_id, sannas_mount_point, mediafile_source FROM {mediafile} WHERE asset_id_root = '%s' AND is_still = 'TRUE'", $asset_id);
}
db_set_active();
$m_id = array();
while ($query_result_row = db_fetch_object($result_query)) {
watchdog("server", sprintf("Deleting still: %s/%s/%s/%s", $query_result_row->sannas_mount_point, STILL_LOCATION, $query_result_row->still_id{0}, $query_result_row->still_id));
// fysiek verwijderen
@unlink(sprintf("%s/%s/%s/%s", $query_result_row->sannas_mount_point, STILL_LOCATION, $query_result_row->still_id{0}, $query_result_row->still_id));
$m_id[] = $query_result_row->still_id;
if (!$mediafile_id) {
$mediafile_id = $query_result_row->mediafile_source;
}
}
// verwijder alle stills voor deze asset uit de database
db_set_active('data');
if ($m_id && is_array($m_id) && $m_id != array()) {
$imploded = implode("', '", $m_id);
db_query(sprintf("DELETE FROM {mediafile_metadata} WHERE mediafile_id IN('%s')", $imploded));
db_query(sprintf("DELETE FROM {mediafile} WHERE mediafile_id IN('%s')", $imploded));
unset($imploded);
}
// Check is there a default image after the deletion in the media (video) file
$default = db_result(db_query_range("
SELECT mm.mediafile_id
FROM {mediafile_metadata} AS mm
INNER JOIN {mediafile} AS m USING(mediafile_id)
WHERE mm.still_default = 'TRUE' AND m.asset_id_root = '%s' AND m.is_still = 'TRUE' AND m.mediafile_source = '%s'
", $asset_id, $mediafile_id, 0, 1));
if (!$default) {
// There aren't any default image, so creating one
$default = db_result(db_query_range("
SELECT mm.mediafile_id
FROM {mediafile_metadata} AS mm
INNER JOIN {mediafile} AS m USING(mediafile_id)
WHERE m.asset_id_root = '%s' AND m.is_still = 'TRUE' AND m.mediafile_source = '%s'
ORDER BY mm.still_order
", $asset_id, $mediafile_id, 0, 1));
if ($default) {
db_query("
UPDATE {mediafile_metadata}
SET still_default = 'TRUE'
WHERE mediafile_id = '%s'
", $default);
}
}
/*
// Check is there a default image after the deletion in the asset
$default = db_result(db_query_range("
SELECT mm.mediafile_id
FROM {mediafile_metadata} AS mm
INNER JOIN {mediafile} AS m USING(mediafile_id)
WHERE mm.still_default = 'TRUE' AND m.asset_id_root = '%s' AND m.is_still = 'TRUE'
", $asset_id, 0, 1));
if (!$default) {
// There aren't any default image, so creating one
$default = db_result(db_query_range("
SELECT mm.mediafile_id
FROM {mediafile_metadata} AS mm
INNER JOIN {mediafile} AS m USING(mediafile_id)
WHERE m.asset_id_root = '%s' AND m.is_still = 'TRUE'
ORDER BY mm.still_order
", $asset_id, 0, 1));
if ($default) {
db_query("
UPDATE {mediafile_metadata}
SET still_default = 'TRUE'
WHERE mediafile_id = '%s'
", $default);
}
}
*/
db_set_active();
// retourneer een ok
return TRUE;
}
?>