- Timestamp:
- Mar 3, 2009, 8:33:23 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-content/plugins/xpressme/include/notify_functions.php
r91 r95 1 1 <?php 2 2 3 3 function onaction_publish_post_notify($new_status, $old_status, $post) 4 4 { 5 5 if ($new_status == 'publish'){ 6 include_once dirname(__FILE__) . '/notification.inc.sub.php';7 6 do_PostNotifications($post->ID,'newpost'); 8 7 } … … 11 10 function onaction_edit_post_notify($post_id) 12 11 { 13 include_once ABSPATH . '/include/notification.inc.sub.php';14 12 do_PostNotifications($post_id,'editpost'); 15 13 } … … 21 19 22 20 if ($status ==1){ 23 include_once ABSPATH . '/include/notification.inc.sub.php';24 21 do_CommentNotifications($commentID, $post_id); 25 22 } else { 26 require_once XOOPS_ROOT_PATH . '/include/notification_functions.php' ; 27 $notification_handler =& xoops_gethandler( 'notification' ) ; 28 $notification_handler->triggerEvent( 'global' , 0 , 'waiting') ; 23 do_CommentWaiting($commentID, $post_id); 29 24 } 30 25 } … … 35 30 $status = $wpdb->get_var("SELECT comment_approved FROM $wpdb->comments WHERE comment_ID = $commentID"); 36 31 if(is_null($status)) return; 37 // $status = wp_get_comment_status($commentID);38 32 if ($status == 1){ 39 33 onaction_comment_notify($commentID); … … 41 35 } 42 36 37 function Notification_triggerEvent($category, $item_id, $event, $extra_tags=array(), $user_list=array(), $omit_user_id=null) 38 { 39 global $xoops_db,$xoops_config; 40 //When notifying by a private message, 41 //it is evaded that the data base becomes read-only as a result of the check on the referrer and the method. 42 if (is_wp_cron_page_call() ){ 43 $_SERVER['HTTP_REFERER'] = 'http://'. $_SERVER[HTTP_HOST] . $_SERVER['PHP_SELF']; 44 $_SERVER['REQUEST_METHOD'] = 'POST'; 45 } 46 if (is_xmlrpc_call() ){ 47 $_SERVER['HTTP_REFERER'] = 'http://'. $_SERVER[HTTP_HOST] . $_SERVER['PHP_SELF']; 48 $_SERVER['REQUEST_METHOD'] = 'POST'; 49 } 50 51 include_once $xoops_config->xoops_mainfile_path; // load XOOPS System 52 include_once $xoops_config->xoops_root_path . '/include/notification_functions.php' ; 53 $module_id = get_xpress_modid() ; 54 $notification_handler =& xoops_gethandler( 'notification' ) ; 55 $notification_handler->triggerEvent($category, $item_id, $event, $extra_tags, $user_list, $module_id, $omit_user_id); 56 } 57 58 function do_CommentWaiting($commentID, $comment_post_ID) 59 { 60 // global $xoops_config; 61 // require_once $xoops_config->xoops_mainfile_path; 62 // xoops_mainfile_path; 63 // require_once XOOPS_ROOT_PATH . '/include/notification_functions.php' ; 64 // $notification_handler =& xoops_gethandler( 'notification' ) ; 65 Notification_triggerEvent( 'global' , 0 , 'waiting') ; 66 } 67 68 69 function do_CommentNotifications($commentID, $comment_post_ID) 70 { 71 global $xoops_config , $xoops_db; 72 73 $xpress_prefix = get_wp_prefix() ; 74 75 $table_term_relationships = $xpress_prefix .'term_relationships'; 76 $table_term_taxonomy = $xpress_prefix .'term_taxonomy'; 77 $table_terms = $xpress_prefix .'terms'; 78 $table_categories = $xpress_prefix .'categories'; 79 $wp_post = $xpress_prefix .'posts'; 80 $wp_options = $xpress_prefix .'options'; 81 $wp_users = $xpress_prefix .'users'; 82 $wp_comments = $xpress_prefix .'comments'; 83 $post_id = $comment_post_ID; 84 85 $post_title = get_the_title($post_id); 86 $post_url = get_permalink($post_id). '#comment'; 87 $blog_name = get_bloginfo('name'); 88 89 // query 90 $sql = "SELECT post_author FROM ".$wp_post." WHERE ID=$comment_post_ID "; 91 $post_author = $xoops_db->get_var($sql); 92 93 $sql = "SELECT display_name FROM $wp_users WHERE ID ='$post_author'"; 94 $user_name = $xoops_db->get_var($sql); 95 96 $comment_tags = array( 'XPRESS_AUTH_NAME' =>$user_name,'XPRESS_BLOG_NAME' =>$blog_name,'XPRESS_POST_TITLE' => $post_title , 'XPRESS_POST_URL' => $post_url ) ; 97 Notification_triggerEvent('global' , 0 , 'comment' , $comment_tags , false); 98 Notification_triggerEvent('author' , $post_author , 'comment' , $comment_tags , false); 99 Notification_triggerEvent('post' , $comment_post_ID , 'comment' , $comment_tags , false); 100 101 // categorie notification 102 if (get_xpress_db_version() < 6124){ 103 $sql2 = "SELECT c.cat_ID, c.cat_name FROM ".$table_categories." c, ".$table_post2cat." p2c WHERE c.cat_ID = p2c.category_id AND p2c.post_id=".$comment_post_ID; 104 } else { 105 $sql2 = "SELECT $table_term_relationships.object_id, $table_terms.term_id AS cat_ID, $table_terms.name AS cat_name "; 106 $sql2 .= "FROM $table_term_relationships INNER JOIN ($table_term_taxonomy INNER JOIN $table_terms ON $table_term_taxonomy.term_id = $table_terms.term_id) ON $table_term_relationships.term_taxonomy_id = $table_term_taxonomy.term_taxonomy_id "; 107 $sql2 .= "WHERE ($table_term_relationships.object_id =" . $comment_post_ID.") AND ($table_term_taxonomy.taxonomy='category')"; 108 } 109 $categories = $xoops_db->get_results($sql); 110 foreach($categories as $categorie){ 111 $cat_id = $categorie->cat_ID; 112 $cat_name = $categorie->cat_name; 113 $comment_tags = array( 'XPRESS_AUTH_NAME' =>$user_name,'XPRESS_BLOG_NAME' =>$blog_name,'XPRESS_CAT_TITLE' => $cat_name,'XPRESS_POST_TITLE' => $post_title , 'XPRESS_POST_URL' => $post_url ) ; 114 Notification_triggerEvent('category' , $cat_id , 'comment' , $comment_tags , false); 115 116 } 117 } 118 119 function do_PostNotifications($post_id,$not_event) 120 { 121 global $xoops_config, $xoops_db; 122 xpress_debug(); 123 124 125 126 // $not_event: newpost,editpost ; $commentID, $comment_post_ID) 127 128 $xpress_prefix = get_wp_prefix() ; 129 130 $table_term_relationships = $xpress_prefix .'term_relationships'; 131 $table_term_taxonomy = $xpress_prefix .'term_taxonomy'; 132 $table_terms = $xpress_prefix .'terms'; 133 $table_categories = $xpress_prefix .'categories'; 134 $wp_post = $xpress_prefix .'posts'; 135 $wp_options = $xpress_prefix .'options'; 136 $wp_users = $xpress_prefix .'users'; 137 $wp_comments = $xpress_prefix .'comments'; 138 139 $post_title = get_the_title($post_id); 140 $post_url = get_permalink($post_id). '#comment'; 141 $blog_name = get_bloginfo('name'); 142 143 // query 144 $sql = "SELECT post_author FROM ".$wp_post." WHERE ID=$post_id "; 145 $post_author = $xoops_db->get_var($sql); 146 147 $sql = "SELECT display_name FROM $wp_users WHERE ID ='$post_author'"; 148 $user_name = $xoops_db->get_var($sql); 149 150 $posts_tags = array( 'XPRESS_AUTH_NAME' =>$user_name,'XPRESS_BLOG_NAME' =>$blog_name,'XPRESS_POST_TITLE' => $post_title , 'XPRESS_POST_URL' => $post_url ) ; 151 152 switch ($not_event) { 153 case 'newpost' : 154 Notification_triggerEvent('global' , 0 , 'newpost' , $posts_tags , false); 155 Notification_triggerEvent('author' , $post_author , 'newpost' , $posts_tags , false); 156 157 // categorie notification 158 if (get_xpress_db_version() < 6124){ 159 $sql2 = "SELECT c.cat_ID, c.cat_name FROM ".$table_categories." c, ".$table_post2cat." p2c WHERE c.cat_ID = p2c.category_id AND p2c.post_id=".$post_id; 160 } else { 161 $sql2 = "SELECT $table_term_relationships.object_id, $table_terms.term_id AS cat_ID, $table_terms.name AS cat_name "; 162 $sql2 .= "FROM $table_term_relationships INNER JOIN ($table_term_taxonomy INNER JOIN $table_terms ON $table_term_taxonomy.term_id = $table_terms.term_id) ON $table_term_relationships.term_taxonomy_id = $table_term_taxonomy.term_taxonomy_id "; 163 $sql2 .= "WHERE ($table_term_relationships.object_id =" . $post_id.") AND ($table_term_taxonomy.taxonomy='category')"; 164 } 165 $categories = $xoops_db->get_results($sql); 166 foreach($categories as $categorie){ 167 $cat_id = $categorie->cat_ID; 168 $cat_name = $categorie->cat_name; 169 $posts_tags = array( 'XPRESS_AUTH_NAME' =>$user_name,'XPRESS_BLOG_NAME' =>$blog_name,'XPRESS_CAT_TITLE' => $cat_name,'XPRESS_POST_TITLE' => $post_title , 'XPRESS_POST_URL' => $post_url ) ; 170 Notification_triggerEvent('category' , $cat_id , 'newpost' , $posts_tags , false); 171 } 172 break; 173 case 'editpost' : 174 Notification_triggerEvent('post' , $post_id , 'editpost' , $posts_tags , false); 175 break; 176 default : 177 } 178 } 179 43 180 ?>
Note: See TracChangeset
for help on using the changeset viewer.