| 1 |
<?php
|
| 2 |
|
| 3 |
// $Id: remember_filter.module,v 1.4 2009/02/05 21:36:22 smsimms Exp $
|
| 4 |
|
| 5 |
/**
|
| 6 |
* @file
|
| 7 |
* A simple module to remember a user's most recent filter setting and
|
| 8 |
* set it as the default for new nodes.
|
| 9 |
*/
|
| 10 |
|
| 11 |
/**
|
| 12 |
* Implementation of hook_nodeapi().
|
| 13 |
*/
|
| 14 |
function remember_filter_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
|
| 15 |
global $user;
|
| 16 |
|
| 17 |
// Don't proceed if there isn't a user
|
| 18 |
if (!$user->uid) {
|
| 19 |
return;
|
| 20 |
}
|
| 21 |
|
| 22 |
switch ($op) {
|
| 23 |
case 'prepare':
|
| 24 |
// Only operate on new nodes
|
| 25 |
if (!isset($node->nid)) {
|
| 26 |
$last_format = db_result(db_query("SELECT format FROM {remember_filter} WHERE uid = '%d'", $user->uid));
|
| 27 |
if (isset($last_format)) {
|
| 28 |
$node->format = $last_format;
|
| 29 |
}
|
| 30 |
}
|
| 31 |
break;
|
| 32 |
case 'insert':
|
| 33 |
case 'update':
|
| 34 |
if (isset($node->format)) {
|
| 35 |
if (db_result(db_query("SELECT format FROM {remember_filter} WHERE uid = '%d'", $user->uid))) {
|
| 36 |
db_query("UPDATE {remember_filter} SET format = '%d' WHERE uid = '%d'", $node->format, $user->uid);
|
| 37 |
}
|
| 38 |
else {
|
| 39 |
db_query("INSERT INTO {remember_filter} (uid, format) VALUES ('%d', '%d')", $user->uid, $node->format);
|
| 40 |
}
|
| 41 |
}
|
| 42 |
break;
|
| 43 |
}
|
| 44 |
}
|