PluginProbe
Tracking Code Manager / 1.11.9
Tracking Code Manager v1.11.9
2.8.0 2.7.0 trunk 1.11.8 1.11.9 1.12.0 1.12.1 1.12.2 1.12.3 1.4 1.5 2.0.0 2.0.1 2.0.13 2.0.14 2.0.15 2.0.16 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.2.0 All 29 releases
← All changes | includes/admin/editor.php +331 -164 1.51.11.9 View file →
@@ -1,118 +1,236 @@
1 1 <?php
2 -function tcm_ui_editor() {
3 - global $tcm;
2 +function tcmp_notice_pro_features() {
3 + global $tcmp;
4 + ?>
5 + <br/>
6 + <div class="message updated below-h2 iwp">
7 + <div style="height:10px;"></div>
8 + <?php
9 + $i=1;
10 + while($tcmp->Lang->H('Notice.ProHeader'.$i)) {
11 + $tcmp->Lang->P('Notice.ProHeader'.$i);
12 + echo '<br/>';
13 + ++$i;
14 + }
15 + $i=1;
16 + ?>
17 + <br/>
18 + <?php
4 19
5 - $tcm->Form->prefix = 'Editor';
6 - $id = intval($tcm->Utils->qs('id', 0));
7 - $action = $tcm->Utils->qs('action');
8 - $snippet = $tcm->Manager->get($id, TRUE);
9 - //var_dump($snippet);
20 + /*$options = array('public' => TRUE, '_builtin' => FALSE);
21 + $q=get_post_types($options, 'names');
22 + if(is_array($q) && count($q)>0) {
23 + sort($q);
24 + $q=implode(', ', $q);
25 + $q='(<b>'.$q.'</b>)';
26 + } else {
27 + $q='';
28 + }*/
29 + $q='';
30 + while($tcmp->Lang->H('Notice.ProFeature'.$i)) { ?>
31 + <div style="clear:both; margin-top: 2px;"></div>
32 + <div style="float:left; vertical-align:middle; height:24px; margin-right:5px; margin-top:-5px;">
33 + <img src="<?php echo TCMP_PLUGIN_IMAGES_URI?>tick.png" />
34 + </div>
35 + <div style="float:left; vertical-align:middle; height:24px;">
36 + <?php $tcmp->Lang->P('Notice.ProFeature'.$i, $q)?>
37 + </div>
38 + <?php ++$i;
39 + }
40 + ?>
41 + <div style="clear:both;"></div>
42 + <div style="height:10px;"></div>
43 + <div style="float:right;">
44 + <?php
45 + $url=TCMP_PAGE_PREMIUM.'?utm_source=free-users&utm_medium=wp-cta&utm_campaign=wp-plugin';
46 + ?>
47 + <a href="<?php echo $url?>" target="_blank">
48 + <b><?php $tcmp->Lang->P('Notice.ProCTA')?></b>
49 + </a>
50 + </div>
51 + <div style="height:10px; clear:both;"></div>
52 + </div>
53 + <br/>
54 +<?php }
55 +function tcmp_ui_editor_check($snippet) {
56 + global $tcmp;
10 57
11 - if (wp_verify_nonce($tcm->Utils->qs('tcm_nonce'), 'tcm_nonce')) {
12 - //var_dump($_POST);
13 - //var_dump($_GET);
14 - foreach ($snippet as $k => $v) {
15 - $snippet[$k] = $tcm->Utils->qs($k);
16 - if (is_string($snippet[$k])) {
17 - $snippet[$k] = stripslashes($snippet[$k]);
58 + $snippet['trackMode']=intval($snippet['trackMode']);
59 + $snippet['trackPage']=intval($snippet['trackPage']);
60 +
61 + $snippet['includeEverywhereActive']=0;
62 + if($snippet['trackPage']==TCMP_TRACK_PAGE_ALL) {
63 + $snippet['includeEverywhereActive']=1;
64 + }
65 + $snippet=$tcmp->Manager->sanitize($snippet['id'], $snippet);
66 +
67 + if ($snippet['name'] == '') {
68 + $tcmp->Options->pushErrorMessage('Please enter a unique name');
69 + } else {
70 + $exist=$tcmp->Manager->exists($snippet['name']);
71 + if ($exist && $exist['id'] != $snippet['id']) {
72 + //nonostante il tutto il nome deve essee univoco
73 + $tcmp->Options->pushErrorMessage('You have entered a name that already exists. IDs are NOT case-sensitive');
74 + }
75 + }
76 + if ($snippet['code'] == '') {
77 + $tcmp->Options->pushErrorMessage('Paste your HTML Tracking Code into the textarea');
78 + }
79 +
80 + if($snippet['trackMode']==TCMP_TRACK_MODE_CODE) {
81 +
82 + $types=$tcmp->Utils->query(TCMP_QUERY_POST_TYPES);
83 + if($snippet['trackPage']==TCMP_TRACK_PAGE_SPECIFIC) {
84 + foreach ($types as $v) {
85 + $includeActiveKey='includePostsOfType_'.$v['id'].'_Active';
86 + $includeArrayKey='includePostsOfType_'.$v['id'];
87 + $exceptActiveKey='exceptPostsOfType_'.$v['id'].'_Active';
88 + $exceptArrayKey='exceptPostsOfType_'.$v['id'];
89 +
90 + if ($snippet[$includeActiveKey] == 1 && $snippet[$exceptActiveKey] == 1) {
91 + if (in_array(-1, $snippet[$includeArrayKey]) && in_array(-1, $snippet[$exceptArrayKey])) {
92 + $tcmp->Options->pushErrorMessage('Error.IncludeExcludeAll', $v['name']);
93 + }
94 + }
95 + if ($snippet[$includeActiveKey] == 1 && count($snippet[$includeArrayKey]) == 0) {
96 + $tcmp->Options->pushErrorMessage('Error.IncludeSelectAtLeastOne', $v['name']);
97 + }
18 98 }
19 - }
20 99
21 - if ($snippet['name'] == '') {
22 - $tcm->Options->pushErrorMessage('Please enter a unique name');
100 + //second loop to respect the display order
101 + foreach ($types as $v) {
102 + $includeActiveKey='includePostsOfType_'.$v['id'].'_Active';
103 + $includeArrayKey='includePostsOfType_'.$v['id'];
104 + $exceptActiveKey='exceptPostsOfType_'.$v['id'].'_Active';
105 + $exceptArrayKey='exceptPostsOfType_'.$v['id'];
106 +
107 + if ($snippet[$includeActiveKey] == 1 && in_array(-1, $snippet[$includeArrayKey])) {
108 + if ($snippet[$exceptActiveKey] == 1 && count($snippet[$exceptArrayKey]) == 0) {
109 + $tcmp->Options->pushErrorMessage('Error.ExcludeSelectAtLeastOne', $v['name']);
110 + }
111 + }
112 + }
23 113 } else {
24 - $exist=$tcm->Manager->exists($snippet['name']);
25 - if ($exist && $exist['id'] != $snippet['id']) {
26 - //nonostante il tutto il nome deve essee univoco
27 - $tcm->Options->pushErrorMessage('You have entered a name that already exists. IDs are NOT case-sensitive');
114 + foreach($types as $v) {
115 + $exceptActiveKey='exceptPostsOfType_'.$v['id'].'_Active';
116 + $exceptArrayKey='exceptPostsOfType_'.$v['id'];
117 +
118 + if(isset($snippet[$exceptActiveKey])
119 + && $snippet[$exceptActiveKey]==1
120 + && count($snippet[$exceptArrayKey])==0) {
121 + $tcmp->Options->pushErrorMessage('Error.ExcludeSelectAtLeastOne', $v['name']);
122 + }
28 123 }
29 124 }
30 - if ($snippet['code'] == '') {
31 - $tcm->Options->pushErrorMessage('Paste your HTML Tracking Code into the textarea');
125 + }
126 +}
127 +function tcmp_ui_editor() {
128 + global $tcmp;
129 +
130 + $tcmp->Form->prefix='Editor';
131 + $id=TCMP_ISQS('id', 0);
132 + if($id==0 && $tcmp->Manager->isLimitReached(FALSE)) {
133 + $tcmp->Utils->redirect(TCMP_TAB_MANAGER_URI);
134 + }
135 +
136 + $snippet=$tcmp->Manager->get($id, TRUE);
137 + if (wp_verify_nonce(TCMP_QS('tcmp_nonce'), 'tcmp_nonce')) {
138 + foreach ($snippet as $k=>$v) {
139 + $snippet[$k]=TCMP_QS($k);
140 + if (is_string($snippet[$k])) {
141 + $snippet[$k]=stripslashes($snippet[$k]);
142 + }
32 143 }
33 144
34 - if (!$tcm->Options->hasErrorMessages()) {
35 - $snippet = $tcm->Manager->put($snippet['id'], $snippet);
36 - if ($id <= 0) {
37 - $tcm->Options->pushSuccessMessage('Editor.Add', $snippet['id'], $snippet['name']);
38 - $snippet = $tcm->Manager->get('', TRUE);
145 + tcmp_ui_editor_check($snippet);
146 + if (!$tcmp->Options->hasErrorMessages()) {
147 + $snippet=$tcmp->Manager->put($snippet['id'], $snippet);
148 + /*if ($id <= 0) {
149 + $tcmp->Options->pushSuccessMessage('Editor.Add', $snippet['id'], $snippet['name']);
150 + $snippet=$tcmp->Manager->get('', TRUE);
39 151 } else {
40 - $tcm->Utils->redirect(TCM_PAGE_MANAGER.'&id='.$id);
152 + $tcmp->Utils->redirect(TCMP_PAGE_MANAGER.'&id='.$id);
41 153 exit();
42 - }
43 - }
154 + }*/
155 + $id=$snippet['id'];
156 + $tcmp->Utils->redirect(TCMP_PAGE_MANAGER.'&id='.$id); }
44 157 }
45 - $tcm->Options->writeMessages();
46 -
47 - if($tcm->Manager->rc()<=0 && $id<=0) {
48 - $tcm->Utils->redirect(TCM_PAGE_MANAGER);
49 - exit();
50 - }
51 - tcm_ui_free_notice();
52 -
158 + $tcmp->Options->writeMessages()
53 159 ?>
54 160 <script>
55 161 jQuery(function(){
56 - var tcmPostTypes=[];
57 -
58 - <?php
59 - $types=$tcm->Utils->query(TCM_QUERY_POST_TYPES);
60 - foreach($types as $v) { ?>
61 - tcmPostTypes.push('<?php echo $v['name']?>');
62 - <?php } ?>
63 -
64 162 //enable/disable some part of except creating coherence
65 163 function tcmCheckVisible() {
66 - var showExceptCategories=true;
67 - var showExceptTags=true;
68 - var showExceptPostTypes={};
69 - jQuery.each(tcmPostTypes, function (i,v) {
70 - showExceptPostTypes[v]=true;
71 - });
164 + var $mode=jQuery('[name=trackMode]:checked');
165 + var showTrackCode=false;
166 + var showTrackConversion=false;
167 + if($mode.length>0) {
168 + if(parseInt($mode.val())!=<?php echo TCMP_TRACK_MODE_CODE ?>) {
169 + showTrackConversion=true;
170 + jQuery('#position-box').hide();
72 171
73 - var $all=jQuery('#includeEverywhereActive');
74 - if(!$all.is(':checked')) {
75 - showExceptCategories=false;
76 - showExceptTags=false;
172 + tcmShowHide('.box-track-conversion', false);
173 + tcmShowHide('#box-track-conversion-'+$mode.val(), true);
174 + } else {
175 + showTrackCode=true;
176 + jQuery('#position-box').show();
177 + }
178 + }
179 + tcmShowHide('#box-track-conversion', showTrackConversion);
180 + tcmShowHide('#box-track-code', showTrackCode);
77 181
78 - jQuery.each(tcmPostTypes, function (i,v) {
79 - isCheck=jQuery('#includePostsOfType_'+v+'_Active').is(':checked');
80 - selection=jQuery('#includePostsOfType_'+v).select2("val");
81 - found=false;
82 - for(i=0; i<selection.length; i++) {
83 - if(parseInt(selection[i])==-1){
84 - found=true;
182 + var $all=jQuery('[name=trackPage]:checked');
183 + if($all.length>0 && parseInt($all.val())==<?php echo TCMP_TRACK_PAGE_SPECIFIC ?>) {
184 + showExcept=false;
185 + jQuery('[type=checkbox]').each(function() {
186 + var $check=jQuery(this);
187 + var id=TCMP.attr($check, 'id', '');
188 + if(TCMP.startsWith(id, 'include')) {
189 + var $select=id.replace('_Active', '');
190 + $select=TCMP.jQuery($select);
191 +
192 + isCheck=$check.is(':checked');
193 + selection=$select.select2('val');
194 + found=false;
195 + for(i=0; i<selection.length; i++) {
196 + if(parseInt(selection[i])==-1){
197 + found=true;
198 + }
85 199 }
86 - }
87 200
88 - showExceptPostTypes[v]=false;
89 - if(isCheck && found) {
90 - showExceptPostTypes[v]=true;
91 - if(v!='page') {
92 - showExceptCategories=true;
93 - showExceptTags=true;
201 + var $except=id.replace('_Active', '');
202 + $except=$except.replace('Active', '')+'Box';
203 + $except=$except.substr('include'.length);
204 + $except='except'+$except;
205 + $except=jQuery('[id='+$except+']');
206 +
207 + if(found) {
208 + showExcept=true;
209 + if($except.length>0) {
210 + $except.show();
211 + }
212 + } else {
213 + if($except.length>0) {
214 + $except.hide();
215 + }
94 216 }
95 217 }
96 218 });
97 219 }
98 220
99 - //hide/show except post type if all the website is selected
100 - //or [All] is selected in a specific post type select
101 - var showExcept=false;
102 - jQuery.each(showExceptPostTypes, function (k,v) {
103 - if(v) {
104 - //at least one post type to show except
221 + showInclude=false;
222 + if($all.length==0) {
223 + showExcept=false;
224 + } else {
225 + if(parseInt($all.val())==<?php echo TCMP_TRACK_PAGE_ALL ?>) {
105 226 showExcept=true;
227 + } else {
228 + showInclude=true;
106 229 }
107 - tcmShowHide('#exceptPostsOfType_'+k+'Box', v);
108 - });
109 -
110 - tcmShowHide('#exceptCategoriesBox', showExceptCategories);
111 - tcmShowHide('#exceptTagsBox', showExceptTags);
112 -
113 - showExcept=(showExcept || showExceptTags || showExceptCategories);
114 - tcmShowHide('#tcm-except-div', showExcept);
230 + }
231 + tcmShowHide('#tcmp-except-div', showExcept);
232 + tcmShowHide('#tcmp-include-div', showInclude);
115 233 }
116 234 function tcmShowHide(selector, show) {
117 235 $selector=jQuery(selector);
118 236 if(show) {
@@ -127,18 +245,18 @@
127 245 , theme: "classic"
128 246 }).on('change', function() {
129 247 tcmCheckVisible();
130 248 });*/
131 - jQuery(".tcmLineTags").select2({
249 + jQuery('.tcmLineTags,.tcmp-dropdown').select2({
132 250 placeholder: "Type here..."
133 251 , theme: "classic"
134 252 , width: '550px'
135 253 });
136 254
137 - jQuery('.tcm-hideShow').click(function() {
255 + jQuery('.tcmp-hideShow').click(function() {
138 256 tcmCheckVisible();
139 257 });
140 - jQuery('.tcm-hideShow, input[type=checkbox]').change(function() {
258 + jQuery('.tcmp-hideShow, input[type=checkbox], input[type=radio]').change(function() {
141 259 tcmCheckVisible();
142 260 });
143 261 jQuery('.tcmLineTags').on('change', function() {
144 262 tcmCheckVisible();
@@ -147,101 +265,150 @@
147 265 });
148 266 </script>
149 267 <?php
150 268
151 - $tcm->Form->formStarts();
152 - $tcm->Form->hidden('id', $snippet);
153 - $tcm->Form->checkbox('active', $snippet);
154 - $tcm->Form->text('name', $snippet);
155 - $tcm->Form->textarea('code', $snippet);
156 - $values = array(TCM_POSITION_HEAD, TCM_POSITION_BODY, TCM_POSITION_FOOTER);
157 - $tcm->Form->select('position', $snippet, $values, FALSE);
269 + $tcmp->Form->formStarts();
270 + $tcmp->Form->hidden('id', $snippet);
271 + $tcmp->Form->hidden('order', $snippet);
158 272
159 - $tcm->Form->p('When do you want to add this code?');
160 - $args=array('class'=>'tcm-hideShow tcm-checkbox'
161 - , 'tcm-hideIfTrue'=>'true'
162 - , 'tcm-hideShow'=>'tcm-include-div');
163 - $tcm->Form->checkbox('includeEverywhereActive', $snippet, 1, $args);
273 + $tcmp->Form->checkbox('active', $snippet);
274 + $tcmp->Form->text('name', $snippet);
275 + $tcmp->Form->editor('code', $snippet);
164 276
165 - $args=array('id'=>'tcm-include-div', 'name'=>'tcm-include-div', 'style'=>'margin-top:10px;');
166 - $tcm->Form->divStarts($args);
167 - tcm_formOptions('include', $snippet);
168 - $tcm->Form->divEnds();
277 + $values=array(TCMP_POSITION_HEAD, TCMP_POSITION_BODY, TCMP_POSITION_FOOTER);
278 + $tcmp->Form->dropdown('position', $snippet, $values, FALSE);
279 + $values=array(TCMP_DEVICE_TYPE_ALL, TCMP_DEVICE_TYPE_DESKTOP, TCMP_DEVICE_TYPE_MOBILE, TCMP_DEVICE_TYPE_TABLET);
280 + $tcmp->Form->dropdown('deviceType', $snippet, $values, TRUE);
169 281
170 - $args=array('id'=>'tcm-except-div', 'name'=>'tcm-except-div');
171 - $tcm->Form->divStarts($args);
172 - $tcm->Form->p('Exclude when?');
173 - tcm_formOptions('except', $snippet);
174 - $tcm->Form->divEnds();
282 + $args=array('id'=>'box-track-mode');
283 + $tcmp->Form->divStarts($args);
284 + {
285 + $tcmp->Form->p('Where do you want to add this code?');
286 + $tcmp->Form->radio('trackMode', $snippet['trackMode'], TCMP_TRACK_MODE_CODE);
287 + $plugins=$tcmp->Ecommerce->getActivePlugins();
288 + if(count($plugins)==0) {
289 + $plugins=array('Ecommerce'=>array(
290 + 'name'=>'Ecommerce'
291 + , 'id'=>TCMP_PLUGINS_NO_PLUGINS
292 + , 'version'=>'')
293 + );
294 + }
295 + $tcmp->Form->tagNew=TRUE;
296 + foreach($plugins as $k=>$v) {
297 + $ecommerce=$v['name'];
298 + if(isset($v['version']) && $v['version']!='') {
299 + $ecommerce.=' (v.'.$v['version'].')';
300 + }
301 + $args=array('label'=>$tcmp->Lang->L('Editor.trackMode_1', $ecommerce));
302 + $tcmp->Form->radio('trackMode', $snippet['trackMode'], $v['id'], $args);
303 + }
304 + $tcmp->Form->tagNew=FALSE;
175 305
176 - $tcm->Form->nonce('tcm_nonce', 'tcm_nonce');
177 - tcm_notice_pro_features();
178 - $tcm->Form->submit('Save');
179 - if($id>0) {
180 - $tcm->Form->delete($id);
181 306 }
182 - $tcm->Form->formEnds();
183 -}
307 + $tcmp->Form->divEnds();
184 308
185 -function tcm_notice_pro_features() {
186 - global $tcm;
309 + $args=array('id'=>'box-track-conversion');
310 + $tcmp->Form->divStarts($args);
311 + {
312 + $tcmp->Form->p('ConversionProductQuestion');
313 + ?>
314 + <p style="font-style: italic;"><?php $tcmp->Lang->P('Editor.PositionBlocked') ?></p>
315 + <?php
316 + foreach($plugins as $k=>$v) {
317 + $args=array('id'=>'box-track-conversion-'.$v['id'], 'class'=>'box-track-conversion');
318 + $tcmp->Form->divStarts($args);
319 + {
320 + if($v['id']==TCMP_PLUGINS_NO_PLUGINS) {
321 + $plugins=$tcmp->Ecommerce->getPlugins(FALSE);
322 + $ecommerce='';
323 + foreach($plugins as $k=>$v) {
324 + if($ecommerce!='') {
325 + $ecommerce.=', ';
326 + }
327 + $ecommerce.=$k;
328 + }
329 + $tcmp->Options->pushErrorMessage('Editor.NoEcommerceFound', $ecommerce);
330 + $tcmp->Options->writeMessages();
331 + } else {
332 + $postType=$tcmp->Ecommerce->getCustomPostType($v['id']);
333 + $keyActive='CTC_'.$v['id'].'_Active';
334 + $label=$tcmp->Lang->L('Editor.EcommerceCheck', $v['name'], $v['version']);
187 335
188 - ?>
189 - <br/>
190 - <div class="message updated below-h2">
191 - <div style="height:10px;"></div>
192 - <?php
193 - $i=1;
194 - while($tcm->Lang->H('Notice.ProHeader'.$i)) {
195 - $tcm->Lang->P('Notice.ProHeader'.$i);
196 - echo '<br/>';
197 - ++$i;
336 + if($postType!='') {
337 + $args=array('post_type'=>$postType, 'all'=>TRUE);
338 + $values=$tcmp->Utils->query(TCMP_QUERY_POSTS_OF_TYPE, $args);
339 + $keyArray='CTC_'.$v['id'].'_ProductsIds';
340 + if(count($snippet[$keyArray])==0) {
341 + //when enabled default selected -1
342 + $snippet[$keyArray]=array(-1);
343 + }
344 +
345 + $args=array('label'=>$label, 'class'=>'tcmp-select tcmLineTags');
346 + $tcmp->Form->labels=FALSE;
347 + $tcmp->Form->dropdown($keyArray, $snippet[$keyArray], $values, TRUE, $args);
348 + $tcmp->Form->labels=TRUE;
349 + } else {
350 + $args=array('label'=>$label);
351 + $tcmp->Form->checkbox($keyActive, $snippet[$keyActive], 1, $args);
352 + }
353 + }
354 + }
355 + $tcmp->Form->divEnds();
356 +
357 + $tcmp->Form->br();
358 + $tcmp->Form->i('ConversionDynamicFields');
359 + $tcmp->Form->br();
360 + $tcmp->Form->br();
198 361 }
199 - $i=1;
200 - ?>
201 - <br/>
202 - <?php
362 + }
363 + $tcmp->Form->divEnds();
203 364
204 - $options = array('public' => TRUE, '_builtin' => FALSE);
205 - $q=get_post_types($options, 'names');
206 - if(is_array($q) && count($q)>0) {
207 - sort($q);
208 - $q=implode(', ', $q);
209 - $q='(<b>'.$q.'</b>)';
210 - } else {
211 - $q='';
365 + $args=array('id'=>'box-track-code');
366 + $tcmp->Form->divStarts($args);
367 + {
368 + $tcmp->Form->p('In which page do you want to insert this code?');
369 + $tcmp->Form->radio('trackPage', $snippet['trackPage'], TCMP_TRACK_PAGE_ALL);
370 + $tcmp->Form->radio('trackPage', $snippet['trackPage'], TCMP_TRACK_PAGE_SPECIFIC);
371 +
372 + //, 'style'=>'margin-top:10px;'
373 + $args=array('id'=>'tcmp-include-div');
374 + $tcmp->Form->divStarts($args);
375 + {
376 + $tcmp->Form->p('Include tracking code in which pages?');
377 + tcmp_formOptions('include', $snippet);
212 378 }
379 + $tcmp->Form->divEnds();
213 380
214 - while($tcm->Lang->H('Notice.ProFeature'.$i)) { ?>
215 - <div style="clear:both; margin-top: 2px;"></div>
216 - <div style="float:left; vertical-align:middle; height:24px; margin-right:5px;">
217 - <img src="<?php echo TCM_PLUGIN_IMAGES?>tick.png" />
218 - </div>
219 - <div style="float:left; vertical-align:middle; height:24px;">
220 - <?php $tcm->Lang->P('Notice.ProFeature'.$i, $q)?>
221 - </div>
222 - <?php ++$i;
381 + $args=array('id'=>'tcmp-except-div');
382 + $tcmp->Form->divStarts($args);
383 + {
384 + $tcmp->Form->p('Do you want to exclude some specific pages?');
385 + tcmp_formOptions('except', $snippet);
223 386 }
224 - ?>
225 - <div style="clear:both;"></div>
226 - <div style="height:10px;"></div>
227 - </div>
228 - <br/>
229 -<?php }
387 + $tcmp->Form->divEnds();
388 + }
389 + $tcmp->Form->divEnds();
230 390
231 -function tcm_formOptions($prefix, $snippet) {
232 - global $tcm;
391 + $tcmp->Form->nonce('tcmp_nonce', 'tcmp_nonce');
392 + tcmp_notice_pro_features();
393 + $tcmp->Form->submit('Save');
394 + $tcmp->Form->formEnds();
395 +}
233 396
234 - $types=$tcm->Utils->query(TCM_QUERY_POST_TYPES);
397 +function tcmp_formOptions($prefix, $snippet) {
398 + global $tcmp;
399 +
400 + $types=$tcmp->Utils->query(TCMP_QUERY_POST_TYPES);
235 401 foreach($types as $v) {
236 - $args = array('post_type' => $v['name'], 'all' => TRUE);
237 - $values = $tcm->Utils->query(TCM_QUERY_POSTS_OF_TYPE, $args);
402 + $args=array('post_type'=>$v['id'], 'all'=>TRUE);
403 + $values=$tcmp->Utils->query(TCMP_QUERY_POSTS_OF_TYPE, $args);
404 + //$tcmp->Form->premium=!in_array($v['name'], array('post', 'page'));
238 405
239 - $keyActive=$prefix.'PostsOfType_'.$v['name'].'_Active';
240 - $keyArray=$prefix.'PostsOfType_'.$v['name'];
241 - if($snippet[$keyActive]==0 && count($snippet[$keyArray])==0) {
406 + $keyActive=$prefix.'PostsOfType_'.$v['id'].'_Active';
407 + $keyArray=$prefix.'PostsOfType_'.$v['id'];
408 + if($snippet[$keyActive]==0 && count($snippet[$keyArray])==0 && $prefix!='except') {
242 409 //when enabled default selected -1
243 410 $snippet[$keyArray]=array(-1);
244 411 }
245 - $tcm->Form->checkSelect($keyActive, $keyArray, $snippet, $values);
412 + $tcmp->Form->checkSelect($keyActive, $keyArray, $snippet, $values);
246 413 }
247 414 }