Latest from imrodmartin.com

Home | Feed aggregator | Sources | Latest from imrodmartin.com

Arlington Cemetery - Wreath Laying Ceremony

At the time of this writing, I've been an American citizen for just under two weeks.  Two days ago I flew to Washington DC to surprise a friend of mine, Bobby Litchge.

Bobby is a 90 year old veteran of World War 2.  He's as tough as they come and still incredibly active.  He's someone I really admire on so many levels.

The Coolest Thank You

Over the years I've received tons of thank you notes for speaking, training or working on something.

This may be the coolest "thank you" note yet... 

Listen to My Interview on Innotiom

One of the fun things in my career is hearing from people who have appreciated the training I've done over the years.  Currently, my Drupal 8 videos on YouTube have over 1.2 million views.  The Mautic channel is gaining viewers and our videos at https://mautic.com/help have tens of thousands of views.

I was recently interviewed for the Innotiom podcast about my role with Mautic.  You can listen to it here... https://innotiom.com/rod-martin-director-of-training-at-mautic/.

How to Use RSForm! Pro for PayPal Recurring Donations

I had a friend ask if I could create a donation/membership page for their non-profit using PayPal.  The site is built in Joomla! 3.x so I naturally thought of an excellent extension like JoomDonation.  However, they wanted a number of tweaks that meant modifying the extension which I hesitate to do.  Enter RSForm! Pro.  It's pretty much been my go-to form builder on any Joomla! site I've built over the years.

Basic View:

 Requirements:
  • Select a pre-set amount or enter a custom donation amount.
  • One-Time or Recurring donations (recurring donations required a PayPal account - users would manage them there...)
  • Recurring Donations on a Monthly, Quarterly, Semi-Annual or Annual basis.
  • Recurring donations would be empty for on-going donations, or at least 2, since 1 throws an error at PayPal.  (RSForm has a "range" validation feature).
  • Clean looking.
  • If you clicked on the Custom Donation Amount a field appears, allowing the amounts to be a required field, even if a donor chose the custom option.
Code: (download at the bottom of the article)

The magic happens upon form submission.  The php tests for all the variables then sends the appropriate link to PayPal. (Please don't write to me and tell me my code could be improved... I know it could. - I haven't done any coding in years lol).

/*Recurring Donation */
if ($_POST['form']['recurring'] == 'Recurring')
{
$business = 'design [AT] navigatetomorrow [DOT] com';;
/* getting the donation name */
if ($_POST['form']['other'][0] != '') {$item_name = str_replace($replace, $with, 'Custom Amount');}
if ($_POST['form']['membership'][0] != '0') {$item_name = str_replace($replace, $with, '{membership:text}');}
/* getting the donation amount */
if ($_POST['form']['membership'][0] != '0') {$total = str_replace($replace, $with, '{membership:value}');}
/* getting duration and frequency for PayPal */
$duration = str_replace($replace, $with, '{duration:value}');
$frequency = str_replace($replace, $with, '{frequency:value}');
if ($frequency == 'Q') {$p3 = '3'; $t3 ='M';}
if ($frequency == 'Y') {$p3 = '1'; $t3 = 'Y';}
if ($frequency == 'S') {$p3 = '6';$t3 ='M';}
if ($frequency == 'M') {$p3 = '1';$t3 ='M';}
/* PayPal variables set */
$currency_code = 'USD';
$a3 = $total;
$src = '1';
$srt = $duration;
$no_note = '1';
/* upon successful completion of the donation, RSForm will update the status from Pending to Accepted */
$notify_url = JURI::root().'index.php?option=com_rsform&formId='.$formId.'&submission='.$SubmissionId;
$url= 'https://www.paypal.com/cgi-bin/webscr?cmd=_xclick-subscriptions&business='.urlencode($business).'&item_name='.urlencode($item_name).'&currency_code='.urlencode($currency_code).'&a3='.urlencode($a3).'&p3='.urlencode($p3).'&t3='.urlencode($t3).'&src='.urlencode($src).'&srt='.urlencode($srt).'&no_note='.urlencode($no_note).'&notify_url='.urlencode($notify_url);
$app = JFactory::getApplication();
$app->redirect($url);
exit();
} /* One Time Donation */
if ($_POST['form']['recurring'] == 'One Time')
{
if ($_POST['form']['membership'][0] != '') {$item_name = str_replace($replace, $with, '{membership:text}');}
if ($_POST['form']['other'][0] != '') {$item_name = str_replace($replace, $with, 'Custom Amount');}
if ($_POST['form']['other'][0] != '') {$total = str_replace($replace, $with, '{other:value}');}
if ($_POST['form']['membership'][0] != '0') {$total = str_replace($replace, $with, '{membership:value}');}
$currency_code = 'USD';
$a3 = $total;
$p3 = '0';
$t3 = '1';
$src = '0';
$no_note = '1';
$notify_url = JURI::root().'index.php?option=com_rsform&formId='.$formId.'&submission='.$SubmissionId;
$url='https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=design@navigatetomorrow.com&item_name=One+Time+Donation&amount=' .$total .'&currency_code=USD&notify_url='.urlencode($notify_url);
$app = JFactory::getApplication();
$app->redirect($url);
exit();
} Test It Out

