/[drupal]/contributions/modules/posterous/posterous.module
ViewVC logotype

Diff of /contributions/modules/posterous/posterous.module

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.2, Tue Jul 15 03:05:25 2008 UTC revision 1.2.2.1, Fri Apr 3 11:58:51 2009 UTC
# Line 1  Line 1 
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',
# Line 15  function posterous_perm() { Line 15  function posterous_perm() {
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',
# Line 28  function posterous_menu($may_cache) { Line 28  function posterous_menu($may_cache) {
28        'access' => user_access('configure posterous'),        'access' => user_access('configure posterous'),
29      );      );
30    }    }
31    
32    return $items;    return $items;
33  }  }
34    
# Line 40  function posterous_admin_settings() { Line 40  function posterous_admin_settings() {
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    
# Line 53  function posterous_form_alter($form_id, Line 56  function posterous_form_alter($form_id,
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();
# Line 77  function posterous_nodeapi(&$node, $op, Line 85  function posterous_nodeapi(&$node, $op,
85        break;        break;
86    }    }
87  }  }
   

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.2.2.1

  ViewVC Help
Powered by ViewVC 1.1.2