mediamosa_integrity_check_start_submit($form, &$form_state)Submit.
sites/all/modules/mediamosa/modules/integrity_check/mediamosa_integrity_check.module, line 328
<?php
function mediamosa_integrity_check_start_submit($form, &$form_state) {
// Rights check.
if (!user_access('administer integrity')) {
drupal_set_message('You have no "administer integrity" rights.', 'error');
return;
}
$op = $form_state['input']['op'];
$selected_ids = isset($form_state['input']['selected_ids']) ? $form_state['input']['selected_ids'] : array();
$type = arg(4);
//drupal_set_message('I was here: '. $op . print_r($selected_ids, TRUE) . $type);
if ($op == t('Start integrity check')) {
// Call the script.
global $base_url;
mediamosa_io::exec('wget -O - -q -t 1 ' . escapeshellcmd($base_url . '/' . drupal_get_path("module", "mediamosa_integrity_check") . '/mediamosa_integrity_check.php >/dev/null 2>/dev/null &'));
//exec('nice -n20 /usr/bin/php -f ' . $_SERVER["DOCUMENT_ROOT"] . '/' . drupal_get_path("module", "mediamosa_integrity_check") . '/mediamosa_integrity_check.php </dev/null >/dev/null 2>/dev/null &');// 1>/dev/null/ 2>&1 &
// Set message and goto.
drupal_set_message(t('Integrity check started'));
drupal_goto('admin/mediamosa/browse/integrity');
return;
}
if (count($selected_ids)) {
$result = mediamosa_db::db_query("SELECT #object_id, #id FROM {#mediamosa_log_integrity_check} WHERE #type=:type AND #id IN (:ids)", array(
'#mediamosa_log_integrity_check' => mediamosa_integrity_check_db::TABLE_NAME,
'#object_id' => mediamosa_integrity_check_db::OBJECT_ID,
'#id' => mediamosa_integrity_check_db::ID,
'#type' => mediamosa_integrity_check_db::TYPE,
':type' => $type,
'#id' => mediamosa_integrity_check_db::ID,
':ids' => $selected_ids,
));
foreach ($result as $row) {
$object_id = $row["object_id"];
$id = $row["id"];
switch ($type) {
case mediamosa_integrity_check_db::TYPE_MISSING_MEDIAFILE:
mediamosa_asset_mediafile::delete($object_id);
break;
case mediamosa_integrity_check_db::TYPE_MISSING_STILLFILE:
// TODO: test, after implemented.
$res = mediamosa_db::db_query("SELECT #asset_id_root FROM {#mediamosa_asset_mediafile} WHERE #mediafile_id = :mediafile_id", array(
'#mediamosa_asset_mediafile' => mediamosa_asset_mediafile_db::TABLE_NAME,
'#asset_id_root' => mediamosa_asset_mediafile_db::ASSET_ID_ROOT,
'#mediafile_id' => mediamosa_asset_mediafile_db::ID,
':mediafile_id' => $object_id,
));
$asset_id = $res->fetchField();
mediamosa_asset_mediafile_still::delete($asset_id, '', $object_id);
break;
case mediamosa_integrity_check_db::TYPE_MISSING_MEDIARECORD:
mediamosa_io::unlink(mediamosa_configuration_storage::mediafile_id_filename_get($object_id));
break;
case mediamosa_integrity_check_db::TYPE_MISSING_STILLRECORD:
// TODO: test, after implemented.
mediamosa_io::unlink(mediamosa_configuration_storage::mediafile_still_filename_get($object_id));
break;
default:
drupal_set_message(t('Unknown type!'), 'error');
}
// Delete the original row.
mediamosa_db::db_query("DELETE FROM {#mediamosa_log_integrity_check} WHERE #id = :id", array(
'#mediamosa_log_integrity_check' => mediamosa_integrity_check_db::TABLE_NAME,
'#id' => mediamosa_integrity_check_db::ID,
':id' => $id,
));
}
}
}
?>