View Single Post
  #220  
Old 07-27-2007, 05:07 PM
rbgrn rbgrn is offline
 
Join Date: Jul 2007
Posts: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Cyricx - I've got everything working with a few modifications, here's my general experience feedback and breakdown:

1) The feature I need is simply to pull mailing-list emails into threads/posts
1a) I modified the code to figure out which thread an email should go into using the subject
1b) I commented out error mails or response mails as I don't want interaction

2) There is no cron logging working for this
2a) I tried adding some in the cron job php and changed the phrase to have {1} in it so that it'd show up, but for whatever reason (I'm new to vb) it does not still
2b) I recommend adding some informational and debugging logging as it's frustrating when things aren't working and you can't figure out why
2c) My recommended categories - Email Received, Email Sent, Error Email Sent, Other Errors

3) Configuration
3a) It'd be ideal to have configuration as a separate menu item rather than hang off the forum itself. Multiple select of forums would be excellent on a single configuration
3b) For my set up, I'd like to have an override user that ALL emails get posted as
3c) Also I'd like to pull email from one box and depending on who it's from, get delegated into different forums (for me that translates to multiple mailing list support off 1 account). Another solution would be supporting a box other than INBOX
3d) I'd like an option to globally shut off all outbound email, as I don't use that.
3e) I don't want any other behavior changed within my board

4) Security
4a) Email inherently is insecure to use for this as I can forge my From address and post as someone I'm not. There's not a lot you can do about that, unfortunately. Just a concern.

5) Code
5a) Your code is one monolithic block. It'll be easier for you to add features if you refactor it a bit, breaking it into logical blocks using methods or classes if it gets even bigger.
5b) Consider adding some debugging ability. It'd be nice for us hackers.

Of course it's easy for someone to sit back and criticize another's work, which is not what I'm trying to do. I really appreciate your time and think this is very valuable. I have different uses for it than what you intended initially and I'd consider polishing this off doing all of my above things and forking it off into a different project maybe called vBulletin Mail Pull or something of that nature. I may consider that if I get some more time to work on this in the future. For now, I'll create multiple mail boxes and users to go into the different forums for different mailing lists.

Thanks again for all your work.

Here's my modification to group threads together

Code:
            // find thread with matching title 'Post'
            // make reply if match
            $baseTitle = preg_replace("/re: /", "", $title);
            $baseTitle = preg_replace("/Re: /", "", $baseTitle);
            $baseTitle = preg_replace("/RE: /", "", $baseTitle);
            $queryResult = $vbulletin->db->query_first("
                SELECT threadid
                FROM " . TABLE_PREFIX . "thread
                WHERE title = '$title' OR title = '$baseTitle' LIMIT 1
            ");
            if ($queryResult['threadid']) {
                $threadid = $queryResult['threadid'];
                $type = "reply";
                $cronlog .= "Found reply for thread $threadid";
            }
            // ##### Time To Post The Reply #####
            if ($type == "reply")
            {
                // Building post info
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01106 seconds
  • Memory Usage 1,776KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete