| 1 |
<?php |
<?php |
| 2 |
// $Id: posterous.module,v 1.1 2008/07/10 13:04:56 sethfreach Exp $ |
// $Id: posterous.module,v 1.5 2008/12/20 02:42:08 sethfreach Exp $ |
| 3 |
|
|
| 4 |
define("POSTEROUS_TO_EMAIL", "post@posterous.com"); |
define("POSTEROUS_TO_EMAIL", "post@posterous.com"); |
| 5 |
|
|
| 6 |
/** |
/** |
| 7 |
* Implementation of hook_perm() |
* Implementation of hook_perm() |
| 8 |
*/ |
*/ |
| 9 |
function posterous_perm() { |
function posterous_perm() { |
| 10 |
return array( |
return array( |
| 11 |
'configure posterous', |
'configure posterous', |
| 15 |
|
|
| 16 |
/** |
/** |
| 17 |
* Implementation of hook_menu() |
* Implementation of hook_menu() |
| 18 |
*/ |
*/ |
| 19 |
function posterous_menu($may_cache) { |
function posterous_menu($may_cache) { |
| 20 |
$items = array(); |
$items = array(); |
| 21 |
if (! $may_cache) { |
if ($may_cache) { |
| 22 |
$items[] = array( |
$items[] = array( |
| 23 |
'title' => t('Posterous'), |
'title' => t('Posterous'), |
| 24 |
'path' => 'admin/settings/posterous', |
'path' => 'admin/settings/posterous', |
| 28 |
'access' => user_access('configure posterous'), |
'access' => user_access('configure posterous'), |
| 29 |
); |
); |
| 30 |
} |
} |
| 31 |
|
|
| 32 |
return $items; |
return $items; |
| 33 |
} |
} |
| 34 |
|
|
| 40 |
'#options' => node_get_types('names'), |
'#options' => node_get_types('names'), |
| 41 |
'#default_value' => variable_get('posterous_content_types', array('story')), |
'#default_value' => variable_get('posterous_content_types', array('story')), |
| 42 |
); |
); |
| 43 |
$form['array_filter'] = array( |
$form['posterous_allow_on_edit'] = array( |
| 44 |
'#type' => 'hidden', |
'#title' => t('Allow Posterous option on node edit?'), |
| 45 |
|
'#description' => t('Checking this will make the "Send to Posterous also?" option available when editing existing content (at node/$nid/edit). This will not edit the content at Posterous, however, it will create a new (and presumably, similar, slightly edited) Posterous post.'), |
| 46 |
|
'#type' => 'checkbox', |
| 47 |
|
'#default_value' => variable_get('posterous_allow_on_edit', 0), |
| 48 |
); |
); |
| 49 |
|
|
| 50 |
return system_settings_form($form); |
return system_settings_form($form); |
| 51 |
} |
} |
| 52 |
|
|
| 56 |
//and this user has permission to post? |
//and this user has permission to post? |
| 57 |
if (user_access('post to posterous')) { |
if (user_access('post to posterous')) { |
| 58 |
global $user; |
global $user; |
| 59 |
|
$dis = variable_get('posterous_allow_on_edit', 0) ? FALSE : TRUE; |
| 60 |
$form['posterous'] = array( |
$form['posterous'] = array( |
| 61 |
'#title' => t('Posterous'), |
'#title' => t('Posterous'), |
| 62 |
'#description' => t('Selecting this option will also mail this content to post@posterous.com from your account email, '. $user->mail .'.'), |
'#description' => t('Selecting this option will also mail this content to post@posterous.com from your account email, '. $user->mail .'.'), |
| 63 |
'#type' => 'checkboxes', |
'#type' => 'checkboxes', |
| 64 |
'#options' => array( 'post_to_posterous' => t('Send to Posterous also?') ), |
'#options' => array( 'post_to_posterous' => t('Send to Posterous also?') ), |
| 65 |
'#weight' => 5, |
'#weight' => 5, |
| 66 |
|
'#disabled' => $dis, |
| 67 |
); |
); |
| 68 |
} |
} |
| 69 |
} |
} |
| 70 |
} |
} |
| 71 |
|
|
| 72 |
function posterous_nodeapi(&$node, $op, $a3, $a4) { |
function posterous_nodeapi(&$node, $op, $a3, $a4) { |
| 73 |
switch ($op) { |
switch ($op) { |
|
case 'insert': |
|
| 74 |
case 'update': |
case 'update': |
| 75 |
if ($node->posterous['post_to_posterous'] == 'post_to_posterous') { |
// for now, just disallow edits to be posted to Posterous. TODO: add admin setting to toggle this. |
| 76 |
|
drupal_set_message("Only new content will be posted to Posterous. Edits to Drupal content will not edit existing Posterous posts; it would create dupliates.", "error"); |
| 77 |
|
break; |
| 78 |
|
case 'insert': |
| 79 |
|
if ($node->posterous['post_to_posterous']) { |
| 80 |
global $user; |
global $user; |
| 81 |
$mailkey = 'posterous_email'; |
$mailkey = 'posterous_email'; |
| 82 |
$headers = array(); |
$headers = array(); |
| 85 |
break; |
break; |
| 86 |
} |
} |
| 87 |
} |
} |
|
|
|