Thread: [pLog-General] Send To Friend plugin
Brought to you by:
jondaley
From: Oscar R. <os...@re...> - 2003-11-14 21:07:30
|
Hi, Sice home people askes about it, I've hacked together a plugin to implement the "Send to Friend" feature. It was built as a plugin since I don't think such feature needs to be included into the core classes. You can get it from the download section in our SourceForge project page. I haven't made any official announcement since I'd like to know what you think about it first... If anybody could give it a go, that'd be great O:) It basically shows a textbox where you can type an email address and a send button. Those texts are of course configurable, as well as the content/layout of the email that is sent to users. It has security features such as ip-tracking and doesn't allow to send the same post to the same email address more than once. It of course needs its own table in the db but it will be automatically created the first time the plugin is run. Comments and feedback are always welcome :) Regards, Oscar. |
From: Oscar R. <os...@re...> - 2003-11-19 15:41:57
|
Sorry to bother you with this, has anybody tested this plugin? Even if only for a quick test? Thanks, Oscar. > Hi, > > Sice home people askes about it, I've hacked together a plugin to implement > the "Send to Friend" feature. It was built as a plugin since I don't think > such feature needs to be included into the core classes. > > You can get it from the download section in our SourceForge project page. I > haven't made any official announcement since I'd like to know what you > think about it first... If anybody could give it a go, that'd be great O:) > > It basically shows a textbox where you can type an email address and a send > button. Those texts are of course configurable, as well as the > content/layout of the email that is sent to users. It has security features > such as ip-tracking and doesn't allow to send the same post to the same > email address more than once. It of course needs its own table in the db > but it will be automatically created the first time the plugin is run. > > Comments and feedback are always welcome :) > > Regards, > > Oscar. > > > ------------------------------------------------------- > This SF. Net email is sponsored by: GoToMyPC > GoToMyPC is the fast, easy and secure way to access your computer from > any Web browser or wireless device. Click here to Try it Free! > https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl > _______________________________________________ > pLog-General mailing list > pLo...@li... > https://lists.sourceforge.net/lists/listinfo/plog-general |
From: Indigo H. <ha...@ch...> - 2003-11-19 23:03:53
|
This is what I got: *Parse error*: parse error, expecting `T_VARIABLE' or `'$'' in */usr/local/apache2/htdocs/sendtofriend.php* on line *363* Oscar Renalias wrote: >Sorry to bother you with this, has anybody tested this plugin? Even if only >for a quick test? > >Thanks, > >Oscar. > > > >>Hi, >> >>Sice home people askes about it, I've hacked together a plugin to implement >>the "Send to Friend" feature. It was built as a plugin since I don't think >>such feature needs to be included into the core classes. >> >>You can get it from the download section in our SourceForge project page. I >>haven't made any official announcement since I'd like to know what you >>think about it first... If anybody could give it a go, that'd be great O:) >> >>It basically shows a textbox where you can type an email address and a send >>button. Those texts are of course configurable, as well as the >>content/layout of the email that is sent to users. It has security features >>such as ip-tracking and doesn't allow to send the same post to the same >>email address more than once. It of course needs its own table in the db >>but it will be automatically created the first time the plugin is run. >> >>Comments and feedback are always welcome :) >> >>Regards, >> >>Oscar. >> >> |
From: Brian M R. <bm...@ch...> - 2003-11-19 23:06:43
|
Grr.... Keep forgetting to change profile when I send mail... this is annoying... ;) line 363 tries to define an array element to track the blog URL, but doesn't have anything set (it's just a $ by itself). When I comment out that line just to see what happens, I get a blank screen after clicking the send button. Indigo Haze wrote: > This is what I got: > > *Parse error*: parse error, expecting `T_VARIABLE' or `'$'' in > */usr/local/apache2/htdocs/sendtofriend.php* on line *363* |
From: Oscar R. <os...@re...> - 2003-11-20 10:16:53
|
On Thursday 20 November 2003 01:05, Brian M Rupe wrote: > Grr.... Keep forgetting to change profile when I send mail... this is > annoying... ;) > > line 363 tries to define an array element to track the blog URL, but > doesn't have anything set (it's just a $ by itself). > > When I comment out that line just to see what happens, I get a blank > screen after clicking the send button. > > Indigo Haze wrote: > > This is what I got: > > > > *Parse error*: parse error, expecting `T_VARIABLE' or `'$'' in > > */usr/local/apache2/htdocs/sendtofriend.php* on line *363* Damn... I can't really believe sometimes that I am so stupid. I've fixed that stupid thing and uploaded the whole package again. What you should get after pressing the send button is a very simple page saying wether the message was sent or not and a button back to the article. This plugin uses pLog's infrastructure to send the messages so it advisable to configure those services correctly if you want to use the plugin. Email settings are in Site Admin->Global Settings->E-mail settings (in case you haven't see it :)) Hope you don't mind testing it again... Oscar. |
From: Brian M R. <bm...@ch...> - 2003-11-20 16:54:23
|
This isn't good. I installed the new version, and now I can't get back into the admin functions! I downloaded the new version of the plugin, and overwrote the old plugin. Logged into the admin interface, ran through it's config to make sure everything was ok, clicked on the button to save changes and now I'm getting errors like the following: *Fatal error*: Call to a member function on a non-object in */usr/local/apache2/htdocs/adminview.class.php* on line *32 *However the line hasn't change from what I can see, which means it's either corrupted something else, or it's changed something in the DB.... Thoughts, suggestions, something I screwed up? ;) Oscar Renalias wrote: >Damn... I can't really believe sometimes that I am so stupid. > >I've fixed that stupid thing and uploaded the whole package again. What you >should get after pressing the send button is a very simple page saying wether >the message was sent or not and a button back to the article. > >This plugin uses pLog's infrastructure to send the messages so it advisable to >configure those services correctly if you want to use the plugin. Email >settings are in Site Admin->Global Settings->E-mail settings (in case you >haven't see it :)) > >Hope you don't mind testing it again... > >Oscar. > > >------------------------------------------------------- >This SF.net email is sponsored by: SF.net Giveback Program. >Does SourceForge.net help you be more productive? Does it >help you create better code? SHARE THE LOVE, and help us help >YOU! Click Here: http://sourceforge.net/donate/ >_______________________________________________ >pLog-General mailing list >pLo...@li... >https://lists.sourceforge.net/lists/listinfo/plog-general > > |
From: Brian M R. <bm...@ch...> - 2003-11-20 18:00:09
|
I stand corrected, It Has Cratered The Whole Blog. ;) Something got whacked in the DB I think, but I'm not sure.... here's the error when accessing the blog itself: *Fatal error*: Call to a member function on a non-object in */usr/local/apache2/htdocs/blogaction.class.php* on line *211* Brian M Rupe wrote: > This isn't good. I installed the new version, and now I can't get back > into the admin functions! > > I downloaded the new version of the plugin, and overwrote the old > plugin. Logged into the admin interface, ran through it's config to > make sure everything was ok, clicked on the button to save changes and > now I'm getting errors like the following: > > *Fatal error*: Call to a member function on a non-object in > */usr/local/apache2/htdocs/adminview.class.php* on line *32 > > *However the line hasn't change from what I can see, which means it's > either corrupted something else, or it's changed something in the > DB.... Thoughts, suggestions, something I screwed up? ;) |
From: Oscar R. <os...@re...> - 2003-11-20 18:48:45
|
On Thursday 20 November 2003 19:59, Brian M Rupe wrote: > I stand corrected, It Has Cratered The Whole Blog. ;) Something got > whacked in the DB I think, but I'm not sure.... here's the error when > accessing the blog itself: > > *Fatal error*: Call to a member function on a non-object in > */usr/local/apache2/htdocs/blogaction.class.php* on line *211* While I think of something else, you can try something: remove all the plugins and clear the 'blog_settings' field for all blogs in the db, so that all the settings are reverted to their default state. Let me know if that helps. Oscar. |
From: Brian M R. <bm...@ch...> - 2003-11-20 18:59:03
|
This is the text that was in that field, just in case it could help... O:12:"blogsettings":2:{s:6:"_objId";s:27:"blogsettings__3f85d3e852457";s:6:"_props";a:20:{s:6:"locale";s:5:"en_UK";s:20:"smiley_icons_enabled";N;s:32:"smiley_icons_enabled_in_comments";N;s:14:"show_posts_max";s:1:"5";s:8:"template";s:4:"grey";s:17:"show_more_enabled";b:1;s:19:"show_more_threshold";s:2:"75";s:19:"links_in_new_window";N;s:16:"recent_posts_max";s:1:"7";s:17:"xmlrpc_ping_hosts";a:2:{i:0;s:27:"http://rpc.weblogs.com/RPC2";i:1;s:0:"";}s:16:"htmlarea_enabled";b:1;s:16:"comments_enabled";b:1;s:14:"comments_order";s:1:"1";s:14:"blog_templates";a:1:{i:0;s:4:"lily";}s:27:"plugin_sendtofriend_enabled";s:1:"1";s:30:"plugin_sendtofriend_email_type";N;s:33:"plugin_sendtofriend_email_subject";s:38:"A friend has sent you this from {blog}";s:30:"plugin_sendtofriend_email_body";s:426:"<span style="font-family: tahoma,arial,helvetica,sans-serif;"> {topic}</span><br style="font-family: tahoma,arial,helvetica,sans-serif;" /><span style="font-family: tahoma,arial,helvetica,sans-serif;">{link}</span><br style="font-family: tahoma,arial,helvetica,sans-serif;" /><br style="font-family: tahoma,arial,helvetica,sans-serif;" /><span style="font-family: tahoma,arial,helvetica,sans-serif;">{text}</span>";s:32:"plugin_sendtofriend_textbox_text";s:18:"Send to a friend: ";s:36:"plugin_sendtofriend_send_button_text";s:5:"Send!";}} Dumping the text got the blog itself back online, but Admin access is still down at the moment... I'll tinker with things a bit and see if I find anything Oscar Renalias wrote: >While I think of something else, you can try something: remove all the plugins >and clear the 'blog_settings' field for all blogs in the db, so that all the >settings are reverted to their default state. > >Let me know if that helps. > >Oscar. > > |
From: Oscar R. <os...@re...> - 2003-11-21 12:21:05
Attachments:
blogs.class.php
|
Hi, I still don't know what's causing the problem but for those of you who've been hit by it, update your installations with the file that I have attached. I have modified the methods to get the settings of a blog (which get the contents from the 'settings' field of the plog_blogs table and unserialize them) so that if the unserializing process returns an invalid object, then it will return an default object with some default settings. Not much of an improvement but at least the whole thing won't stop working... I have also committed this to CVS in case you're fetchign the sources from there. Oscar. |
From: Oscar R. <os...@re...> - 2003-11-21 11:12:22
|
As I feared when I saw this, it turns out that PHP is not capable of unserializing an array that has at least one string with double quotes " characters in it... If you look at the content of your blog_settings field, strings are normally serialized as s:17:"show_more_enabled" where 's' stands for 'string' and 17 is the length. Funny how is the string looks like s:18:"show_more_"enabled" It won't work... In your case, apparently you defined the body of the email to be sent to persons as html code with " characters and that caused it to break. I still have to look how to fix it. I thought that serializing the settings object into the db would be easier in order to store a variable number of configuration settings but I wasn't expecting that it would break because of this... :( I'm working on a fix. I'll keep you updated! Oscar. > This is the text that was in that field, just in case it could help... > > O:12:"blogsettings":2:{s:6:"_objId";s:27:"blogsettings__3f85d3e852457";s:6: >"_props";a:20:{s:6:"locale";s:5:"en_UK";s:20:"smiley_icons_enabled";N;s:32:" >smiley_icons_enabled_in_comments";N;s:14:"show_posts_max";s:1:"5";s:8:"templ >ate";s:4:"grey";s:17:"show_more_enabled";b:1;s:19:"show_more_threshold";s:2: >"75";s:19:"links_in_new_window";N;s:16:"recent_posts_max";s:1:"7";s:17:"xmlr >pc_ping_hosts";a:2:{i:0;s:27:"http://rpc.weblogs.com/RPC2";i:1;s:0:"";}s:16: >"htmlarea_enabled";b:1;s:16:"comments_enabled";b:1;s:14:"comments_order";s:1 >:"1";s:14:"blog_templates";a:1:{i:0;s:4:"lily";}s:27:"plugin_sendtofriend_en >abled";s:1:"1";s:30:"plugin_sendtofriend_email_type";N;s:33:"plugin_sendtofr >iend_email_subject";s:38:"A friend has sent you this from > {blog}";s:30:"plugin_sendtofriend_email_body";s:426:"<span > style="font-family: tahoma,arial,helvetica,sans-serif;"> > {topic}</span><br style="font-family: > tahoma,arial,helvetica,sans-serif;" /><span style="font-family: > tahoma,arial,helvetica,sans-serif;">{link}</span><br style="font-family: > tahoma,arial,helvetica,sans-serif;" /><br style="font-family: > tahoma,arial,helvetica,sans-serif;" /><span style="font-family: > tahoma,arial,helvetica,sans-serif;">{text}</span>";s:32:"plugin_sendtofrien >d_textbox_text";s:18:"Send to a friend: > ";s:36:"plugin_sendtofriend_send_button_text";s:5:"Send!";}} > > Dumping the text got the blog itself back online, but Admin access is > still down at the moment... I'll tinker with things a bit and see if I > find anything > > Oscar Renalias wrote: > >While I think of something else, you can try something: remove all the > > plugins and clear the 'blog_settings' field for all blogs in the db, so > > that all the settings are reverted to their default state. > > > >Let me know if that helps. > > > >Oscar. > > ------------------------------------------------------- > This SF.net email is sponsored by: SF.net Giveback Program. > Does SourceForge.net help you be more productive? Does it > help you create better code? SHARE THE LOVE, and help us help > YOU! Click Here: http://sourceforge.net/donate/ > _______________________________________________ > pLog-General mailing list > pLo...@li... > https://lists.sourceforge.net/lists/listinfo/plog-general |
From: Brian M R. <bm...@ch...> - 2003-11-21 16:37:50
|
Well then I can tell you how I broke it.... I attempted to change the font type it was sent in. ;) The editor inserted the stuff with extra " but didn't escape them (\" instead of ") Maybe we need to look at using the addslashes() and stripslashes() functions? Oscar Renalias wrote: >As I feared when I saw this, it turns out that PHP is not capable of >unserializing an array that has at least one string with double quotes " >characters in it... If you look at the content of your blog_settings field, >strings are normally serialized as > >s:17:"show_more_enabled" > >where 's' stands for 'string' and 17 is the length. Funny how is the string >looks like > >s:18:"show_more_"enabled" > >It won't work... In your case, apparently you defined the body of the email to >be sent to persons as html code with " characters and that caused it to >break. > >I still have to look how to fix it. I thought that serializing the settings >object into the db would be easier in order to store a variable number of >configuration settings but I wasn't expecting that it would break because of >this... :( > >I'm working on a fix. I'll keep you updated! > >Oscar. > > |
From: Oscar R. <os...@re...> - 2003-11-24 10:54:20
|
Hi! > Well then I can tell you how I broke it.... I attempted to change the > font type it was sent in. ;) The editor inserted the stuff with extra " > but didn't escape them (\" instead of ") > > Maybe we need to look at using the addslashes() and stripslashes() > functions? Guess I spoke too fast about this... Because the problem is not actually that since if you try the following, it'll work: $s = 'String1"'; print(unserialize(serialize($s))); You'll get exactly String1", which is what you shoud get anyway ;) The funny thing with the plugin is that no matter what text you type in those textboxes, it will always make the "settings" field become nothing more than useless gibberish for the unserialize() method. I've tried all different possibilities and it always crashes so I am quite clueless at the moment. Btw Brian, did you fix the problem with accessing the admin? I got the same but I fixed it by closing the browser so that the session would be disabled but I guess you should've found that out by now :) Cheers, Oscar. |
From: Brian M R. <bm...@ch...> - 2003-11-24 18:26:17
|
Yeah, I'm back up and running with mine after a (unintended) system reboot.... So I guess I shouldn't really tinker with the STF plugin until you get a new version out for testing? ;) Oscar Renalias wrote: >Guess I spoke too fast about this... Because the problem is not actually that >since if you try the following, it'll work: > >$s = 'String1"'; >print(unserialize(serialize($s))); > >You'll get exactly String1", which is what you shoud get anyway ;) > >The funny thing with the plugin is that no matter what text you type in those >textboxes, it will always make the "settings" field become nothing more than >useless gibberish for the unserialize() method. I've tried all different >possibilities and it always crashes so I am quite clueless at the moment. > >Btw Brian, did you fix the problem with accessing the admin? I got the same >but I fixed it by closing the browser so that the session would be disabled >but I guess you should've found that out by now :) > >Cheers, > >Oscar. > > |