Version Description
- Added custom merge_vars field
Download this release
Release Info
Developer | yikesinc |
Plugin | Easy Forms for MailChimp |
Version | 1.3.0 |
Comparing to | |
See all releases |
Code changes from version 1.1.0 to 1.3.0
- classes/class.yksemeBase.php +176 -40
- css/style.ykseme.css +39 -0
- pages/lists.php +1 -4
- readme.txt +16 -1
- yikes-inc-easy-mailchimp-extender.php +2 -2
classes/class.yksemeBase.php
CHANGED
@@ -52,7 +52,7 @@ public function uninstall()
|
|
52 |
|
53 |
/***** INITIAL SETUP
|
54 |
****************************************************************************************************/
|
55 |
-
|
56 |
{
|
57 |
// If it's not already set up, initialize our plugin session
|
58 |
if(session_id() == '') session_start();
|
@@ -76,6 +76,8 @@ private function initialize()
|
|
76 |
$this->createShortcodes();
|
77 |
// Initialize current list array
|
78 |
$this->currentLists = array();
|
|
|
|
|
79 |
}
|
80 |
public function createShortcodes()
|
81 |
{
|
@@ -84,6 +86,7 @@ public function createShortcodes()
|
|
84 |
public function getOptionValue()
|
85 |
{
|
86 |
$defaultVals = array(
|
|
|
87 |
'api-key' => '',
|
88 |
'lists' => array()
|
89 |
);
|
@@ -91,25 +94,21 @@ public function getOptionValue()
|
|
91 |
$this->optionVal = $ov;
|
92 |
return $ov;
|
93 |
}
|
94 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
|
96 |
|
97 |
|
98 |
|
99 |
/***** FUNCTIONS
|
100 |
****************************************************************************************************/
|
101 |
-
public function multidimensionalArraySearch($parents, $searched)
|
102 |
-
{
|
103 |
-
if(empty($searched) || empty($parents)) return false;
|
104 |
-
foreach($parents as $key => $value)
|
105 |
-
{
|
106 |
-
$exists = true;
|
107 |
-
foreach($searched as $skey => $svalue)
|
108 |
-
$exists = ($exists && IsSet($parents[$key][$skey]) && $parents[$key][$skey] == $svalue);
|
109 |
-
if($exists){ return $key; }
|
110 |
-
}
|
111 |
-
return false;
|
112 |
-
}
|
113 |
public function getBlankFieldsArray()
|
114 |
{
|
115 |
$fields = array();
|
@@ -117,8 +116,9 @@ public function getBlankFieldsArray()
|
|
117 |
// Add Field
|
118 |
$addField = array(
|
119 |
'id' => uniqid(),
|
120 |
-
'name' => 'yks-mailchimp-field-
|
121 |
-
'
|
|
|
122 |
'require' => '1',
|
123 |
'active' => '1',
|
124 |
'locked' => '1',
|
@@ -129,11 +129,12 @@ public function getBlankFieldsArray()
|
|
129 |
// Add Field
|
130 |
$addField = array(
|
131 |
'id' => uniqid(),
|
132 |
-
'name' => 'yks-mailchimp-field-name-
|
133 |
-
'
|
134 |
-
'
|
|
|
135 |
'active' => '1',
|
136 |
-
'locked' => '
|
137 |
'sort' => 1
|
138 |
);
|
139 |
$fields[$addField['id']] = $addField;
|
@@ -141,11 +142,12 @@ public function getBlankFieldsArray()
|
|
141 |
// Add Field
|
142 |
$addField = array(
|
143 |
'id' => uniqid(),
|
144 |
-
'name' => 'yks-mailchimp-field-
|
145 |
-
'
|
146 |
-
'
|
|
|
147 |
'active' => '1',
|
148 |
-
'locked' => '
|
149 |
'sort' => 2
|
150 |
);
|
151 |
$fields[$addField['id']] = $addField;
|
@@ -154,6 +156,7 @@ public function getBlankFieldsArray()
|
|
154 |
$addField = array(
|
155 |
'id' => uniqid(),
|
156 |
'name' => 'yks-mailchimp-field-address',
|
|
|
157 |
'label' => 'Address',
|
158 |
'require' => '0',
|
159 |
'active' => '0',
|
@@ -166,6 +169,7 @@ public function getBlankFieldsArray()
|
|
166 |
$addField = array(
|
167 |
'id' => uniqid(),
|
168 |
'name' => 'yks-mailchimp-field-apt-suite',
|
|
|
169 |
'label' => 'Apt/Suite',
|
170 |
'require' => '0',
|
171 |
'active' => '0',
|
@@ -178,6 +182,7 @@ public function getBlankFieldsArray()
|
|
178 |
$addField = array(
|
179 |
'id' => uniqid(),
|
180 |
'name' => 'yks-mailchimp-field-city',
|
|
|
181 |
'label' => 'City',
|
182 |
'require' => '0',
|
183 |
'active' => '0',
|
@@ -191,6 +196,7 @@ public function getBlankFieldsArray()
|
|
191 |
'id' => uniqid(),
|
192 |
'name' => 'yks-mailchimp-field-state',
|
193 |
'label' => 'State',
|
|
|
194 |
'require' => '0',
|
195 |
'active' => '0',
|
196 |
'locked' => '0',
|
@@ -202,6 +208,7 @@ public function getBlankFieldsArray()
|
|
202 |
$addField = array(
|
203 |
'id' => uniqid(),
|
204 |
'name' => 'yks-mailchimp-field-zip',
|
|
|
205 |
'label' => 'Zip/Postal Code',
|
206 |
'require' => '0',
|
207 |
'active' => '0',
|
@@ -224,6 +231,11 @@ public function updateApiKey($k)
|
|
224 |
$this->optionVal['api-key'] = $k;
|
225 |
return update_option(YKSEME_OPTION, $this->optionVal);
|
226 |
}
|
|
|
|
|
|
|
|
|
|
|
227 |
|
228 |
|
229 |
|
@@ -291,6 +303,10 @@ public function updateList($p)
|
|
291 |
{
|
292 |
// Make sure this field was included in the update
|
293 |
$this->optionVal['lists'][$fd['yks-mailchimp-unique-id']]['fields'][$k]['active'] = (isset($fd[$v['name']]) ? '1' : '0');
|
|
|
|
|
|
|
|
|
294 |
}
|
295 |
}
|
296 |
return update_option(YKSEME_OPTION, $this->optionVal);
|
@@ -428,19 +444,20 @@ public function addUserToMailchimp($p)
|
|
428 |
parse_str($p['form_data'], $fd);
|
429 |
if(!empty($fd['yks-mailchimp-list-id']))
|
430 |
{
|
|
|
431 |
$api = new MCAPI($this->optionVal['api-key']);
|
432 |
-
$mv
|
433 |
|
434 |
// First name
|
435 |
-
if(isset($fd['yks-mailchimp-field-
|
436 |
{
|
437 |
-
$mv['
|
438 |
}
|
439 |
|
440 |
// Last name
|
441 |
-
if(isset($fd['yks-mailchimp-field-
|
442 |
{
|
443 |
-
$mv['
|
444 |
}
|
445 |
|
446 |
// Address
|
@@ -450,7 +467,7 @@ public function addUserToMailchimp($p)
|
|
450 |
|| isset($fd['yks-mailchimp-field-state'])
|
451 |
|| isset($fd['yks-mailchimp-field-zip']))
|
452 |
{
|
453 |
-
$mv['
|
454 |
'addr1'=> $fd['yks-mailchimp-field-address'].(!empty($fd['yks-mailchimp-field-apt-suite']) ? ' '.$fd['yks-mailchimp-field-apt-suite'] : ''),
|
455 |
'city' => $fd['yks-mailchimp-field-city'],
|
456 |
'state' => $fd['yks-mailchimp-field-state'],
|
@@ -461,14 +478,12 @@ public function addUserToMailchimp($p)
|
|
461 |
// Phone
|
462 |
if(isset($fd['yks-mailchimp-field-phone']))
|
463 |
{
|
464 |
-
$mv['
|
465 |
}
|
466 |
-
|
467 |
-
|
468 |
|
469 |
// By default this sends a confirmation email - you will not see new members
|
470 |
// until the link contained in it is clicked!
|
471 |
-
$retval = $api->listSubscribe($
|
472 |
|
473 |
if($api->errorCode)
|
474 |
{
|
@@ -480,6 +495,31 @@ public function addUserToMailchimp($p)
|
|
480 |
return false;
|
481 |
}
|
482 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
483 |
public function generateListContainers($listArr=false)
|
484 |
{
|
485 |
$listArr = ($listArr == false ? $this->optionVal['lists'] : $listArr);
|
@@ -514,12 +554,15 @@ public function generateListContainers($listArr=false)
|
|
514 |
<legend class="screen-reader-text"><span>Active Fields</span></legend>
|
515 |
<div class="yks-mailchimp-fields-list" id="yks-mailchimp-fields-list_<?php echo $list['id']; ?>" rel="<?php echo $list['id']; ?>">
|
516 |
<?php foreach($list['fields'] as $field){ ?>
|
517 |
-
<
|
518 |
-
<
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
|
|
|
|
|
|
523 |
<?php } ?>
|
524 |
</div>
|
525 |
</fieldset>
|
@@ -584,6 +627,99 @@ private function andOrDropdown($name, $html, $sel)
|
|
584 |
$dd = '<select name="'.$name.'" id="'.$name.'"'.(!empty($html) ? ' '.$html : '').'>'.$ddo.'</select>';
|
585 |
return $dd;
|
586 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
587 |
|
588 |
|
589 |
|
52 |
|
53 |
/***** INITIAL SETUP
|
54 |
****************************************************************************************************/
|
55 |
+
public function initialize()
|
56 |
{
|
57 |
// If it's not already set up, initialize our plugin session
|
58 |
if(session_id() == '') session_start();
|
76 |
$this->createShortcodes();
|
77 |
// Initialize current list array
|
78 |
$this->currentLists = array();
|
79 |
+
// Do any update tasks if needed
|
80 |
+
$this->runUpdateCheck();
|
81 |
}
|
82 |
public function createShortcodes()
|
83 |
{
|
86 |
public function getOptionValue()
|
87 |
{
|
88 |
$defaultVals = array(
|
89 |
+
'version' => '',
|
90 |
'api-key' => '',
|
91 |
'lists' => array()
|
92 |
);
|
94 |
$this->optionVal = $ov;
|
95 |
return $ov;
|
96 |
}
|
97 |
+
private function runUpdateCheck()
|
98 |
+
{
|
99 |
+
if(!isset($this->optionVal['version'])
|
100 |
+
|| $this->optionVal['version'] < YKSEME_VERSION_CURRENT)
|
101 |
+
{
|
102 |
+
$this->runUpdateTasks();
|
103 |
+
}
|
104 |
+
}
|
105 |
+
|
106 |
|
107 |
|
108 |
|
109 |
|
110 |
/***** FUNCTIONS
|
111 |
****************************************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
public function getBlankFieldsArray()
|
113 |
{
|
114 |
$fields = array();
|
116 |
// Add Field
|
117 |
$addField = array(
|
118 |
'id' => uniqid(),
|
119 |
+
'name' => 'yks-mailchimp-field-email',
|
120 |
+
'merge' => 'EMAIL',
|
121 |
+
'label' => 'Email',
|
122 |
'require' => '1',
|
123 |
'active' => '1',
|
124 |
'locked' => '1',
|
129 |
// Add Field
|
130 |
$addField = array(
|
131 |
'id' => uniqid(),
|
132 |
+
'name' => 'yks-mailchimp-field-name-first',
|
133 |
+
'merge' => 'FNAME',
|
134 |
+
'label' => 'First Name',
|
135 |
+
'require' => '0',
|
136 |
'active' => '1',
|
137 |
+
'locked' => '0',
|
138 |
'sort' => 1
|
139 |
);
|
140 |
$fields[$addField['id']] = $addField;
|
142 |
// Add Field
|
143 |
$addField = array(
|
144 |
'id' => uniqid(),
|
145 |
+
'name' => 'yks-mailchimp-field-name-last',
|
146 |
+
'merge' => 'LNAME',
|
147 |
+
'label' => 'Last Name',
|
148 |
+
'require' => '0',
|
149 |
'active' => '1',
|
150 |
+
'locked' => '0',
|
151 |
'sort' => 2
|
152 |
);
|
153 |
$fields[$addField['id']] = $addField;
|
156 |
$addField = array(
|
157 |
'id' => uniqid(),
|
158 |
'name' => 'yks-mailchimp-field-address',
|
159 |
+
'merge' => 'ADDR1',
|
160 |
'label' => 'Address',
|
161 |
'require' => '0',
|
162 |
'active' => '0',
|
169 |
$addField = array(
|
170 |
'id' => uniqid(),
|
171 |
'name' => 'yks-mailchimp-field-apt-suite',
|
172 |
+
'merge' => false,
|
173 |
'label' => 'Apt/Suite',
|
174 |
'require' => '0',
|
175 |
'active' => '0',
|
182 |
$addField = array(
|
183 |
'id' => uniqid(),
|
184 |
'name' => 'yks-mailchimp-field-city',
|
185 |
+
'merge' => false,
|
186 |
'label' => 'City',
|
187 |
'require' => '0',
|
188 |
'active' => '0',
|
196 |
'id' => uniqid(),
|
197 |
'name' => 'yks-mailchimp-field-state',
|
198 |
'label' => 'State',
|
199 |
+
'merge' => false,
|
200 |
'require' => '0',
|
201 |
'active' => '0',
|
202 |
'locked' => '0',
|
208 |
$addField = array(
|
209 |
'id' => uniqid(),
|
210 |
'name' => 'yks-mailchimp-field-zip',
|
211 |
+
'merge' => false,
|
212 |
'label' => 'Zip/Postal Code',
|
213 |
'require' => '0',
|
214 |
'active' => '0',
|
231 |
$this->optionVal['api-key'] = $k;
|
232 |
return update_option(YKSEME_OPTION, $this->optionVal);
|
233 |
}
|
234 |
+
public function updateVersion($k)
|
235 |
+
{
|
236 |
+
$this->optionVal['version'] = $k;
|
237 |
+
return update_option(YKSEME_OPTION, $this->optionVal);
|
238 |
+
}
|
239 |
|
240 |
|
241 |
|
303 |
{
|
304 |
// Make sure this field was included in the update
|
305 |
$this->optionVal['lists'][$fd['yks-mailchimp-unique-id']]['fields'][$k]['active'] = (isset($fd[$v['name']]) ? '1' : '0');
|
306 |
+
if($v['merge'] !== false)
|
307 |
+
{
|
308 |
+
$this->optionVal['lists'][$fd['yks-mailchimp-unique-id']]['fields'][$k]['merge'] = $fd[$v['name'].'-merge'];
|
309 |
+
}
|
310 |
}
|
311 |
}
|
312 |
return update_option(YKSEME_OPTION, $this->optionVal);
|
444 |
parse_str($p['form_data'], $fd);
|
445 |
if(!empty($fd['yks-mailchimp-list-id']))
|
446 |
{
|
447 |
+
$lid = $fd['yks-mailchimp-list-id'];
|
448 |
$api = new MCAPI($this->optionVal['api-key']);
|
449 |
+
$mv = array();
|
450 |
|
451 |
// First name
|
452 |
+
if(isset($fd['yks-mailchimp-field-name-first']))
|
453 |
{
|
454 |
+
$mv[$this->getFieldMergeVar('yks-mailchimp-field-name-first', $lid)] = $fd['yks-mailchimp-field-name-first'];
|
455 |
}
|
456 |
|
457 |
// Last name
|
458 |
+
if(isset($fd['yks-mailchimp-field-name-last']))
|
459 |
{
|
460 |
+
$mv[$this->getFieldMergeVar('yks-mailchimp-field-name-last', $lid)] = $fd['yks-mailchimp-field-name-last'];
|
461 |
}
|
462 |
|
463 |
// Address
|
467 |
|| isset($fd['yks-mailchimp-field-state'])
|
468 |
|| isset($fd['yks-mailchimp-field-zip']))
|
469 |
{
|
470 |
+
$mv[$this->getFieldMergeVar('yks-mailchimp-field-address', $lid)] = array(
|
471 |
'addr1'=> $fd['yks-mailchimp-field-address'].(!empty($fd['yks-mailchimp-field-apt-suite']) ? ' '.$fd['yks-mailchimp-field-apt-suite'] : ''),
|
472 |
'city' => $fd['yks-mailchimp-field-city'],
|
473 |
'state' => $fd['yks-mailchimp-field-state'],
|
478 |
// Phone
|
479 |
if(isset($fd['yks-mailchimp-field-phone']))
|
480 |
{
|
481 |
+
$mv[$this->getFieldMergeVar('yks-mailchimp-field-phone', $lid)] = $fd['yks-mailchimp-field-phone'];
|
482 |
}
|
|
|
|
|
483 |
|
484 |
// By default this sends a confirmation email - you will not see new members
|
485 |
// until the link contained in it is clicked!
|
486 |
+
$retval = $api->listSubscribe($lid, $fd['yks-mailchimp-field-email'], $mv);
|
487 |
|
488 |
if($api->errorCode)
|
489 |
{
|
495 |
return false;
|
496 |
}
|
497 |
|
498 |
+
private function getFieldMergeVar($fn, $lid)
|
499 |
+
{
|
500 |
+
$mk = '_YKS_UNKNOWN';
|
501 |
+
switch($fn)
|
502 |
+
{
|
503 |
+
case 'yks-mailchimp-field-name-first':
|
504 |
+
case 'yks-mailchimp-field-name-last':
|
505 |
+
case 'yks-mailchimp-field-email':
|
506 |
+
case 'yks-mailchimp-field-address':
|
507 |
+
foreach($this->optionVal['lists'] as $lud => $list)
|
508 |
+
{
|
509 |
+
if($list['list-id'] == $lid)
|
510 |
+
{
|
511 |
+
foreach($this->optionVal['lists'][$lud]['fields'] as $fud => $field)
|
512 |
+
{
|
513 |
+
if($field['name'] == $fn)
|
514 |
+
$mk = $field['merge'];
|
515 |
+
}
|
516 |
+
}
|
517 |
+
}
|
518 |
+
break;
|
519 |
+
}
|
520 |
+
return $mk;
|
521 |
+
}
|
522 |
+
|
523 |
public function generateListContainers($listArr=false)
|
524 |
{
|
525 |
$listArr = ($listArr == false ? $this->optionVal['lists'] : $listArr);
|
554 |
<legend class="screen-reader-text"><span>Active Fields</span></legend>
|
555 |
<div class="yks-mailchimp-fields-list" id="yks-mailchimp-fields-list_<?php echo $list['id']; ?>" rel="<?php echo $list['id']; ?>">
|
556 |
<?php foreach($list['fields'] as $field){ ?>
|
557 |
+
<div class="yks-mailchimp-fields-list-row">
|
558 |
+
<label title="<?php echo $field['name']; ?>" rel="<?php echo $field['id']; ?>">
|
559 |
+
<span class="yks-mailchimp-sorthandle">Drag & drop</span>
|
560 |
+
<input type="checkbox" name="<?php echo $field['name']; ?>" id="<?php echo $field['id']; ?>" value="1" <?php echo ($field['active'] == 1 ? 'checked="checked"' : ''); ?><?php echo ($field['locked'] == 1 ? 'disabled="disabled"' : ''); ?> />
|
561 |
+
|
562 |
+
<span class="yks-mailchimp-field-name"><?php echo $field['label']; ?></span>
|
563 |
+
</label>
|
564 |
+
<span class="yks-mailchimp-field-merge">*|<input type="text" name="<?php echo $field['name']; ?>-merge" id="<?php echo $field['id']; ?>-merge" value="<?php echo $field['merge']; ?>"<?php echo (($field['locked'] == 1 || $field['merge'] == false) ? ' disabled="disabled"' : ''); ?> />|*</span>
|
565 |
+
</div>
|
566 |
<?php } ?>
|
567 |
</div>
|
568 |
</fieldset>
|
627 |
$dd = '<select name="'.$name.'" id="'.$name.'"'.(!empty($html) ? ' '.$html : '').'>'.$ddo.'</select>';
|
628 |
return $dd;
|
629 |
}
|
630 |
+
|
631 |
+
|
632 |
+
|
633 |
+
|
634 |
+
|
635 |
+
/***** UPDATES
|
636 |
+
****************************************************************************************************/
|
637 |
+
public function runUpdateTasks()
|
638 |
+
{
|
639 |
+
$currentVersion = (!isset($this->optionVal['version']) || empty($this->optionVal['version']) ? '1.1.0' : $this->optionVal['version']);
|
640 |
+
$latestVersion = YKSEME_VERSION_CURRENT;
|
641 |
+
if($currentVersion < $latestVersion)
|
642 |
+
{
|
643 |
+
$updateFunction = 'runUpdateTasks_'.str_replace('.', '_', $currentVersion);
|
644 |
+
if(!method_exists($this, $updateFunction)) return false;
|
645 |
+
else
|
646 |
+
{
|
647 |
+
if(call_user_func(array(&$this, $updateFunction)))
|
648 |
+
{
|
649 |
+
update_option(YKSEME_OPTION, $this->optionVal);
|
650 |
+
$this->runUpdateTasks();
|
651 |
+
}
|
652 |
+
}
|
653 |
+
}
|
654 |
+
else return false;
|
655 |
+
}
|
656 |
+
|
657 |
+
/**
|
658 |
+
* This update makes the first name and last name optional
|
659 |
+
* To do this we need to loop through the existing fields and
|
660 |
+
* change the 'require' key to 0
|
661 |
+
*/
|
662 |
+
private function runUpdateTasks_1_1_0()
|
663 |
+
{
|
664 |
+
if($this->optionVal['lists'])
|
665 |
+
{
|
666 |
+
foreach($this->optionVal['lists'] as $lid => $list)
|
667 |
+
{
|
668 |
+
foreach($list['fields'] as $fid => $field)
|
669 |
+
{
|
670 |
+
switch($field['name'])
|
671 |
+
{
|
672 |
+
case 'yks-mailchimp-field-name-first':
|
673 |
+
case 'yks-mailchimp-field-name-last':
|
674 |
+
$this->optionVal['lists'][$lid]['fields'][$fid]['locked'] = 0;
|
675 |
+
break;
|
676 |
+
}
|
677 |
+
}
|
678 |
+
}
|
679 |
+
}
|
680 |
+
$this->optionVal['version'] = '1.2.0';
|
681 |
+
return true;
|
682 |
+
}
|
683 |
+
|
684 |
+
/**
|
685 |
+
* This update adds a merge_vars key to each
|
686 |
+
* field array so that users can specify their
|
687 |
+
* own merge_var names
|
688 |
+
*/
|
689 |
+
private function runUpdateTasks_1_2_0()
|
690 |
+
{
|
691 |
+
if($this->optionVal['lists'])
|
692 |
+
{
|
693 |
+
foreach($this->optionVal['lists'] as $lid => $list)
|
694 |
+
{
|
695 |
+
$fct = 1;
|
696 |
+
foreach($list['fields'] as $fid => $field)
|
697 |
+
{
|
698 |
+
switch($field['name'])
|
699 |
+
{
|
700 |
+
case 'yks-mailchimp-field-email':
|
701 |
+
$this->optionVal['lists'][$lid]['fields'][$fid]['merge'] = 'EMAIL';
|
702 |
+
break;
|
703 |
+
|
704 |
+
case 'yks-mailchimp-field-apt-suite':
|
705 |
+
case 'yks-mailchimp-field-city':
|
706 |
+
case 'yks-mailchimp-field-state':
|
707 |
+
case 'yks-mailchimp-field-zip':
|
708 |
+
$this->optionVal['lists'][$lid]['fields'][$fid]['merge'] = false;
|
709 |
+
break;
|
710 |
+
|
711 |
+
default:
|
712 |
+
if(empty($this->optionVal['lists'][$lid]['fields'][$fid]['merge']) || !isset($this->optionVal['lists'][$lid]['fields'][$fid]['merge']))
|
713 |
+
$this->optionVal['lists'][$lid]['fields'][$fid]['merge'] = 'MERGE'.$fct;
|
714 |
+
$fct++;
|
715 |
+
break;
|
716 |
+
}
|
717 |
+
}
|
718 |
+
}
|
719 |
+
}
|
720 |
+
$this->optionVal['version'] = '1.3.0';
|
721 |
+
return true;
|
722 |
+
}
|
723 |
|
724 |
|
725 |
|
css/style.ykseme.css
CHANGED
@@ -42,6 +42,10 @@
|
|
42 |
margin: 15px auto 15px auto;
|
43 |
text-align: center;
|
44 |
}
|
|
|
|
|
|
|
|
|
45 |
|
46 |
.yks-mailchimp-fields-td
|
47 |
{
|
@@ -88,6 +92,41 @@
|
|
88 |
{
|
89 |
border-bottom: 0px dashed #DEDEDE !important;
|
90 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
|
92 |
.yks-mailchimpFormTable
|
93 |
{
|
42 |
margin: 15px auto 15px auto;
|
43 |
text-align: center;
|
44 |
}
|
45 |
+
.yks-status .yks-notice p
|
46 |
+
{
|
47 |
+
padding: 5px;
|
48 |
+
}
|
49 |
|
50 |
.yks-mailchimp-fields-td
|
51 |
{
|
92 |
{
|
93 |
border-bottom: 0px dashed #DEDEDE !important;
|
94 |
}
|
95 |
+
|
96 |
+
.yks-mailchimp-fields-list
|
97 |
+
{
|
98 |
+
background-color: #F9F9F9;
|
99 |
+
border: 1px solid #EEE;
|
100 |
+
}
|
101 |
+
.yks-mailchimp-fields-list .yks-mailchimp-fields-list-row:nth-child(even)
|
102 |
+
{
|
103 |
+
background-color: #EEE;
|
104 |
+
}
|
105 |
+
.yks-mailchimp-fields-list .yks-mailchimp-fields-list-row:nth-child(odd)
|
106 |
+
{
|
107 |
+
}
|
108 |
+
.yks-mailchimp-fields-list .yks-mailchimp-fields-list-row
|
109 |
+
{
|
110 |
+
display: block;
|
111 |
+
}
|
112 |
+
.yks-mailchimp-fields-list .yks-mailchimp-fields-list-row label
|
113 |
+
{
|
114 |
+
display: inline-block;
|
115 |
+
}
|
116 |
+
|
117 |
+
.yks-mailchimp-field-name
|
118 |
+
{
|
119 |
+
display: inline-block;
|
120 |
+
width: 200px;
|
121 |
+
}
|
122 |
+
.yks-mailchimp-field-merge
|
123 |
+
{
|
124 |
+
display: inline-block;
|
125 |
+
}
|
126 |
+
.yks-mailchimp-field-merge .yks-mailchimp-field-merge
|
127 |
+
{
|
128 |
+
width: 100px;
|
129 |
+
}
|
130 |
|
131 |
.yks-mailchimpFormTable
|
132 |
{
|
pages/lists.php
CHANGED
@@ -160,10 +160,7 @@
|
|
160 |
<div class="yks-status" style="display: block;">
|
161 |
<div class="yks-notice">
|
162 |
<p>
|
163 |
-
<strong>Notice:</strong>
|
164 |
-
<strong>First Name:</strong> *|FNAME|*<br />
|
165 |
-
<strong>Last Name:</strong> *|LNAME|*<br />
|
166 |
-
<strong>Address:</strong> *|ADDR1|*
|
167 |
</p>
|
168 |
</div>
|
169 |
</div>
|
160 |
<div class="yks-status" style="display: block;">
|
161 |
<div class="yks-notice">
|
162 |
<p>
|
163 |
+
<strong>Notice:</strong> when adding custom merge vars, keep in mind that apt, city, state and zip all use the address merge var because of the way MailChimp processes those fields. If you experience any bugs or have a feature request, please submit them to our <a href="https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender">Github Issue Tracker</a>.
|
|
|
|
|
|
|
164 |
</p>
|
165 |
</div>
|
166 |
</div>
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: http://yikesinc.com
|
|
4 |
Tags: mailchimp, marketing, email, mailing lists, newsletter, signup
|
5 |
Requires at least: 3.2
|
6 |
Tested up to: 3.2
|
7 |
-
Stable tag: 1.
|
8 |
|
9 |
The YIKES, Inc. MailChimp extender allows you to easily add a MailChimp signup form to a page or post using a shortcode or template tag.
|
10 |
|
@@ -16,6 +16,8 @@ In addition, this plugin allows you to customize your signup forms with CSS. You
|
|
16 |
|
17 |
Targeted email messages are a more effective form of eMarketing for your business. The advantages of using MailChimp are vast and now you can expand upon its abilities in Wordpress easily. With simple installation and easy to follow instructions, this extender will considerably improve your email marketing campaigns.
|
18 |
|
|
|
|
|
19 |
== Installation ==
|
20 |
|
21 |
1. Download the plugin .zip file
|
@@ -52,6 +54,13 @@ This is a temporary issue that has to do with the MERGE VARS naming. Follow the
|
|
52 |
|
53 |
== Changelog ==
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
= 1.1.0 =
|
56 |
* Changed the list logic and added a notice for the MERGE VAR naming schema
|
57 |
|
@@ -62,3 +71,9 @@ This is a temporary issue that has to do with the MERGE VARS naming. Follow the
|
|
62 |
* Initial Release
|
63 |
|
64 |
== Upgrade Notice ==
|
|
|
|
|
|
|
|
|
|
|
|
4 |
Tags: mailchimp, marketing, email, mailing lists, newsletter, signup
|
5 |
Requires at least: 3.2
|
6 |
Tested up to: 3.2
|
7 |
+
Stable tag: 1.2.0
|
8 |
|
9 |
The YIKES, Inc. MailChimp extender allows you to easily add a MailChimp signup form to a page or post using a shortcode or template tag.
|
10 |
|
16 |
|
17 |
Targeted email messages are a more effective form of eMarketing for your business. The advantages of using MailChimp are vast and now you can expand upon its abilities in Wordpress easily. With simple installation and easy to follow instructions, this extender will considerably improve your email marketing campaigns.
|
18 |
|
19 |
+
If you notice any issues, please submit a bug on our [Github Issue Tracker](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues "Github Issue Tracker") and I'll look in to it as soon as possible.
|
20 |
+
|
21 |
== Installation ==
|
22 |
|
23 |
1. Download the plugin .zip file
|
54 |
|
55 |
== Changelog ==
|
56 |
|
57 |
+
= 1.3.0 =
|
58 |
+
* Added custom merge_vars field
|
59 |
+
|
60 |
+
= 1.2.0 =
|
61 |
+
* Removed required from First Name and Last Name fields
|
62 |
+
* Added update routines for future versions
|
63 |
+
|
64 |
= 1.1.0 =
|
65 |
* Changed the list logic and added a notice for the MERGE VAR naming schema
|
66 |
|
71 |
* Initial Release
|
72 |
|
73 |
== Upgrade Notice ==
|
74 |
+
|
75 |
+
= 1.3.0 =
|
76 |
+
* Custom merge vars allows more customized field configuration
|
77 |
+
|
78 |
+
= 1.2.0 =
|
79 |
+
* First Name and Last Name fields are no longer required
|
yikes-inc-easy-mailchimp-extender.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
Plugin Name: Yikes, Inc Easy Mailchimp Extender
|
5 |
Plugin URI: http://www.yikesinc.com
|
6 |
Description: Mailchimp API integration in the form of a shortcode or php snippet
|
7 |
-
Version: 1.
|
8 |
Author: Yikes, Inc
|
9 |
Author URI: http://www.yikesinc.com
|
10 |
License: GPL2
|
@@ -29,7 +29,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
29 |
#_________________________________________________ CONSTANTS
|
30 |
/** Configuration **/
|
31 |
if(!defined('YKSEME_DEBUG')) define('YKSEME_DEBUG', true);
|
32 |
-
if(!defined('YKSEME_VERSION_CURRENT')) define('YKSEME_VERSION_CURRENT', '1.
|
33 |
if(!defined('YKSEME_REQ_PHP')) define('YKSEME_REQ_PHP', '5.0');
|
34 |
if(!defined('YKSEME_AUTHOR')) define('YKSEME_AUTHOR', 'Sean Kennedy');
|
35 |
if(!defined('YKSEME_SITE')) define('YKSEME_SITE', site_url().'/');
|
4 |
Plugin Name: Yikes, Inc Easy Mailchimp Extender
|
5 |
Plugin URI: http://www.yikesinc.com
|
6 |
Description: Mailchimp API integration in the form of a shortcode or php snippet
|
7 |
+
Version: 1.3.0
|
8 |
Author: Yikes, Inc
|
9 |
Author URI: http://www.yikesinc.com
|
10 |
License: GPL2
|
29 |
#_________________________________________________ CONSTANTS
|
30 |
/** Configuration **/
|
31 |
if(!defined('YKSEME_DEBUG')) define('YKSEME_DEBUG', true);
|
32 |
+
if(!defined('YKSEME_VERSION_CURRENT')) define('YKSEME_VERSION_CURRENT', '1.3.0');
|
33 |
if(!defined('YKSEME_REQ_PHP')) define('YKSEME_REQ_PHP', '5.0');
|
34 |
if(!defined('YKSEME_AUTHOR')) define('YKSEME_AUTHOR', 'Sean Kennedy');
|
35 |
if(!defined('YKSEME_SITE')) define('YKSEME_SITE', site_url().'/');
|