Feel free to test out the form - you can even send a donation if you'd like :) {rsform 4}

Download

To use this code you must have a Joomla 3.x website (minimum) and a copy of RSForm! Pro.

Download

How to Use RSForm! Pro for PayPal Recurring Donations

I had a friend ask if I could create a donation/membership page for their non-profit using PayPal.  The site is built in Joomla! 3.x so I naturally thought of an excellent extension like JoomDonation.  However, they wanted a number of tweaks that meant modifying the extension which I hesitate to do.  Enter RSForm! Pro.  It's pretty much been my go-to form builder on any Joomla! site I've built over the years.

Basic View:

 Requirements:
  • Select a pre-set amount or enter a custom donation amount.
  • One-Time or Recurring donations (recurring donations required a PayPal account - users would manage them there...)
  • Recurring Donations on a Monthly, Quarterly, Semi-Annual or Annual basis.
  • Recurring donations would be empty for on-going donations, or at least 2, since 1 throws an error at PayPal.  (RSForm has a "range" validation feature).
  • Clean looking.
  • If you clicked on the Custom Donation Amount a field appears, allowing the amounts to be a required field, even if a donor chose the custom option.
Code: (download at the bottom of the article)

The magic happens upon form submission.  The php tests for all the variables then sends the appropriate link to PayPal. (Please don't write to me and tell me my code could be improved... I know it could. - I haven't done any coding in years lol).

/*Recurring Donation */
if ($_POST['form']['recurring'] == 'Recurring')
{
$business = 'design [AT] navigatetomorrow [DOT] com';;
/* getting the donation name */
if ($_POST['form']['other'][0] != '') {$item_name = str_replace($replace, $with, 'Custom Amount');}
if ($_POST['form']['membership'][0] != '0') {$item_name = str_replace($replace, $with, '{membership:text}');}
/* getting the donation amount */
if ($_POST['form']['membership'][0] != '0') {$total = str_replace($replace, $with, '{membership:value}');}
/* getting duration and frequency for PayPal */
$duration = str_replace($replace, $with, '{duration:value}');
$frequency = str_replace($replace, $with, '{frequency:value}');
if ($frequency == 'Q') {$p3 = '3'; $t3 ='M';}
if ($frequency == 'Y') {$p3 = '1'; $t3 = 'Y';}
if ($frequency == 'S') {$p3 = '6';$t3 ='M';}
if ($frequency == 'M') {$p3 = '1';$t3 ='M';}
/* PayPal variables set */
$currency_code = 'USD';
$a3 = $total;
$src = '1';
$srt = $duration;
$no_note = '1';
/* upon successful completion of the donation, RSForm will update the status from Pending to Accepted */
$notify_url = JURI::root().'index.php?option=com_rsform&formId='.$formId.'&submission='.$SubmissionId;
$url= 'https://www.paypal.com/cgi-bin/webscr?cmd=_xclick-subscriptions&business='.urlencode($business).'&item_name='.urlencode($item_name).'&currency_code='.urlencode($currency_code).'&a3='.urlencode($a3).'&p3='.urlencode($p3).'&t3='.urlencode($t3).'&src='.urlencode($src).'&srt='.urlencode($srt).'&no_note='.urlencode($no_note).'&notify_url='.urlencode($notify_url);
$app = JFactory::getApplication();
$app->redirect($url);
exit();
} /* One Time Donation */
if ($_POST['form']['recurring'] == 'One Time')
{
if ($_POST['form']['membership'][0] != '') {$item_name = str_replace($replace, $with, '{membership:text}');}
if ($_POST['form']['other'][0] != '') {$item_name = str_replace($replace, $with, 'Custom Amount');}
if ($_POST['form']['other'][0] != '') {$total = str_replace($replace, $with, '{other:value}');}
if ($_POST['form']['membership'][0] != '0') {$total = str_replace($replace, $with, '{membership:value}');}
$currency_code = 'USD';
$a3 = $total;
$p3 = '0';
$t3 = '1';
$src = '0';
$no_note = '1';
$notify_url = JURI::root().'index.php?option=com_rsform&formId='.$formId.'&submission='.$SubmissionId;
$url='https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=design@navigatetomorrow.com&item_name=One+Time+Donation&amount=' .$total .'&currency_code=USD&notify_url='.urlencode($notify_url);
$app = JFactory::getApplication();
$app->redirect($url);
exit();
} Test It Out

Feel free to test out the form - you can even send a donation if you'd like :) {rsform 4}

Download

To use this code you must have a Joomla 3.x website (minimum) and a copy of RSForm! Pro.

Download

How to Accept Others

