function xbbcode_custom_tags_submit in Extensible BBCode 5
File
- ./
xbbcode-settings.php, line 121
Code
function xbbcode_custom_tags_submit($id, $form) {
if ($form['op'] == t('Delete')) {
if ($form['name'] && db_query("DELETE FROM {xbbcode_custom_tags} WHERE name='%s'", $form['name'])) {
$del[$name] = TRUE;
}
foreach ($form as $name => $value) {
if (!$value || !preg_match('/^delete_(.*)$/', $name, $match)) {
continue;
}
if (db_query("DELETE FROM {xbbcode_custom_tags} WHERE name='%s'", $match[1])) {
$del[$match[1]] = TRUE;
}
}
foreach ($del as $name => $value) {
drupal_set_message(t('Tag [!name] has been deleted.', array(
'!name' => $name,
)), 'status');
}
}
if ($form['name']) {
foreach ($form['options'] as $name => $value) {
if ($value) {
$form['options'][$name] = 1;
}
}
if ($form['oldname']) {
$sql = "UPDATE {xbbcode_custom_tags} SET name = '%s', replacewith = '%s', " . "description = '%s', sample = '%s', dynamic = %d, selfclosing = %d, multiarg = %d " . "WHERE name = '%s'";
$message = t('Tag [%name] has been updated.', array(
'%name' => $form['name'],
));
}
else {
$sql = "INSERT INTO {xbbcode_custom_tags} " . "(name, replacewith, description, sample, dynamic, selfclosing, multiarg) " . "VALUES ('%s', '%s', '%s', '%s', %d, %d, %d)";
$message = t('Tag [%name] has been added.', array(
'%name' => $form['name'],
));
}
$success = db_query($sql, $form['name'], $form['replacewith'], $form['description'], $form['sample'], $form['options']['dynamic'], $form['options']['selfclosing'], $form['options']['multiarg'], $form['oldname']);
if ($success) {
drupal_set_message($message, 'status');
}
}
return 'admin/settings/xbbcode/tags';
}