A few months ago I was riding my motorcycle through town when a guy turned into my lane from a side street and almost hit me.  I'll admit - I was angry.  I swerved, hit the horn and was determined to give him a piece of my mind.  As we came up to the next intersection, he got into the left turn lane so I pulled up beside him and glared.  

How to Accept Others

A few months ago I was riding my motorcycle through town when a guy turned into my lane from a side street and almost hit me.  I'll admit - I was angry.  I swerved, hit the horn and was determined to give him a piece of my mind.  As we came up to the next intersection, he got into the left turn lane so I pulled up beside him and glared.  

A New Day

 by Dr. Heartsill Wilson

This is the beginning of a new day.
God has given me this day to use as I will.
I can waste it,
Or use it for good.
What I do today is important,
Because I am exchanging a day of my life for it.

A New Day

 by Dr. Heartsill Wilson

This is the beginning of a new day.
God has given me this day to use as I will.
I can waste it,
Or use it for good.
What I do today is important,
Because I am exchanging a day of my life for it.

audio test

https://fbcaurorasermons.s3.amazonaws.com/20101107.mp3

October Update 2016

So...

It's been a while since I wrote anything on the blog.  If you read blogs, you've probably seen this before.  Creating content for others kind of takes the fun out of keeping your own site up and running. 

October Update 2016

So...it's been a while since I wrote anything on the blog.  If you read blogs, you've probably seen this before.  Creating content for others kind of takes the fun out of keeping your own site up and running. 

Making Good Decisions

This is the fifth in a series of posts from a talk I gave at the Joomla World Conference in 2013.  While that 2013, I believe the 10  lessons are even more important today.

Making Good Decisions

This is the fifth in a series of posts from a talk I gave at the Joomla World Conference in 2013.  While that 2013, I believe the 10  lessons are even more important today.

Resistance Isn't Futile - You Can Innovate

This is the fourth in a series of posts from a talk I gave at the Joomla World Conference in 2013.  The idea of innovation sometimes scares us, sometimes inspires us, sometimes fills us with dread.

Lesson 4:  Innovate As If Your Business Depended On It

When the Borg arrived on the scene, the entire Federation and even humanity itself was in jeopardy.  In one episode of Star Trek the Next Generation, Commander Riker saved the day, and Captain Picard by excuting the "Riker Maneuver", a never before seen (and therefore unimagined) approach to defeating the Borg in battle.  It was risky, but it worked!

The idea of innovation sometimes scares us, sometimes inspires us, sometimes fills us with dread.  You've probably heard the quote "failure is not an option" from the movie Apollo 13 (which by the way, was never actually said by Gene Kranz).  It's inspiring!

In this part of the keynote, I talked about five rules for innovation from Nilofer Merchant, author of 11 Rules for Creating Value in the Social Era.

  1. Know your purpose... or... know your WHY.
  2. Figure out what you need to learn.
  3. Figure out what you need to un-learn
  4. Pilot, invest, experiment
  5. Reward learning and cooperation.

 

Sidenote: Open source projects struggle with #5 as much as anyone does.  We sometimes reward bad behavior by ignoring it or even excusing it because someone is "too valuable" to the project to lose.  Instead, bad behavior needs to dealt with, within a code of conduct, such as the ones the Drupal and Joomla! communities have developed.  Whatever the process, I believe Donna Benjamin is correct in her blog post entitled "Empathy".  We need sympathy, empathy and compassion as we work through conflict.  Innovation at the cost of learning and cooperation isn't worth it.

This video is a little longer than the first three, but hopefully it will be of value to the discussion.

https://vimeo.com/138858671

 

Resistance Isn't Futile - You Can Innovate

This is the fourth in a series of posts from a talk I gave at the Joomla World Conference in 2013.  The idea of innovation sometimes scares us, sometimes inspires us, sometimes fills us with dread.

Rod's Big Adventure - 2015

It's been my privilege to teach a week long seminar at Kingswood University in Sussex, NB Canada every other year (basically) since 2004.  This year's class is the first week of September.

Rod's Big Adventure - 2015

It's been my privilege to teach a week long seminar at Kingswood University in Sussex, NB Canada every other year (basically) since 2004.  This year's class is the first week of September.

The last time the class was held during warm months was 2010.  I rode my old Goldwing up to the school (about 3,000 miles round trip) and blogged about it here.  I'll be doing the same this year on the new Wing, and I'm really excited about the trip.

This is the "unofficial" map I'll be using, hitting some highlights along the way.

I'll be leaving Wednesday or Thursday this week - heading out on hwy 50E from Cincinnati - a quiet highway free from trucks and a lot of traffic.  I'll leave 50 at Aurora WV and head NE into NY on my way to Mt. Washington NE.  From there down to Rockland ME and up hwy 1 all the way to Calais where I'll cross the border into Canada.  From there its a straight shot to Sussex.  I'm anticipating four days for the trip since I want to spend some time at Mt. Washington and a few places along the way in Maine.

Watch for updates this week.

Pages