گرویتی فرم فارسی - Version 1.2.0

Version Description

  • Fixed : Date Field Validation
Download this release

Release Info

Developer hannanstd
Plugin Icon 128x128 گرویتی فرم فارسی
Version 1.2.0
Comparing to
See all releases

Code changes from version 1.1.5 to 1.2.0

Persian_Gravityforms_By_HANNANStd.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Persian Gravity Forms
4
  Plugin URI: https://wordpress.org/plugins/persian-gravity-forms/
5
  Description: Gravity Forms for Iranian
6
- Version: 1.1.5
7
  Requires at least: 3.5
8
  Author: HANNAN Ebrahimi Setoode
9
  Author URI: http://www.gravityforms.ir/
@@ -16,37 +16,41 @@ class GravityFormsPersian {
16
  private $file;
17
  private $language;
18
  private $is_persian;
 
19
  public function __construct( $file ) {
20
  $this->file = $file;
 
21
  add_action('init', array( $this, 'init' ), 8 );
22
- add_filter('update_footer', array( $this, 'GravityForms_Footer_Left_By_HANNANStd'), 11);
23
  add_action('gform_post_status_options', array( $this, 'Add_Private_Post_Status_By_HANNANStd'));
24
- add_filter('load_textdomain_mofile', array( $this, 'Load_Textdomain_Mo_File_By_HANNANStd'), 10, 2 );
25
- add_filter('gform_currencies', array( $this, 'Update_Currency_By_HANNANStd' ) );
26
- add_filter('gform_address_types', array( $this, 'Gform_IRAN_By_HANNANStd' ) );
27
  add_action('activated_plugin', array( $this, 'Activated_Plugin_By_HANNANStd' ) );
28
  add_action('gform_admin_pre_render', array( $this, 'Add_Merge_Tags_To_List_By_HANNANStd'));
29
- add_filter('gform_replace_merge_tags', array( $this, 'GformReplaceMergeTags_By_HANNANStd'), 10, 7);
30
  add_action('wp_dashboard_setup', array( $this, 'Persian_GravityForms_Dashboard_By_HANNANStd'));
31
- add_filter('gform_print_styles', array( $this, 'Add_Styles_Print_By_HANNANStd'), 10, 2);
32
  add_action('admin_print_scripts', array( $this, 'GravityForms_Admin_CSS_By_HANNANStd' ));
33
- add_filter('gform_predefined_choices', array( $this, 'Add_Iran_Predefined_Choice_By_HANNANStd' ),1);
34
  add_action('gform_field_standard_settings', array( $this, 'Add_Jalali_Active_Standard_Settings'), 10, 2);
35
  add_action('gform_editor_js', array( $this, 'Editor_Script_By_HANNANStd'));
36
- add_filter('gform_tooltips', array( $this, 'Add_Encryption_tooltips_By_HANNANStd'));
37
  add_action('gform_enqueue_scripts', array( $this, 'Add_Jalali_Front_End_On_Off_Switch_By_HANNANStd'), 10 , 2 );
38
- add_filter('gform_add_field_buttons', array( $this, 'Add_Melli_Cart_Field_By_HANNANStd'));
39
- add_filter('gform_field_type_title', array( $this,'Add_Melli_Cart_Field_Title_By_HANNANStd'));
40
  add_action('gform_field_input', array( $this,'Add_Melli_Cart_Field_Input_By_HANNANStd'), 10, 5);
41
  add_action('gform_field_css_class', array( $this, 'Add_Melli_Cart_Field_Class_By_HANNANStd'), 10, 3);
42
- add_filter('gform_editor_js_set_default_values', array( $this, 'Add_Melli_Cart_Field_Label_By_HANNANStd'));
43
- add_filter('gform_field_content', array( $this, 'Add_Melli_Cart_Field_JavaScript_Checker_By_HANNANStd'), 10, 5);
44
  add_action('gform_field_advanced_settings', array( $this, 'Add_Melli_Cart_Field_Setting_By_HANNANStd'), 10, 2);
45
- add_filter('gform_field_validation', array( $this, 'Add_Melli_Cart_Field_PHP_Checker_Massage_By_HANNANStd'), 10, 4);
46
  add_action('gform_entries_first_column', array($this ,'First_Column_Actions_By_HANNANStd'), 10, 5);
47
  add_action('gform_entry_post_save', array($this ,'Update_Lead_No_Gateway_By_HANNANStd'), 10, 2);
48
- }
49
- public function Activated_Plugin_By_HANNANStd() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
  $path = str_replace( WP_PLUGIN_DIR . '/', '', $this->file );
51
  if ( $plugins = get_option( 'active_plugins' ) ) {
52
  if ( $key = array_search( $path, $plugins ) ) {
@@ -63,6 +67,7 @@ class GravityFormsPersian {
63
  }
64
  }
65
  }
 
66
  public function init(){
67
  require_once("include/Jalali.php");
68
  require_once("include/Post_Content_Merge_Tags.php");
@@ -77,10 +82,12 @@ class GravityFormsPersian {
77
  load_plugin_textdomain( 'Persian_Gravityforms_By_HANNANStd', false, $rel_path );
78
  load_plugin_textdomain( 'gravityformsuserregistration', false, $rel_path );
79
  }
 
80
  protected static function get_base_path(){
81
  $folder = basename(dirname(__FILE__));
82
  return WP_PLUGIN_DIR . "/" . $folder;
83
  }
 
84
  public function Load_Textdomain_Mo_File_By_HANNANStd( $mo_file, $domain ) {
85
  if ( strpos( $mo_file, 'fa_IR.mo' ) !== false ) {
86
  $domains = array(
@@ -153,83 +160,93 @@ class GravityFormsPersian {
153
  }
154
  return $mo_file;
155
  }
 
156
  public function Add_Jalali_Active_Standard_Settings($position, $form_id){
157
- if($position == 25){
158
- ?>
159
- <li class="Jalali_setting field_setting">
160
- <input type="checkbox" id="check_jalali" onclick="SetFieldProperty('check_jalali', jQuery(this).is(':checked') ? 1 : 0);"/>
161
- <label class="inline gfield_value_label" for="field_admin_label">
162
- <?php _e( 'Yes', 'Persian_Gravityforms_By_HANNANStd' ); ?>
163
- <?php gform_tooltip("form_check_jalali") ?>
164
- </label>
165
- </li>
166
- <?php
167
- }
168
  }
 
169
  public function Editor_Script_By_HANNANStd(){
170
  ?>
171
- <script type='text/javascript'>
172
- fieldSettings["date"] += ", .Jalali_setting";
173
- fieldSettings["mellicart"] = ".conditional_logic_field_setting, .label_setting, .admin_label_setting, .size_setting, .rules_setting, .visibility_setting, .duplicate_setting, .default_value_setting, .description_setting, .css_class_setting, .mellicart_setting";
174
- jQuery(document).bind("gform_load_field_settings", function(event, field, form){
175
- jQuery("#check_jalali").attr("checked", field["check_jalali"] == true);
176
- jQuery("#field_mellicart").attr("checked", field["field_mellicart"] == true);
177
- jQuery("#field_mellicart_sp").attr("checked", field["field_mellicart_sp"] == true);
178
- jQuery("#field_mellicart_sp1").val(field["field_mellicart_sp1"]);
179
- jQuery("#field_mellicart_sp2").val(field["field_mellicart_sp2"]);
180
- jQuery("#field_mellicart_sp3").val(field["field_mellicart_sp3"]);
181
- jQuery("#field_mellicart_sp4").val(field["field_mellicart_sp4"]);
182
- });
183
- </script>
184
  <?php
185
  }
 
186
  public function Add_Encryption_tooltips_By_HANNANStd($tooltips){
187
- $tooltips["form_check_jalali"] = "<h6>فعالسازی تاریخ شمسی</h6>در صورتی که از چند فیلد تاریخ استفاده میکنید ، فعالسازی تاریخ شمسی یکی از فیلدها کفایت میکند .<br/>تذکر : با توجه به آزمایشی بودن این قسمت ممکن است تداخل توابع سبب ناسازگاری با برخی قالب ها شود.";
188
- $tooltips["form_field_mellicart"] = "<h6>نمایش لحظه ای شهر از روی کد ملی </h6>نمایش شهر و پیغام زیر فیلد کد ملی بعد از پر شدن فیلد . تذکر : در صورتی که این گزینه را فعال نمایید ،ممکن است فراخوانی شهر های ایران با توجه به کسرت آنها سبب سنگین شدن صفحه گردد.";
189
- $tooltips["form_field_mellicart_sp"] = "<h6>جدا سازی ارقام</h6>در صورتی که این گزینه را فعال نمایید ، پس از پر شدن فیلد ، <strong>در صورتی که کد ملی وارد شده صحیح تشخصی داده شود</strong> ؛ کد ملی به صورت زیر در خواهد آمد :<br/>xxx-xxxxxx-x";
190
- $tooltips["form_field_mellicart_header"] = "<h6>پیغام خطا</h6>در صورتی که کاربر فیلد کد ملی را به صورت صحیح وارد نکند ؛ پیغام خطا را مشاهده میکند که میتوانید این پیغام ها را مدیریت نمایید . در صورتی که مقادیر زیر را خالی بگذارید پیغام پیشفرض نمایش داده خواهد شد.";
191
- $tooltips["form_field_mellicart_sp1"] = "<h6>پیغام پیشفرض</h6>با توجه به اینکه کد ملی فقط باید به صورت عدد باشد ، در صورتی که کاراکتری غیر از عدد وارد شده باشد پیغام خطا نمایش داده خواهد شد .<br/>پیغام پیشفرض : کد ملی فقط باید به صورت عدد وارد شود . ";
192
- $tooltips["form_field_mellicart_sp2"] = "<h6>پیغام پیشفرض</h6>با توجه به اینکه کد ملی می بایست 10 رقمی باشد اگر تعداد رقم وارد شده ، اشتباه باشد پیغام خطا نمایش داده خواهد شد .<br>پیغام پیشفرض : کد ملی می بایست 10 رقمی باشد . تنها در صورتی مجاز به استفاده از کد های 8 یا 9 رقمی هستید که ارقام سمت چپ 0 باشند . ";
193
- $tooltips["form_field_mellicart_sp3"] = "<h6>پیغام پیشفرض</h6>در صورتی که از تب وِیژگی تیک گزینه بدون تکرار را زده باشید ؛ بعد از پر شدن فرم و زدن دکمه ارسال پیغامی مبتنی بر تکراری بودن کد ملی نمایش داده خواهد شد . <br/>پیغام پیشفرض : این کد ملی توسط فرد دیگری ثبت شده است .";
194
- $tooltips["form_field_mellicart_sp4"] = "<h6>پیغام پیشفرض</h6>در صورتی که کد ملی وارد شده مطابق با الگوریتم کشور نباشد پیغام خطا نمایش داده خواهد شد .<br/>پیغام پیشفرض : کد ملی وارد شده مطابق با استانداردهای کشور نمی باشد .";
195
- return $tooltips;
196
  }
 
197
  function Add_Jalali_Front_End_On_Off_Switch_By_HANNANStd( $form, $ajax ) {
198
- foreach ( $form['fields'] as $field ) {
199
- if ( ( $field['type'] == 'date' ) ) {
200
- if(rgget("check_jalali", $field)){
201
- add_filter('gform_date_min_year', array( $this, 'Set_Min_Year_By_HANNANStd' ) );
202
- add_filter('gform_date_max_year', array( $this, 'Set_Max_Year_By_HANNANStd' ) );
203
- if (!IS_ADMIN)
204
- {
205
- wp_deregister_script('gform_datepicker_init');
206
- wp_deregister_script('jquery-ui-datepicker');
207
- wp_register_script('gform_datepicker_init',plugins_url ( '/assets/js/Datepicker.js', __FILE__), array( 'jquery', 'jquery-ui-core' ), GFCommon::$version, true );
208
- }
209
- }
210
- }
211
- }
212
  }
 
213
  public function Set_Min_Year_By_HANNANStd($min_year){
214
- $min_year = GF_gregorian_to_jalali($min_year,03,21);
215
- return $min_year[0]+1;
216
  }
 
217
  public function Set_Max_Year_By_HANNANStd($max_year){
218
- $max_year = GF_gregorian_to_jalali($max_year,03,21);
219
- return $max_year[0]+10;
220
  }
 
221
  public function GravityForms_Footer_Left_By_HANNANStd($text) {
222
  $text = sprintf(__("%sGravity Forms%s for WordPress is a full featured contact form plugin .", "Persian_Gravityforms_By_HANNANStd"), '<a href="http://gravityforms.ir" target="_blank">', "</a>");return $text;
223
  }
 
224
  public function Add_Private_Post_Status_By_HANNANStd($post_status_options) {
225
  $post_status_options['private'] = __("Private", "Persian_Gravityforms_By_HANNANStd");
226
  return $post_status_options;
227
- }
 
228
  public function Update_Currency_By_HANNANStd($currencies) {
229
  $currencies['IRR'] = array("name" => __("Iranian Rial", "Persian_Gravityforms_By_HANNANStd"), "symbol_left" => '', "symbol_right" => " ریال ", "symbol_padding" => "", "thousand_separator" => ',', "decimal_separator" => '.', "decimals" => 0);
230
  $currencies['IRT'] = array("name" => __("Toman", "Persian_Gravityforms_By_HANNANStd"), "symbol_left" => '', "symbol_right" => " تومان ", "symbol_padding" => " ", "thousand_separator" => ',', "decimal_separator" => '.', "decimals" => 0);
231
  return $currencies;
232
  }
 
233
  public function Gform_IRAN_By_HANNANStd( $address_types ) {
234
  $address_types['persian'] = array(
235
  'label' => __( 'IRAN', 'Persian_Gravityforms_By_HANNANStd' ),
@@ -272,6 +289,7 @@ class GravityFormsPersian {
272
  );
273
  return $address_types;
274
  }
 
275
  public function Add_Iran_Predefined_Choice_By_HANNANStd($choices){
276
  $choices[__( 'Provinces of Iran', 'Persian_Gravityforms_By_HANNANStd' )] = array(__( 'Azarbaijan - East', 'Persian_Gravityforms_By_HANNANStd' ),
277
  __( 'Azarbaijan - West', 'Persian_Gravityforms_By_HANNANStd' ),
@@ -306,78 +324,87 @@ class GravityFormsPersian {
306
  __( 'Yazd', 'Persian_Gravityforms_By_HANNANStd' )
307
  ); return $choices;
308
  }
 
309
  public function Add_Merge_Tags_To_List_By_HANNANStd($form){ ?>
310
- <script type="text/javascript">
311
- gform.addFilter("gform_merge_tags", "add_merge_tags");
312
- function add_merge_tags(mergeTags, elementId, hideAllFields, excludeFieldTypes, isPrepop, option){
313
- mergeTags["custom"].tags.push({ tag: '{payment_gateway}', label: '<?php _e("Simple Payment Gateway", "Persian_Gravityforms_By_HANNANStd") ?>' });
314
- mergeTags["custom"].tags.push({ tag: '{payment_status}', label: '<?php _e("Simple Payment Status", "Persian_Gravityforms_By_HANNANStd") ?>' });
315
- mergeTags["custom"].tags.push({ tag: '{transaction_id}', label: '<?php _e("Simple Transaction ID", "Persian_Gravityforms_By_HANNANStd") ?>' });
316
- mergeTags["custom"].tags.push({ tag: '{payment_gateway_css}', label: '<?php _e("Styled Payment Gateway", "Persian_Gravityforms_By_HANNANStd") ?>' });
317
- mergeTags["custom"].tags.push({ tag: '{payment_status_css}', label: '<?php _e("Styled Payment Status", "Persian_Gravityforms_By_HANNANStd") ?>' });
318
- mergeTags["custom"].tags.push({ tag: '{transaction_id_css}', label: '<?php _e("Styled Transaction ID", "Persian_Gravityforms_By_HANNANStd") ?>' });
319
- mergeTags["custom"].tags.push({ tag: '{payment_pack}', label: '<?php _e("Styled Payment Pack", "Persian_Gravityforms_By_HANNANStd") ?>' });
320
- mergeTags["custom"].tags.push({ tag: '{rtl_start}', label: '<?php _e("RTL Start", "Persian_Gravityforms_By_HANNANStd") ?>' });
321
- mergeTags["custom"].tags.push({ tag: '{rtl_end}', label: '<?php _e("RTL End", "Persian_Gravityforms_By_HANNANStd") ?>' });
322
- return mergeTags;}
323
- </script>
324
- <?php return $form; }
 
 
 
 
325
  function First_Column_Actions_By_HANNANStd($form_id, $field_id, $value, $lead, $query_string) {
326
- $url = get_bloginfo("wpurl") . "/wp-admin/admin.php?page=gf_entries&view=entries&id=" . $form_id;
327
- $gateway = gform_get_meta($lead["id"], "payment_gateway");
328
- if($lead["payment_status"] == 'Active') {
329
- $color = '#008000';
330
- $stat = "موفق";
331
- }
332
- if($lead["payment_status"] == 'Paid') {
333
- $color = '#008000';
334
- $stat = "موفق";
335
- }
336
- if($lead["payment_status"] == 'Failed') {
337
- $color = '#FF0000';
338
- $stat = "ناموفق";
339
- }
340
- if($lead["payment_status"] == 'Cancelled') {
341
- $color = '#FFA500';
342
- $stat = "منصرف شده";
343
- }
344
- if($lead["payment_status"] == 'Processing') {
345
- $color = '#3399FF';
346
- $stat = "معلق";
347
- }
348
- if ($gateway)
349
- echo '<a class="stat" href="'.$url.'&sort=0&dir=DESC&s=Processing&field_id=payment_status&operator=is" style="color:'.$color.';"> '.$stat.' </a> - <a class="stat" href="'.$url.'&sort=0&dir=DESC&s='.$gateway.'&field_id=payment_gateway&operator=is" style="color:#000000;"> '.$gateway.' </a>';
350
- else if ($lead["payment_status"])
351
- echo '<a class="stat" href="'.$url.'&sort=0&dir=DESC&s=Processing&field_id=payment_status&operator=is" style="color:'.$color.';"> موفق </a>';
352
  }
 
353
  public function Update_Lead_No_Gateway_By_HANNANStd($lead, $form) {
354
- $gateway = gform_get_meta($lead['id'], 'payment_gateway');
355
- $method = $lead['payment_method'];
356
- $product = self::get_product_price($form, $lead);
357
- if (!isset($method) && !$gateway && !isset($lead["transaction_id"]) ) {
358
- $lead["transaction_id"] = rand(100000000000000,999999999999999);
359
- $lead["is_fulfilled"] = 0;
360
- }
361
- if ( ($product["yes"]==2) && !isset($method) && !$gateway ) {
362
- $lead["payment_amount"] = $product["total"];
363
- $lead["payment_date"] = gmdate('Y-m-d H:i:s');
364
- $lead["is_fulfilled"] = 1;
365
- $lead["payment_status"] = 'Paid';
366
- }
367
- $wp_session = WP_Session::get_instance();
368
- wp_session_unset();
369
- $wp_session['refid'] = $form["id"].$lead["id"];
370
- RGFormsModel::update_lead($lead);
371
- return $lead;
 
 
372
  }
 
373
  public function GformReplaceMergeTags_By_HANNANStd($text, $form, $lead, $url_encode, $esc_html, $nl2br, $format){
374
  $gateway = gform_get_meta($lead['id'], 'payment_gateway');
375
  if ($lead['payment_status']=="Active" || $lead['payment_status']=="Paid")
376
- $payment_status = __("Paid", "Persian_Gravityforms_By_HANNANStd");
377
  if ($lead['payment_status']=="Failed")
378
- $payment_status = __("Failed", "Persian_Gravityforms_By_HANNANStd");
379
  if ($lead['payment_status']=="Cancelled")
380
- $payment_status = __("Cancelled", "Persian_Gravityforms_By_HANNANStd");
381
  $tags = array(
382
  '{payment_gateway}',
383
  '{transaction_id}',
@@ -393,142 +420,186 @@ class GravityFormsPersian {
393
  $gateway ? $gateway : '',
394
  isset($lead['transaction_id']) ? $lead['transaction_id'] : '',
395
  isset($lead['payment_status']) ? $payment_status : '',
396
- $gateway ? '<table width="99%" border="0" cellpadding="1" cellspacing="0" bgcolor="#EAEAEA" style="border:1px solid #e9e9e9!important;">
397
- <tr bgcolor="#EAF2FA">
398
- <td colspan="2" style="padding:5px !important"><font style="font-family:sans-serif;font-size:12px"><strong>'.__( 'Payment Gateway', 'Persian_Gravityforms_By_HANNANStd' ).'</strong></font></td>
399
- </tr>
400
- <tr bgcolor="#FFFFFF">
401
- <td style="padding:5px !important"><font style="font-family:sans-serif;font-size:12px">'.$gateway.'</font></td>
402
- </tr></table>' : '',
403
- isset($lead['transaction_id']) ? '<table width="99%" border="0" cellpadding="1" cellspacing="0" bgcolor="#EAEAEA" style="border:1px solid #e9e9e9!important;">
404
- <tr bgcolor="#EAF2FA">
405
- <td colspan="2" style="padding:5px !important"><font style="font-family:sans-serif;font-size:12px">
406
- <strong>'.__( 'Transaction ID', 'Persian_Gravityforms_By_HANNANStd' ).'</strong></font></td>
407
- </tr>
408
- <tr bgcolor="#FFFFFF">
409
- <td style="padding:5px !important"><font style="font-family:sans-serif;font-size:12px">'.$lead['transaction_id'].'</font></td></tr>
410
  </table>' : '',
411
- isset($lead['payment_status']) ? '<table width="99%" border="0" cellpadding="1" cellspacing="0" bgcolor="#EAEAEA" style="border:1px solid #e9e9e9!important;"><tr bgcolor="#EAF2FA">
412
- <td colspan="2" style="padding:5px !important"><font style="font-family:sans-serif;font-size:12px"><strong>'.__( 'Payment Status', 'Persian_Gravityforms_By_HANNANStd' ).'</strong></font></td>
413
- </tr>
414
- <tr bgcolor="#FFFFFF">
415
- <td style="padding:5px !important"><font style="font-family:sans-serif;font-size:12px">'.$payment_status.'</font></td></tr>
 
 
 
 
 
 
 
 
416
  </table>' : '',
417
- (isset($lead['transaction_id']) && $gateway && isset($lead['payment_status']) ) ? '<table width="99%" border="0" cellpadding="1" cellspacing="0" bgcolor="#EAEAEA" style="border:1px solid #e9e9e9!important;">
418
- <tr>
419
- <td style="font-size:14px;font-weight:bold;background-color:#eee;border-bottom:1px solid #dfdfdf;padding:7px 7px" colspan="2">'.__( 'Payment Information', 'Persian_Gravityforms_By_HANNANStd' ).'</td>
420
- </tr>
421
- <tr bgcolor="#EAF2FA">
422
- <td colspan="2" style="padding:5px !important"><font style="font-family:sans-serif;font-size:12px"><strong>'.__( 'Payment Gateway', 'Persian_Gravityforms_By_HANNANStd' ).'</strong></font></td>
423
- </tr>
424
- <tr bgcolor="#FFFFFF">
425
- <td style="padding:5px !important"><font style="font-family:sans-serif;font-size:12px">'.$gateway.'</font></td>
426
- </tr>
427
- <tr bgcolor="#EAF2FA">
428
- <td colspan="2" style="padding:5px !important"><font style="font-family:sans-serif;font-size:12px"><strong>'.__( 'Payment Status', 'Persian_Gravityforms_By_HANNANStd' ).'</strong></font></td>
429
- </tr>
430
- <tr bgcolor="#FFFFFF">
431
- <td style="padding:5px !important"><font style="font-family:sans-serif;font-size:12px">'.$payment_status.'</font></td>
432
- </tr>
433
- <tr bgcolor="#EAF2FA">
434
- <td colspan="2" style="padding:5px !important"><font style="font-family:sans-serif;font-size:12px"><strong>'.__( 'Transaction ID', 'Persian_Gravityforms_By_HANNANStd' ).'</strong></font></td>
435
- </tr>
436
- <tr bgcolor="#FFFFFF">
437
- <td style="padding:5px !important"><font style="font-family:sans-serif;font-size:12px">'.$lead['transaction_id'].'</font></td></tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
438
  </table>' : '',
 
439
  '<div style="text-align: right !important; direction: rtl !important;">',
440
  '</div>',
441
  );
 
442
  $text = str_replace($tags, $values, $text);
443
  return $text;
444
  }
 
445
  public function Add_Styles_Print_By_HANNANStd($value, $form){
446
- if( is_rtl() ) {
447
- wp_register_style('print_entry', plugins_url ( '/assets/css/printer.css', __FILE__, true ) );
448
- return array('print_entry');
449
- }
450
  }
 
451
  public function GravityForms_Admin_CSS_By_HANNANStd() {
452
- if(!class_exists('GFForms')){
453
- return;
454
- }
455
- $current_page = trim(strtolower(RGForms::get("page")));
456
- $page_prefix = explode("_", $current_page);
457
- if (is_rtl() && ($page_prefix[0]=="gf" || $_SERVER['REQUEST_URI'] == '/wp-admin/' || $_SERVER['REQUEST_URI'] == '/wp-admin' || $_SERVER['REQUEST_URI'] == '/wp-admin/index.php' || $_SERVER['REQUEST_URI'] == '/wp-admin/index.php/')) {
458
- wp_enqueue_style('Persian_GravityForms', plugins_url ( '/assets/css/persiangravity.css', __FILE__, null, GFCommon::$version ) );
459
- wp_print_styles('gform_tooltip','Persian_GravityForms' );
460
- wp_deregister_script('gform_datepicker_init');
461
- wp_dequeue_script('jquery-ui-datepicker');
462
- wp_enqueue_script('gform_datepicker_init', plugins_url ( '/assets/js/Datepicker_J_G.js', __FILE__), array( 'jquery', 'jquery-ui-core' ), GFCommon::$version, true );
463
- }
464
  }
 
465
  public function Persian_GravityForms_Dashboard_By_HANNANStd() {
466
  if ( !current_user_can('manage_options') )
467
- return;
468
  global $wp_meta_boxes;
469
  wp_add_dashboard_widget('persiangf_wd_hannanstd', __( 'Persian Gravity Forms Dashboard', 'Persian_Gravityforms_By_HANNANStd' ) , array( $this, 'Persian_GravityForms_Widget_By_HANNANStd'));
470
  }
 
471
  public static function Persian_GravityForms_Widget_By_HANNANStd() {
472
- global $_wp_admin_css_colors;
473
- $current_color = get_user_option( 'admin_color' );
474
- $colors = array();
475
- foreach ( $_wp_admin_css_colors as $color => $color_info ) {
476
- if ($color == $current_color){
477
- foreach ( $color_info->colors as $html_color ) {
478
- $colors[] = esc_attr( $html_color ); }
479
- }
480
- }
481
- if (get_bloginfo('version')>=3.8) {
482
- ?>
483
- <style>
484
- #persiangf_wd_hannanstd h3{font-family:byekan !important;background:<?php echo $colors[1] ?> !important;color:#fff !important;}
485
- #persiangf_wd_hannanstd .handlediv{color:#fff !important;}
486
- #persiangf_wd_hannanstd .a1{font-family:byekan !important;}
487
- #persiangf_wd_hannanstd .a2{font-family:byekan !important;font-size:12px !important;}
488
- </style>
 
489
  <?php
490
  }
491
- $rss = fetch_feed( "http://gravityforms.ir/feed/" );
492
- if ( is_wp_error($rss) ) {
493
- if ( is_admin() || current_user_can('manage_options') ) {
494
- printf(__('<strong>RSS Error</strong>', 'Persian_Gravityforms_By_HANNANStd'));
495
- }
496
- return;
497
- }
498
- if ( !$rss->get_item_quantity() ) {
499
- printf(__( 'Apparently, There are no updates to show!', 'Persian_Gravityforms_By_HANNANStd' ));
500
- $rss->__destruct();
501
- unset($rss);
502
- return;
503
- }
504
- echo "<ul>";
505
- if ( !isset($items) )
506
- $items = 5;
507
- $i=1;
508
- foreach ( $rss->get_items(0, $items) as $item ) {
509
- $publisher = '';
510
- $site_link = '';
511
- $link = '';
512
- $content = '';
513
- $date = '';
514
- $link = esc_url( strip_tags( $item->get_link() ) );
515
- $title = esc_html( $item->get_title() );
516
- $content = $item->get_content();
517
- $content = wp_html_excerpt($content, 250) . ' ...';
518
- echo "<li>";
519
- if ($i==1)
520
- echo "<a class='rsswidget a1' href='$link'>$title</a><div class='rssSummary'>$content</div><hr/>";
521
- else
522
- echo "<a class='rsswidget a2' href='$link'>$title</a>";
523
- echo "<li>";
524
- $i++;
525
- }
526
- echo "</ul>";
527
- $rss->__destruct();
528
- unset($rss);
529
- }
530
- public static function get_product_price($form, $entry){
531
- $currency = GFCommon::get_currency();
 
532
  $products = GFCommon::get_product_fields($form, $entry, true);
533
  $product_index = 1;
534
  $total = 0;
@@ -572,154 +643,172 @@ $currency = GFCommon::get_currency();
572
  else {
573
  $total = $total;
574
  }
575
- return array("total" => $total, "yes" => $yes);
576
- }
577
- public static function get_mysql_tz_offset(){
578
- $tz = get_option('gmt_offset');
579
- if ( intval($tz) < 0) $pf = "-";
580
- else $pf = "+";
581
- $tz = abs($tz) * 3600;
582
- $tz = gmdate("H:i", $tz);
583
- $tz = $pf.$tz;
 
 
584
  $today = date('Y-m-d H:i:s');
585
- $date = new DateTime($today);
586
- $tzb = get_option('gmt_offset');
587
- $tzn = abs($tzb) * 3600;
588
- $tzh = intval(gmdate("H", $tzn));
589
- $tzm = intval(gmdate("i", $tzn));
590
- if ( intval($tzb) < 0) {
591
- $date->sub(new DateInterval('P0DT'.$tzh.'H'.$tzm.'M'));
592
- }else {
593
- $date->add(new DateInterval('P0DT'.$tzh.'H'.$tzm.'M'));}
594
- $today = $date->format('Y-m-d H:i:s');
595
- $today = strtotime ($today);
596
- return array("tz" => $tz, "today" => $today);
597
- }
598
- public static function get_base_url(){
599
- return plugins_url( '', __FILE__ );
600
- }
601
- public function version(){
602
- return '1.1.5';
603
- }
604
- public function Add_Melli_Cart_Field_By_HANNANStd( $field_groups ) {
605
- foreach( $field_groups as &$group ){
606
- if( $group["name"] == "advanced_fields" ){
607
- $group["fields"][] = array(
608
- "class"=>"button",
609
- "value" => "کد ملی",
610
- "onclick" => "StartAddField('mellicart');"
611
- );
612
- break;
613
- }
614
- }
615
- return $field_groups;
616
- }
617
- public function Add_Melli_Cart_Field_Title_By_HANNANStd($type) {
618
- if ($type == 'mellicart') {
619
- return 'کد ملی';
620
- }
621
- }
622
- public function Add_Melli_Cart_Field_Label_By_HANNANStd(){
623
- ?>
624
- case "mellicart" :
625
- field.label = 'کد ملی';
626
- break;
627
- <?php
628
- }
629
- public function Add_Melli_Cart_Field_Input_By_HANNANStd($input, $field, $value, $lead_id, $form_id ){
630
- if ( $field["type"] == "mellicart" ) {
631
- $id = $field["id"];
632
- $field_id = IS_ADMIN || $form_id == 0 ? "input_$id" : "input_" . $form_id . "_$id";
633
- $form_id = IS_ADMIN && empty($form_id) ? rgget("id") : $form_id;
634
- $size = rgar($field, "size");
635
- $disabled_text = (IS_ADMIN && RG_CURRENT_VIEW != "entry") ? "disabled='disabled'" : "";
636
- $class_suffix = RG_CURRENT_VIEW == "entry" ? "_admin" : "";
637
- $class = $size . $class_suffix;
638
- $currency = "";
639
- if(RG_CURRENT_VIEW == "entry"){
640
- $lead = RGFormsModel::get_lead($lead_id);
641
- $post_id = $lead["post_id"];
642
- $post_link = "";
643
- if(is_numeric($post_id) && GFCommon::is_post_field($field)){
644
- $post_link = "You can <a href='post.php?action=edit&post=$post_id'>edit this post</a> from the post page.";}
645
- $currency = $lead["currency"];}
646
- $max_length = "";
647
- $html5_attributes = "";
648
- if(empty($html_input_type))
649
- $html_input_type = "text";
650
- $max_length = "maxlength=10";
651
- $tabindex = GFCommon::get_tabindex();
652
- return sprintf("<div class='ginput_container'><input onblur='MelliCard_Checker_Javascript_By_HANNANStd_%d(this);' name='input_%d' id='%s' type='%s' value='%s' class='melli_cart %s' $max_length $tabindex $html5_attributes %s/></div><p class='city mellicart' id='city_%d'></p>", $id, $id, $field_id, $html_input_type, esc_attr($value), esc_attr($class), $disabled_text, $id);
653
- }
654
- return $input;
655
- }
656
- public function Add_Melli_Cart_Field_Setting_By_HANNANStd( $position, $form_id ){
657
- if( $position == 50 ){
658
- ?>
659
- <li class="mellicart_setting field_setting">
660
- <hr/>
661
- <input type="checkbox" id="field_mellicart" onclick="SetFieldProperty('field_mellicart', this.checked);" />
662
- <label for="field_mellicart" class="inline">
663
- <?php _e("نمایش زیر نویس فیلد", "gravityforms"); ?>
664
- <?php gform_tooltip("form_field_mellicart"); ?>
665
- </label>
666
- <br/>
667
- <input type="checkbox" id="field_mellicart_sp" onclick="SetFieldProperty('field_mellicart_sp', this.checked);" />
668
- <label for="field_mellicart_sp" class="inline">
669
- <?php _e("جدا سازی خودکار ارقام توسط خط فاصله", "gravityforms"); ?>
670
- <?php gform_tooltip("form_field_mellicart_sp"); ?>
671
- </label>
672
- <br/>
673
- <hr/>
674
- <label class="inline">متن پیغام خطا هنگامی که موارد زیر رخ دهد
675
- <?php gform_tooltip("form_field_mellicart_header"); ?>
676
- </label>
677
- <br/>
678
- <br/>
679
- <label for="field_mellicart_sp1" class="inline">
680
- <?php _e("مقدار وارد شده شامل کاراکتر غیر عددی باشد", "gravityforms"); ?>
681
- <?php gform_tooltip("form_field_mellicart_sp1"); ?>
682
- </label>
683
- <br/>
684
- <input type="text" id="field_mellicart_sp1" size="35" onkeyup="SetFieldProperty('field_mellicart_sp1', this.value);" />
685
- <br/>
686
- <label for="field_mellicart_sp2" class="inline">
687
- <?php _e("تعداد ارقام وارد شده استاندارد نباشد", "gravityforms"); ?>
688
- <?php gform_tooltip("form_field_mellicart_sp2"); ?>
689
- </label>
690
- <br/>
691
- <input type="text" id="field_mellicart_sp2" size="35" onkeyup="SetFieldProperty('field_mellicart_sp2', this.value);" />
692
- <br/>
693
- <label for="field_mellicart_sp3" class="inline">
694
- <?php _e("کد ملی وارد شده قبلا ثبت شده باشد", "gravityforms"); ?>
695
- <?php gform_tooltip("form_field_mellicart_sp3"); ?>
696
- </label>
697
- <br/>
698
- <input type="text" id="field_mellicart_sp3" size="35" onkeyup="SetFieldProperty('field_mellicart_sp3', this.value);" />
699
- <br/>
700
- <label for="field_mellicart_sp4" class="inline">
701
- <?php _e("کد ملی وارد شده مطابق با الگوی ملی نباشد", "gravityforms"); ?>
702
- <?php gform_tooltip("form_field_mellicart_sp4"); ?>
703
- </label>
704
- <br/>
705
- <input type="text" id="field_mellicart_sp4" size="35" onkeyup="SetFieldProperty('field_mellicart_sp4', this.value);" />
706
- <hr/>
707
- </li>
708
- <?php
709
- }
710
- }
711
- public function Add_Melli_Cart_Field_Class_By_HANNANStd($classes, $field, $form){
712
- if( $field["type"] == "mellicart" ){
713
- $classes .= " gform_mellicart";
714
- }
715
- return $classes;
716
- }
717
- public function Add_Melli_Cart_PHP_Checker_By_HANNANStd($meli_code='',$setting){
718
- if (!empty($meli_code)) {
719
- if ($setting == 1) {
720
- $meli_code = str_replace('-','',$meli_code);
721
  }
722
- if($meli_code == '1111111111' ||
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
723
  $meli_code == '0000000000' ||
724
  $meli_code == '2222222222' ||
725
  $meli_code == '3333333333' ||
@@ -728,173 +817,342 @@ public function Add_Melli_Cart_PHP_Checker_By_HANNANStd($meli_code='',$setting){
728
  $meli_code == '6666666666' ||
729
  $meli_code == '7777777777' ||
730
  $meli_code == '8888888888' ||
731
- $meli_code == '9999999999') {
732
- return 2;}
733
- if(!is_numeric($meli_code))
734
- return 4;
735
- $meli_code = (string) preg_replace('/[^0-9]/','',$meli_code);
736
- if(strlen($meli_code)>10 or strlen($meli_code)<8)
737
- return 3;
738
- if(strlen($meli_code)==8)
739
- $meli_code = "00".$meli_code;
740
- if(strlen($meli_code)==9)
741
- $meli_code = "0".$meli_code;
742
- $list_code = str_split($meli_code);
743
- $last = (int) $list_code[9];
744
- unset($list_code[9]);
745
- $i = 10;
746
- $sum = 0;
747
- foreach($list_code as $key=>$_)
748
- {$sum += intval($_) * $i;$i--;}
749
- $mod =(int) $sum % 11;
750
- if($mod >= 2)
751
- $mod = 11 - $mod;
752
- if ($mod != $last)
753
- return 2;
754
- else
755
- return 1;
756
- }
757
- return;
758
- }
759
- public function Add_Melli_Cart_Field_JavaScript_Checker_By_HANNANStd($content, $field, $value, $lead_id, $form_id){
760
- if ( $field["type"] == "mellicart" && (rgget("field_mellicart", $field) || rgget("field_mellicart_sp", $field) ) && !IS_ADMIN ) {
761
- $pm1= rgget("field_mellicart_sp1", $field);
762
- $pm2= rgget("field_mellicart_sp2", $field);
763
- $pm3= rgget("field_mellicart_sp4", $field);
764
- ?>
765
- <script>
766
- function MelliCard_Checker_Javascript_By_HANNANStd_<?php echo $field["id"]; ?>(meli_code) {
767
- if (meli_code.value == '') {
768
- return false;
769
- }
770
- <?php if(rgget("field_mellicart_sp", $field)) { ?>
771
- meli_code.value = meli_code.value.replace("-", "").replace("-", "");
772
- <?php }
773
- if(rgget("field_mellicart", $field)) {?>
774
- if (isNaN(meli_code.value)) {
775
- <?php if ($pm1) { ?>
776
- var pm1 = "<?php echo $pm1 ?>";
777
- <?php } else { ?>
778
- var pm1 = "کد ملی فقط باید به صورت عدد وارد شود . ";
779
- <?php } ?>
780
- document.getElementById("city_<?php echo $field["id"]; ?>").innerHTML = pm1;
781
- return false;
782
- }
783
- if (meli_code.value == '0000000000' ||
784
- meli_code.value == '1111111111' ||
785
- meli_code.value == '2222222222' ||
786
- meli_code.value == '3333333333' ||
787
- meli_code.value == '4444444444' ||
788
- meli_code.value == '5555555555' ||
789
- meli_code.value == '6666666666' ||
790
- meli_code.value == '7777777777' ||
791
- meli_code.value == '8888888888' ||
792
- meli_code.value == '9999999999') {
793
- <?php if ($pm3) { ?>
794
- var pm3 = "<?php echo $pm3 ?>";
795
- <?php } else { ?>
796
- var pm3 = 'کد ملی وارد شده مطابق با استانداردهای کشور نمی باشد .';
797
- <?php } ?>
798
- document.getElementById("city_<?php echo $field["id"]; ?>").innerHTML = pm3;
799
- return false;
800
- }
801
- if (meli_code.value.length > 10 || meli_code.value.length < 8) {
802
- <?php if ($pm2) { ?>
803
- var pm2 = "<?php echo $pm2 ?>";
804
- <?php } else { ?>
805
- var pm2 = 'کد ملی می بایست 10 رقمی باشد . تنها در صورتی مجاز به استفاده از کد های 8 یا 9 رقمی هستید که ارقام سمت چپ 0 باشند . ';
806
- <?php } ?>
807
- document.getElementById("city_<?php echo $field["id"]; ?>").innerHTML = pm2;
808
- return false;
809
- }
810
- <?php } ?>
811
- if (meli_code.value.length == 8) {
812
- meli_code.value = "00"+meli_code.value;
813
- }
814
- if (meli_code.value.length == 9) {
815
- meli_code.value = "0"+meli_code.value;
816
- }
817
- city = meli_code.value.substring(0,3);
818
- c = parseInt(meli_code.value.charAt(9));
819
- n = parseInt(meli_code.value.charAt(0)) * 10 +
820
- parseInt(meli_code.value.charAt(1)) * 9 +
821
- parseInt(meli_code.value.charAt(2)) * 8 +
822
- parseInt(meli_code.value.charAt(3)) * 7 +
823
- parseInt(meli_code.value.charAt(4)) * 6 +
824
- parseInt(meli_code.value.charAt(5)) * 5 +
825
- parseInt(meli_code.value.charAt(6)) * 4 +
826
- parseInt(meli_code.value.charAt(7)) * 3 +
827
- parseInt(meli_code.value.charAt(8)) * 2;
828
- r = n - parseInt(n / 11) * 11;
829
- if ((r == 0 && r == c) || (r == 1 && c == 1) || (r > 1 && c == 11 - r)) {
830
- <?php if(rgget("field_mellicart", $field)) {?>
831
- if(city=="169")cityN="استان آذربايجان شرقي - شهر آذر شهر";if(city=="170")cityN="استان آذربايجان شرقي - شهر اسکو";if(city=="149"||city=="150")cityN="استان آذربايجان شرقي - شهر اهر";if(city=="171")cityN="استان آذربايجان شرقي - شهر بستان آباد";if(city=="168")cityN="استان آذربايجان شرقي - شهر بناب";if(city=="136"||city=="137"||city=="138")cityN="استان آذربايجان شرقي - شهر تبريز";if(city=="545")cityN="استان آذربايجان شرقي - شهر ترکمانچاي";if(city=="505")cityN="استان آذربايجان شرقي - شهر جلفا";if(city=="636")cityN="استان آذربايجان شرقي - شهر چاروايماق";if(city=="164"||city=="165")cityN="استان آذربايجان شرقي - شهر سراب";if(city=="172")cityN="استان آذربايجان شرقي - شهر شبستر";if(city=="623")cityN="استان آذربايجان شرقي - شهر صوفيان";if(city=="506")cityN="استان آذربايجان شرقي - شهر عجب شير";if(city=="519")cityN="استان آذربايجان شرقي - شهر کليبر";if(city=="154"||city=="155")cityN="استان آذربايجان شرقي - شهر مراغه";if(city=="567")cityN="استان آذربايجان شرقي - شهر ورزقان";if(city=="173")cityN="استان آذربايجان شرقي - شهر هريس";if(city=="159"||city=="160")cityN="استان آذربايجان شرقي - شهر هشترود";if(city=="604")cityN="استان آذربايجان شرقي - شهر هوراند";if(city=="274"||city=="275")cityN="استان آذربايجان غربي - شهر اروميه";if(city=="295")cityN="استان آذربايجان غربي - شهر اشنويه";if(city=="637")cityN="استان آذربايجان غربي - شهر انزل";if(city=="292")cityN="استان آذربايجان غربي - شهر بوکان";if(city=="492")cityN="استان آذربايجان غربي - شهر پلدشت";if(city=="289")cityN="استان آذربايجان غربي - شهر پيرانشهر";if(city=="677")cityN="استان آذربايجان غربي - شهر تخت سليمان";if(city=="294")cityN="استان آذربايجان غربي - شهر تکاب";if(city=="493")cityN="استان آذربايجان غربي - شهر چايپاره";if(city=="279"||city=="280")cityN="استان آذربايجان غربي - شهر خوي";if(city=="288")cityN="استان آذربايجان غربي - شهر سردشت";if(city=="284"||city=="285")cityN="استان آذربايجان غربي - شهر سلماس";if(city=="638")cityN="استان آذربايجان غربي - شهر سيلوانه";if(city=="291")cityN="استان آذربايجان غربي - شهر سيه چشمه(چالدران)";if(city=="640")cityN="استان آذربايجان غربي - شهر شوط";if(city=="293")cityN="استان آذربايجان غربي - شهر شاهين دژ";if(city=="675")cityN="استان آذربايجان غربي - شهر کشاورز";if(city=="282"||city=="283")cityN="استان آذربايجان غربي - شهر ماکو";if(city=="286"||city=="287")cityN="استان آذربايجان غربي - شهر مهاباد";if(city=="296"||city=="297")cityN="استان آذربايجان غربي - شهر مياندوآب";if(city=="290")cityN="استان آذربايجان غربي - شهر نقده";if(city=="400"||city=="401")cityN="استان همدان - شهر اسدآباد";if(city=="404"||city=="405")cityN="استان همدان - شهر بهار";if(city=="397")cityN="استان همدان - شهر تويسرکان";if(city=="398"||city=="399")cityN="استان همدان - شهر رزن";if(city=="647")cityN="استان همدان - شهر شراء و پيشخوار";if(city=="502")cityN="استان همدان - شهر فامنين";if(city=="584")cityN="استان همدان - شهر قلقل رود";if(city=="402"||city=="403")cityN="استان همدان - شهر کبودرآهنگ";if(city=="392"||city=="393")cityN="استان همدان - شهر ملاير";if(city=="395"||city=="396")cityN="استان همدان - شهر نهاوند";if(city=="386"||city=="387")cityN="استان همدان - شهر همدان";if(city=="503")cityN="استان يزد - شهر ابرکوه";if(city=="444")cityN="استان يزد - شهر اردکان";if(city=="551")cityN="استان يزد - شهر اشکذر";if(city=="447")cityN="استان يزد - شهر بافق";if(city=="561")cityN="استان يزد - شهر بهاباد";if(city=="445")cityN="استان يزد - شهر تفت";if(city=="718")cityN="استان يزد - شهر دستگردان";if(city=="083")cityN="استان يزد - شهر طبس";if(city=="446")cityN="استان يزد - شهر مهريز";if(city=="448")cityN="استان يزد - شهر ميبد";if(city=="552")cityN="استان يزد - شهر نير";if(city=="543")cityN="استان يزد - شهر هرات و مروست";if(city=="442"||city=="443")cityN="استان يزد - شهر يزد";if(city=="051")cityN="استان مرکزي - شهر آشتيان";if(city=="052"||city=="053")cityN="استان مرکزي - شهر اراک";if(city=="058")cityN="استان مرکزي - شهر تفرش";if(city=="055")cityN="استان مرکزي - شهر خمين";if(city=="617")cityN="استان مرکزي - شهر خنداب";if(city=="057")cityN="استان مرکزي - شهر دليجان";if(city=="618")cityN="استان مرکزي - شهر زرند مرکزي";if(city=="059"||city=="060")cityN="استان مرکزي - شهر ساوه";if(city=="061"||city=="062")cityN="استان مرکزي - شهر سربند";if(city=="544")cityN="استان مرکزي - شهر فراهان";if(city=="056")cityN="استان مرکزي - شهر محلات";if(city=="571")cityN="استان مرکزي - شهر وفس";if(city=="593")cityN="استان مرکزي - شهر هندودر";if(city=="667")cityN="استان هرمزگان - شهر ابوموسي";if(city=="348")cityN="استان هرمزگان - شهر بستک";if(city=="586")cityN="استان هرمزگان - شهر بشاگرد";if(city=="338"||city=="339")cityN="استان هرمزگان - شهر بندرعباس";if(city=="343"||city=="344")cityN="استان هرمزگان - شهر بندرلنگه";if(city=="346")cityN="استان هرمزگان - شهر جاسک";if(city=="337")cityN="استان هرمزگان - شهر حاجي آباد";if(city=="554")cityN="استان هرمزگان - شهر خمير";if(city=="469")cityN="استان هرمزگان - شهر رودان";if(city=="537")cityN="استان هرمزگان - شهر فين";if(city=="345")cityN="استان هرمزگان - شهر قشم";if(city=="470")cityN="استان هرمزگان - شهر گاوبندي";if(city=="341"||city=="342")cityN="استان هرمزگان - شهر ميناب";if(city=="483"||city=="484")cityN="استان لرستان - شهر ازنا";if(city=="557")cityN="استان لرستان - شهر اشترينان";if(city=="418")cityN="استان لرستان - شهر الشتر";if(city=="416"||city=="417")cityN="استان لرستان - شهر اليگودرز";if(city=="412"||city=="413")cityN="استان لرستان - شهر بروجرد";if(city=="592")cityN="استان لرستان - شهر پاپي";if(city=="612")cityN="استان لرستان - شهر چغلوندي";if(city=="613")cityN="استان لرستان - شهر چگني";if(city=="406"||city=="407")cityN="استان لرستان - شهر خرم آباد";if(city=="421")cityN="استان لرستان - شهر دورود";if(city=="598")cityN="استان لرستان - شهر رومشکان";if(city=="419")cityN="استان لرستان - شهر کوهدشت";if(city=="385")cityN="استان لرستان - شهر ملاوي(پلدختر)";if(city=="420")cityN="استان لرستان - شهر نورآباد(دلفان)";if(city=="528")cityN="استان لرستان - شهر ويسيان";if(city=="213"||city=="214")cityN="استان مازندران - شهر آمل";if(city=="205"||city=="206")cityN="استان مازندران - شهر بابل";if(city=="498")cityN="استان مازندران - شهر بابل";if(city=="568")cityN="استان مازندران - شهر بندپي";if(city=="711")cityN="استان مازندران - شهر بندپي شرقي";if(city=="217"||city=="218")cityN="استان مازندران - شهر بهشهر";if(city=="221")cityN="استان مازندران - شهر تنکابن";if(city=="582")cityN="استان مازندران - شهر جويبار";if(city=="483")cityN="استان مازندران - شهر چالوس";if(city=="625")cityN="استان مازندران - شهر چمستان";if(city=="576")cityN="استان مازندران - شهر چهاردانگه";if(city=="578")cityN="استان مازندران - شهر دودانگه";if(city=="227")cityN="استان مازندران - شهر رامسر";if(city=="208"||city=="209")cityN="استان مازندران - شهر ساري";if(city=="225")cityN="استان مازندران - شهر سوادکوه";if(city=="577")cityN="استان مازندران - شهر شيرگاه";if(city=="712")cityN="استان مازندران - شهر عباس آباد";if(city=="215"||city=="216")cityN="استان مازندران - شهر قائمشهر";if(city=="626")cityN="استان مازندران - شهر کجور";if(city=="627")cityN="استان مازندران - شهر کلاردشت";if(city=="579")cityN="استان مازندران - شهر گلوگاه";if(city=="713")cityN="استان مازندران - شهر مياندورود";if(city=="499")cityN="استان مازندران - شهر نکاء";if(city=="222")cityN="استان مازندران - شهر نور";if(city=="219"||city=="220")cityN="استان مازندران - شهر نوشهر";if(city=="500"||city=="501")cityN="استان مازندران - شهر هراز و محمودآباد";if(city=="623")cityN="استان گلستان - شهر آزادشهر";if(city=="497")cityN="استان گلستان - شهر آق قلا";if(city=="223")cityN="استان گلستان - شهر بندرترکمن";if(city=="689")cityN="استان گلستان - شهر بندرگز";if(city=="487")cityN="استان گلستان - شهر راميان";if(city=="226")cityN="استان گلستان - شهر علي آباد";if(city=="224")cityN="استان گلستان - شهر کردکوي";if(city=="386")cityN="استان گلستان - شهر کلاله";if(city=="211"||city=="212")cityN="استان گلستان - شهر گرگان";if(city=="628")cityN="استان گلستان - شهر گميشان";if(city=="202"||city=="203")cityN="استان گلستان - شهر گنبد کاووس";if(city=="531")cityN="استان گلستان - شهر مراوه تپه";if(city=="288")cityN="استان گلستان - شهر مينودشت";if(city=="261")cityN="استان گيلان - شهر آستارا";if(city=="273")cityN="استان گيلان - شهر آستانه";if(city=="630")cityN="استان گيلان - شهر املش";if(city=="264")cityN="استان گيلان - شهر بندرانزلي";if(city=="518")cityN="استان گيلان - شهر خمام";if(city=="631")cityN="استان گيلان - شهر رحيم آباد";if(city=="258"||city=="259")cityN="استان گيلان - شهر رشت";if(city=="570")cityN="استان گيلان - شهر رضوانشهر";if(city=="265")cityN="استان گيلان - شهر رودبار";if(city=="268"||city=="269")cityN="استان گيلان - شهر رودسر";if(city=="653")cityN="استان گيلان - شهر سنگر";if(city=="517")cityN="استان گيلان - شهر سياهکل";if(city=="569")cityN="استان گيلان - شهر شفت";if(city=="267")cityN="استان گيلان - شهر صومعه سرا";if(city=="262"||city=="263")cityN="استان گيلان - شهر طالش";if(city=="593")cityN="استان گيلان - شهر عمارلو";if(city=="266")cityN="استان گيلان - شهر فومن";if(city=="693")cityN="استان گيلان - شهر کوچصفهان";if(city=="271"||city=="272")cityN="استان گيلان - شهر لاهيجان";if(city=="694")cityN="استان گيلان - شهر لشت نشاء";if(city=="270")cityN="استان گيلان - شهر لنگرود";if(city=="516")cityN="استان گيلان - شهر ماسال و شاندرمن";if(city=="333"||city=="334")cityN="استان کرمانشاه - شهر اسلام آباد";if(city=="691")cityN="استان کرمانشاه - شهر باينگان";if(city=="322"||city=="323")cityN="استان کرمانشاه - شهر پاوه";if(city=="595")cityN="استان کرمانشاه - شهر ثلاث باباجاني";if(city=="395")cityN="استان کرمانشاه - شهر جوانرود";if(city=="641")cityN="استان کرمانشاه - شهر حميل";if(city=="596")cityN="استان کرمانشاه - شهر روانسر";if(city=="336")cityN="استان کرمانشاه - شهر سرپل ذهاب";if(city=="335")cityN="استان کرمانشاه - شهر سنقر";if(city=="496")cityN="استان کرمانشاه - شهر صحنه";if(city=="337")cityN="استان کرمانشاه - شهر قصرشيرين";if(city=="324"||city=="325")cityN="استان کرمانشاه - شهر کرمانشاه";if(city=="394")cityN="استان کرمانشاه - شهر کرند";if(city=="330")cityN="استان کرمانشاه - شهر کنگاور";if(city=="332")cityN="استان کرمانشاه - شهر گيلانغرب";if(city=="331")cityN="استان کرمانشاه - شهر هرسين";if(city=="687")cityN="استان کهکيلويه و بويراحمد - شهر باشت";if(city=="422"||city=="423")cityN="استان کهکيلويه و بويراحمد - شهر بويراحمد(ياسوج)";if(city=="599")cityN="استان کهکيلويه و بويراحمد - شهر بهمني";if(city=="600")cityN="استان کهکيلويه و بويراحمد - شهر چاروسا";if(city=="688")cityN="استان کهکيلويه و بويراحمد - شهر دروهان";if(city=="424"||city=="425")cityN="استان کهکيلويه و بويراحمد - شهر کهکيلويه(دهدشت)";if(city=="426")cityN="استان کهکيلويه و بويراحمد - شهر گچساران(دوگنبدان)";if(city=="550")cityN="استان کهکيلويه و بويراحمد - شهر لنده";if(city=="697")cityN="استان کهکيلويه و بويراحمد - شهر مارگون";if(city=="384")cityN="استان کردستان - شهر بانه";if(city=="377"||city=="378")cityN="استان کردستان - شهر بيجار";if(city=="558")cityN="استان کردستان - شهر دهگلان";if(city=="385")cityN="استان کردستان - شهر ديواندره";if(city=="646")cityN="استان کردستان - شهر سروآباد";if(city=="375"||city=="376")cityN="استان کردستان - شهر سقز";if(city=="372"||city=="373")cityN="استان کردستان - شهر سنندج";if(city=="379"||city=="380")cityN="استان کردستان - شهر قروه";if(city=="383")cityN="استان کردستان - شهر کامياران";if(city=="674")cityN="استان کردستان - شهر کراني";if(city=="381"||city=="382")cityN="استان کردستان - شهر مريوان";if(city=="676")cityN="استان کردستان - شهر نمشير";if(city=="722")cityN="استان کرمان - شهر ارزونيه";if(city=="542")cityN="استان کرمان - شهر انار";if(city=="312"||city=="313")cityN="استان کرمان - شهر بافت";if(city=="317")cityN="استان کرمان - شهر بردسير";if(city=="310"||city=="311")cityN="استان کرمان - شهر بم";if(city=="302"||city=="303")cityN="استان کرمان - شهر جيرفت";if(city=="583")cityN="استان کرمان - شهر رابر";if(city=="321")cityN="استان کرمان - شهر راور";if(city=="382")cityN="استان کرمان - شهر راين";if(city=="304"||city=="305")cityN="استان کرمان - شهر رفسنجان";if(city=="536")cityN="استان کرمان - شهر رودبار کهنوج";if(city=="605")cityN="استان کرمان - شهر ريگان";if(city=="308"||city=="309")cityN="استان کرمان - شهر زرند";if(city=="306"||city=="307")cityN="استان کرمان - شهر سيرجان";if(city=="319")cityN="استان کرمان - شهر شهداد";if(city=="313"||city=="314")cityN="استان کرمان - شهر شهربابک";if(city=="606")cityN="استان کرمان - شهر عنبرآباد";if(city=="320")cityN="استان کرمان - شهر فهرج";if(city=="698")cityN="استان کرمان - شهر قلعه گنج";if(city=="298"||city=="299")cityN="استان کرمان - شهر کرمان";if(city=="535")cityN="استان کرمان - شهر کوهبنان";if(city=="315"||city=="316")cityN="استان کرمان - شهر کهنوج";if(city=="318")cityN="استان کرمان - شهر گلباف";if(city=="607")cityN="استان کرمان - شهر ماهان";if(city=="608")cityN="استان کرمان - شهر منوجان";if(city=="508")cityN="استان قزوين - شهر آبيک";if(city=="538")cityN="استان قزوين - شهر آوج";if(city=="728")cityN="استان قزوين - شهر البرز";if(city=="509")cityN="استان قزوين - شهر بوئين زهرا";if(city=="438"||city=="439")cityN="استان قزوين - شهر تاکستان";if(city=="580")cityN="استان قزوين - شهر رودبار الموت";if(city=="590")cityN="استان قزوين - شهر رودبار شهرستان";if(city=="559")cityN="استان قزوين - شهر ضياءآباد";if(city=="588")cityN="استان قزوين - شهر طارم سفلي";if(city=="431"||city=="432")cityN="استان قزوين - شهر قزوين";if(city=="037"||city=="038")cityN="استان قم - شهر قم";if(city=="702")cityN="استان قم - شهر کهک";if(city=="240"||city=="241")cityN="استان فارس - شهر آباده";if(city=="670")cityN="استان فارس - شهر آباده طشک";if(city=="648")cityN="استان فارس - شهر ارسنجان";if(city=="252")cityN="استان فارس - شهر استهبان";if(city=="678")cityN="استان فارس - شهر اشکنان";if(city=="253")cityN="استان فارس - شهر اقليد";if(city=="649")cityN="استان فارس - شهر اوز";if(city=="513")cityN="استان فارس - شهر بوانات";if(city=="546")cityN="استان فارس - شهر بيضا";if(city=="671")cityN="استان فارس - شهر جويم";if(city=="246"||city=="247")cityN="استان فارس - شهر جهرم";if(city=="654")cityN="استان فارس - شهر حاجي آباد(زرين دشت)";if(city=="548")cityN="استان فارس - شهر خرامه";if(city=="547")cityN="استان فارس - شهر خشت و کمارج";if(city=="655")cityN="استان فارس - شهر خفر";if(city=="248"||city=="249")cityN="استان فارس - شهر داراب";if(city=="253")cityN="استان فارس - شهر سپيدان";if(city=="514")cityN="استان فارس - شهر سروستان";if(city=="665")cityN="استان فارس - شهر سعادت آباد";if(city=="673")cityN="استان فارس - شهر شيبکوه";if(city=="228"||city=="229"||city=="230")cityN="استان فارس - شهر شيراز";if(city=="679")cityN="استان فارس - شهر فراشبند";if(city=="256"||city=="257")cityN="استان فارس - شهر فسا";if(city=="244"||city=="245")cityN="استان فارس - شهر فيروزآباد";if(city=="681")cityN="استان فارس - شهر قنقري(خرم بيد)";if(city=="723")cityN="استان فارس - شهر قيروکارزين";if(city=="236"||city=="237")cityN="استان فارس - شهر کازرون";if(city=="683")cityN="استان فارس - شهر کوار";if(city=="656")cityN="استان فارس - شهر کراش";if(city=="250"||city=="251")cityN="استان فارس - شهر لارستان";if(city=="515")cityN="استان فارس - شهر لامرد";if(city=="242"||city=="243")cityN="استان فارس - شهر مرودشت";if(city=="238"||city=="239")cityN="استان فارس - شهر ممسني";if(city=="657")cityN="استان فارس - شهر مهر";if(city=="255")cityN="استان فارس - شهر ني ريز";if(city=="684")cityN="استان سمنان - شهر ايوانکي";if(city=="700")cityN="استان سمنان - شهر بسطام";if(city=="642")cityN="استان سمنان - شهر بيارجمند";if(city=="457")cityN="استان سمنان - شهر دامغان";if(city=="456")cityN="استان سمنان - شهر سمنان";if(city=="458"||city=="459")cityN="استان سمنان - شهر شاهرود";if(city=="460")cityN="استان سمنان - شهر گرمسار";if(city=="530")cityN="استان سمنان - شهر مهديشهر";if(city=="520")cityN="استان سمنان - شهر ميامي";if(city=="358"||city=="359")cityN="استان سيستان و بلوچستان - شهر ايرانشهر";if(city=="682")cityN="استان سيستان و بلوچستان - شهر بزمان";if(city=="703")cityN="استان سيستان و بلوچستان - شهر بمپور";if(city=="364"||city=="365")cityN="استان سيستان و بلوچستان - شهر چابهار";if(city=="371")cityN="استان سيستان و بلوچستان - شهر خاش";if(city=="701")cityN="استان سيستان و بلوچستان - شهر دشتياري";if(city=="720")cityN="استان سيستان و بلوچستان - شهر راسک";if(city=="366"||city=="367")cityN="استان سيستان و بلوچستان - شهر زابل";if(city=="704")cityN="استان سيستان و بلوچستان - شهر زابلي";if(city=="361"||city=="362")cityN="استان سيستان و بلوچستان - شهر زاهدان";if(city=="369"||city=="370")cityN="استان سيستان و بلوچستان - شهر سراوان";if(city=="635")cityN="استان سيستان و بلوچستان - شهر سرباز";if(city=="668")cityN="استان سيستان و بلوچستان - شهر سيب و سوران";if(city=="533")cityN="استان سيستان و بلوچستان - شهر شهرکي و ناروئي(زهک)";if(city=="705")cityN="استان سيستان و بلوچستان - شهر شيب آب";if(city=="699")cityN="استان سيستان و بلوچستان - شهر فنوج";if(city=="669")cityN="استان سيستان و بلوچستان - شهر قصرقند";if(city=="725")cityN="استان سيستان و بلوچستان - شهر کنارک";if(city=="597")cityN="استان سيستان و بلوچستان - شهر لاشار(اسپکه)";if(city=="611")cityN="استان سيستان و بلوچستان - شهر ميرجاوه";if(city=="525")cityN="استان سيستان و بلوچستان - شهر نيک شهر";if(city=="181")cityN="استان خوزستان - شهر آبادان";if(city=="527")cityN="استان خوزستان - شهر آغاجاري";if(city=="585")cityN="استان خوزستان - شهر اروندکنار";if(city=="685")cityN="استان خوزستان - شهر اميديه";if(city=="663")cityN="استان خوزستان - شهر انديکا";if(city=="192"||city=="193")cityN="استان خوزستان - شهر انديمشک";if(city=="174"||city=="175")cityN="استان خوزستان - شهر اهواز";if(city=="183"||city=="184")cityN="استان خوزستان - شهر ايذه";if(city=="481")cityN="استان خوزستان - شهر باغ ملک";if(city=="706")cityN="استان خوزستان - شهر بندر امام خميني";if(city=="194"||city=="195")cityN="استان خوزستان - شهر بندرماهشهر";if(city=="185"||city=="186")cityN="استان خوزستان - شهر بهبهان";if(city=="182")cityN="استان خوزستان - شهر خرمشهر";if(city=="199"||city=="200")cityN="استان خوزستان - شهر دزفول";if(city=="198")cityN="استان خوزستان - شهر دشت آزادگان";if(city=="662")cityN="استان خوزستان - شهر رامشير";if(city=="190"||city=="191")cityN="استان خوزستان - شهر رامهرمز";if(city=="692")cityN="استان خوزستان - شهر سردشت";if(city=="189")cityN="استان خوزستان - شهر شادگان";if(city=="707")cityN="استان خوزستان - شهر شاوور";if(city=="526")cityN="استان خوزستان - شهر شوش";if(city=="187"||city=="188")cityN="استان خوزستان - شهر شوشتر";if(city=="729")cityN="استان خوزستان - شهر گتوند";if(city=="730")cityN="استان خوزستان - شهر لالي";if(city=="196"||city=="197")cityN="استان خوزستان - شهر مسجدسليمان";if(city=="661")cityN="استان خوزستان - شهر هنديجان";if(city=="680")cityN="استان خوزستان - شهر هويزه";if(city=="643")cityN="استان خراسان رضوي - شهر احمدآباد";if(city=="562")cityN="استان خراسان رضوي - شهر بجستان";if(city=="572")cityN="استان خراسان رضوي - شهر بردسکن";if(city=="074")cityN="استان خراسان رضوي - شهر تايباد";if(city=="644")cityN="استان خراسان رضوي - شهر تخت جلگه";if(city=="072"||city=="073")cityN="استان خراسان رضوي - شهر تربت جام";if(city=="069"||city=="070")cityN="استان خراسان رضوي - شهر تربت حيدريه";if(city=="521")cityN="استان خراسان رضوي - شهر جغتاي";if(city=="573")cityN="استان خراسان رضوي - شهر جوين";if(city=="522")cityN="استان خراسان رضوي - شهر چناران";if(city=="724")cityN="استان خراسان رضوي - شهر خليل آباد";if(city=="076")cityN="استان خراسان رضوي - شهر خواف";if(city=="077")cityN="استان خراسان رضوي - شهر درگز";if(city=="650")cityN="استان خراسان رضوي - شهر رشتخوار";if(city=="574")cityN="استان خراسان رضوي - شهر زبرخان";if(city=="078"||city=="079")cityN="استان خراسان رضوي - شهر سبزوار";if(city=="081")cityN="استان خراسان رضوي - شهر سرخس";if(city=="084")cityN="استان خراسان رضوي - شهر فريمان";if(city=="651")cityN="استان خراسان رضوي - شهر فيض آباد";if(city=="086"||city=="087")cityN="استان خراسان رضوي - شهر قوچان";if(city=="089"||city=="090")cityN="استان خراسان رضوي - شهر کاشمر";if(city=="553")cityN="استان خراسان رضوي - شهر کلات";if(city=="091")cityN="استان خراسان رضوي - شهر گناباد";if(city=="092"||city=="093"||city=="094")cityN="استان خراسان رضوي - شهر مشهد";if(city=="097")cityN="استان خراسان رضوي - شهر مشهد منطقه2";if(city=="098")cityN="استان خراسان رضوي - شهر مشهد منطقه3";if(city=="096")cityN="استان خراسان رضوي - شهر مشهد منطقه1";if(city=="105"||city=="106")cityN="استان خراسان رضوي - شهر نيشابور";if(city=="063")cityN="استان خراسان شمالي - شهر اسفراين";if(city=="067"||city=="068")cityN="استان خراسان شمالي - شهر بجنورد";if(city=="075")cityN="استان خراسان شمالي - شهر جاجرم";if(city=="591")cityN="استان خراسان شمالي - شهر رازوجرکلان";if(city=="082")cityN="استان خراسان شمالي - شهر شيروان";if(city=="635")cityN="استان خراسان شمالي - شهر فاروج";if(city=="524")cityN="استان خراسان شمالي - شهر مانه و سملقان";if(city=="468")cityN="استان چهارمحال و بختياري - شهر اردل";if(city=="465")cityN="استان چهارمحال و بختياري - شهر بروجن";if(city=="461"||city=="462")cityN="استان چهارمحال و بختياري - شهر شهرکرد";if(city=="467")cityN="استان چهارمحال و بختياري - شهر فارسان";if(city=="555")cityN="استان چهارمحال و بختياري - شهر کوهرنگ";if(city=="633")cityN="استان چهارمحال و بختياري - شهر کيار";if(city=="629")cityN="استان چهارمحال و بختياري - شهر گندمان";if(city=="466")cityN="استان چهارمحال و بختياري - شهر لردگان";if(city=="696")cityN="استان چهارمحال و بختياري - شهر ميانکوه";if(city=="721")cityN="استان خراسان جنوبي - شهر بشرويه";if(city=="064"||city=="065")cityN="استان خراسان جنوبي - شهر بيرجند";if(city=="523")cityN="استان خراسان جنوبي - شهر درميان";if(city=="652")cityN="استان خراسان جنوبي - شهر زيرکوه";if(city=="719")cityN="استان خراسان جنوبي - شهر سرايان";if(city=="716")cityN="استان خراسان جنوبي - شهر سربيشه";if(city=="085")cityN="استان خراسان جنوبي - شهر فردوس";if(city=="088")cityN="استان خراسان جنوبي - شهر قائنات";if(city=="563")cityN="استان خراسان جنوبي - شهر نهبندان";if(city=="529")cityN="استان بوشهر - شهر بندر ديلم";if(city=="353")cityN="استان بوشهر - شهر بندر گناوه";if(city=="349"||city=="350")cityN="استان بوشهر - شهر بوشهر";if(city=="355")cityN="استان بوشهر - شهر تنگستان";if(city=="609")cityN="استان بوشهر - شهر جم";if(city=="351"||city=="352")cityN="استان بوشهر - شهر دشتستان";if(city=="354")cityN="استان بوشهر - شهر دشتي";if(city=="732")cityN="استان بوشهر - شهر دلوار";if(city=="357")cityN="استان بوشهر - شهر دير";if(city=="532")cityN="استان بوشهر - شهر سعد آباد";if(city=="610")cityN="استان بوشهر - شهر شبانکاره";if(city=="356")cityN="استان بوشهر - شهر کنگان";if(city=="556")cityN="استان تهران - شهر اسلامشهر";if(city=="658")cityN="استان تهران - شهر پاکدشت";if(city=="001"||city=="002"||city=="003"||city=="004"||city=="005"||city=="006"||city=="007"||city=="008")cityN="استان تهران - شهر تهران مرکزي";if(city=="011")cityN="استان تهران - شهر تهران جنوب";if(city=="020")cityN="استان تهران - شهر تهران شرق";if(city=="025")cityN="استان تهران - شهر تهرانشمال";if(city=="015")cityN="استان تهران - شهر تهران غرب";if(city=="043")cityN="استان تهران - شهر دماوند";if(city=="666")cityN="استان تهران - شهر رباط کريم";if(city=="489")cityN="استان تهران - شهر ساوجبلاغ";if(city=="044"||city=="045")cityN="استان تهران - شهر شميران";if(city=="048"||city=="049")cityN="استان تهران - شهر شهرري";if(city=="490"||city=="491")cityN="استان تهران - شهر شهريار";if(city=="695")cityN="استان تهران - شهر طالقان";if(city=="659")cityN="استان تهران - شهر فيروزکوه";if(city=="031"||city=="032")cityN="استان تهران - شهر کرج";if(city=="664")cityN="استان تهران - شهر کهريزک";if(city=="717")cityN="استان تهران - شهر نظرآباد";if(city=="041"||city=="042")cityN="استان تهران - شهر ورامين";if(city=="471"||city=="472")cityN=" امور خارجه - امور خارجه";if(city=="454")cityN="استان ايلام - شهر آبدانان";if(city=="581")cityN="استان ايلام - شهر ارکوازي(ملکشاهي)";if(city=="449"||city=="450")cityN="استان ايلام - شهر ايلام";if(city=="616")cityN="استان ايلام - شهر ايوان";if(city=="534")cityN="استان ايلام - شهر بدره";if(city=="455")cityN="استان ايلام - شهر دره شهر";if(city=="451")cityN="استان ايلام - شهر دهلران";if(city=="726")cityN="استان ايلام - شهر زرين آباد";if(city=="634")cityN="استان ايلام - شهر شيروان لومار";if(city=="453")cityN="استان ايلام - شهر شيروان و چرداول";if(city=="727")cityN="استان ايلام - شهر موسيان";if(city=="452")cityN="استان ايلام - شهر مهران";if(city=="145"||city=="146")cityN="استان اردبيل - شهر اردبيل";if(city=="731")cityN="استان اردبيل - شهر ارشق";if(city=="690")cityN="استان اردبيل - شهر انگوت";if(city=="601")cityN="استان اردبيل - شهر بيله سوار";if(city=="504")cityN="استان اردبيل - شهر پارس آباد";if(city=="163")cityN="استان اردبيل - شهر خلخال";if(city=="714")cityN="استان اردبيل - شهر خورش رستم";if(city=="715")cityN="استان اردبيل - شهر سرعين";if(city=="566")cityN="استان اردبيل - شهر سنجبد(کوثر)";if(city=="166"||city=="167")cityN="استان اردبيل - شهر مشکين شهر";if(city=="161"||city=="162")cityN="استان اردبيل - شهر مغان";if(city=="686")cityN="استان اردبيل - شهر نمين";if(city=="603")cityN="استان اردبيل - شهر نير";if(city=="619")cityN="استان اصفهان - شهر آران و بيدگل";if(city=="118")cityN="استان اصفهان - شهر اردستان";if(city=="127"||city=="128"||city=="129")cityN="استان اصفهان - شهر اصفهان";if(city=="620")cityN="استان اصفهان - شهر باغ بهادران";if(city=="621")cityN="استان اصفهان - شهر بوئين و مياندشت";if(city=="549")cityN="استان اصفهان - شهر تيران و کرون";if(city=="564")cityN="استان اصفهان - شهر جرقويه";if(city=="575")cityN="استان اصفهان - شهر چادگان";if(city=="113"||city=="114")cityN="استان اصفهان - شهر خميني شهر";if(city=="122")cityN="استان اصفهان - شهر خوانسار";if(city=="540")cityN="استان اصفهان - شهر خور و بيابانک";if(city=="660")cityN="استان اصفهان - شهر دولت آباد";if(city=="120")cityN="استان اصفهان - شهر سميرم";if(city=="512")cityN="استان اصفهان - شهر سميرم سفلي (دهاقان)";if(city=="510"||city=="511")cityN="استان اصفهان - شهر شاهين شهر";if(city=="119")cityN="استان اصفهان - شهر شهرضا";if(city=="115")cityN="استان اصفهان - شهر فريدن";if(city=="112")cityN="استان اصفهان - شهر فريدونشهر";if(city=="110"||city=="111")cityN="استان اصفهان - شهر فلاورجان";if(city=="125"||city=="126")cityN="استان اصفهان - شهر کاشان";if(city=="565")cityN="استان اصفهان - شهر کوهپايه";if(city=="121")cityN="استان اصفهان - شهر گلپايگان";if(city=="116"||city=="117")cityN="استان اصفهان - شهر لنجان(زرينشهر)";if(city=="541")cityN="استان اصفهان - شهر مبارکه";if(city=="622")cityN="استان اصفهان - شهر ميمه";if(city=="124")cityN="استان اصفهان - شهر نائين";if(city=="108"||city=="109")cityN="استان اصفهان - شهر نجف آباد";if(city=="123")cityN="استان اصفهان - شهر نطنز";if(city=="427"||city=="428")cityN="استان زنجان - شهر زنجان";if(city=="507")cityN="استان آذربايجان شرقي - شهر ملکان";if(city=="158")cityN="استان آذربايجان شرقي - شهر مرند";if(city=="152"||city=="153")cityN="استان آذربايجان شرقي - شهر ميانه";if(city=="615")cityN="استان قزوين - شهر ابهر و خرمدره"
832
- document.getElementById("city_<?php echo $field["id"]; ?>").innerHTML = cityN;
833
- <?php
834
- }
835
- if(rgget("field_mellicart_sp", $field)) {?>
836
- meli_code.value = meli_code.value.substring(0,3)+"-"+meli_code.value.substring(3,9)+"-"+meli_code.value.substring(9,10);
837
- <?php } ?>
838
- return true;
839
- }
840
- <?php if(rgget("field_mellicart", $field)) {?>
841
- else {
842
- <?php if ($pm3) { ?>
843
- var pm3 = "<?php echo $pm3 ?>";
844
- <?php } else { ?>
845
- var pm3 = 'کد ملی وارد شده مطابق با استانداردهای کشور نمی باشد .';
846
- <?php } ?>
847
- document.getElementById("city_<?php echo $field["id"]; ?>").innerHTML = pm3;
848
- return false;
849
- }
850
- <?php } ?>
851
- }
852
- </script>
853
- <?php
854
- }
855
- return $content;
856
- }
857
- public function Add_Melli_Cart_Field_PHP_Checker_Massage_By_HANNANStd($result, $value, $form, $field){
858
- if ( $field["type"] == "mellicart" ) {
859
- $pm1= rgget("field_mellicart_sp1", $field);
860
- $pm2= rgget("field_mellicart_sp2", $field);
861
- $pm3= rgget("field_mellicart_sp3", $field);
862
- $pm4= rgget("field_mellicart_sp4", $field);
863
- if(rgget("field_mellicart_sp", $field))
864
- $setting = 1;
865
- else
866
- $setting = 0;
867
- if (self::Add_Melli_Cart_PHP_Checker_By_HANNANStd($value,$setting) == 4) {
868
- $result["is_valid"] = false;
869
- if ($pm1)
870
- $result["message"] = $pm1;
871
- else
872
- $result["message"] = "کد ملی فقط باید به صورت عدد وارد شود . ";
873
- }
874
- if (self::Add_Melli_Cart_PHP_Checker_By_HANNANStd($value,$setting) == 3) {
875
- $result["is_valid"] = false;
876
- if ($pm2)
877
- $result["message"] = $pm2;
878
- else
879
- $result["message"] = 'کد ملی می بایست 10 رقمی باشد . تنها در صورتی مجاز به استفاده از کد های 8 یا 9 رقمی هستید که ارقام سمت چپ 0 باشند . ';
880
- }
881
- if (self::Add_Melli_Cart_PHP_Checker_By_HANNANStd($value,$setting) == 2) {
882
- $result["is_valid"] = false;
883
- if ($pm4)
884
- $result["message"] = $pm4;
885
- else
886
- $result["message"] = 'کد ملی وارد شده مطابق با استانداردهای کشور نمی باشد .';
887
- }
888
- if ($field["noDuplicates"] && RGFormsModel::is_duplicate($form["id"], $field, $value)){
889
- $result["is_valid"] = false;
890
- if ($pm3)
891
- $result["message"] = $pm3;
892
- else
893
- $result["message"] = 'این کد ملی توسط فرد دیگری ثبت شده است .';
894
- }
895
- }
896
- return $result;
897
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
898
  }
899
  global $Persian_Gravityforms_By_HANNANStd_plugin;
900
  $Persian_Gravityforms_By_HANNANStd_plugin = new GravityFormsPersian( __FILE__ );
3
  Plugin Name: Persian Gravity Forms
4
  Plugin URI: https://wordpress.org/plugins/persian-gravity-forms/
5
  Description: Gravity Forms for Iranian
6
+ Version: 1.2.0
7
  Requires at least: 3.5
8
  Author: HANNAN Ebrahimi Setoode
9
  Author URI: http://www.gravityforms.ir/
16
  private $file;
17
  private $language;
18
  private $is_persian;
19
+
20
  public function __construct( $file ) {
21
  $this->file = $file;
22
+ //actions
23
  add_action('init', array( $this, 'init' ), 8 );
 
24
  add_action('gform_post_status_options', array( $this, 'Add_Private_Post_Status_By_HANNANStd'));
 
 
 
25
  add_action('activated_plugin', array( $this, 'Activated_Plugin_By_HANNANStd' ) );
26
  add_action('gform_admin_pre_render', array( $this, 'Add_Merge_Tags_To_List_By_HANNANStd'));
 
27
  add_action('wp_dashboard_setup', array( $this, 'Persian_GravityForms_Dashboard_By_HANNANStd'));
 
28
  add_action('admin_print_scripts', array( $this, 'GravityForms_Admin_CSS_By_HANNANStd' ));
 
29
  add_action('gform_field_standard_settings', array( $this, 'Add_Jalali_Active_Standard_Settings'), 10, 2);
30
  add_action('gform_editor_js', array( $this, 'Editor_Script_By_HANNANStd'));
 
31
  add_action('gform_enqueue_scripts', array( $this, 'Add_Jalali_Front_End_On_Off_Switch_By_HANNANStd'), 10 , 2 );
 
 
32
  add_action('gform_field_input', array( $this,'Add_Melli_Cart_Field_Input_By_HANNANStd'), 10, 5);
33
  add_action('gform_field_css_class', array( $this, 'Add_Melli_Cart_Field_Class_By_HANNANStd'), 10, 3);
 
 
34
  add_action('gform_field_advanced_settings', array( $this, 'Add_Melli_Cart_Field_Setting_By_HANNANStd'), 10, 2);
 
35
  add_action('gform_entries_first_column', array($this ,'First_Column_Actions_By_HANNANStd'), 10, 5);
36
  add_action('gform_entry_post_save', array($this ,'Update_Lead_No_Gateway_By_HANNANStd'), 10, 2);
37
+ //filters
38
+ add_filter('update_footer', array( $this, 'GravityForms_Footer_Left_By_HANNANStd'), 11);
39
+ add_filter('load_textdomain_mofile', array( $this, 'Load_Textdomain_Mo_File_By_HANNANStd'), 10, 2 );
40
+ add_filter('gform_currencies', array( $this, 'Update_Currency_By_HANNANStd' ) );
41
+ add_filter('gform_address_types', array( $this, 'Gform_IRAN_By_HANNANStd' ) );
42
+ add_filter('gform_replace_merge_tags', array( $this, 'GformReplaceMergeTags_By_HANNANStd'), 10, 7);
43
+ add_filter('gform_print_styles', array( $this, 'Add_Styles_Print_By_HANNANStd'), 10, 2);
44
+ add_filter('gform_predefined_choices', array( $this, 'Add_Iran_Predefined_Choice_By_HANNANStd' ),1);
45
+ add_filter('gform_tooltips', array( $this, 'Add_Encryption_tooltips_By_HANNANStd'));
46
+ add_filter('gform_add_field_buttons', array( $this, 'Add_Melli_Cart_Field_By_HANNANStd'));
47
+ add_filter('gform_field_type_title', array( $this,'Add_Melli_Cart_Field_Title_By_HANNANStd'));
48
+ add_filter('gform_editor_js_set_default_values', array( $this, 'Add_Melli_Cart_Field_Label_By_HANNANStd'));
49
+ add_filter('gform_field_content', array( $this, 'Add_Melli_Cart_Field_JavaScript_Checker_By_HANNANStd'), 10, 5);
50
+ add_filter('gform_field_validation', array( $this, 'Input_Valid_Checker_By_HANNANStd'), 10, 4);
51
+ }
52
+
53
+ public function Activated_Plugin_By_HANNANStd() {
54
  $path = str_replace( WP_PLUGIN_DIR . '/', '', $this->file );
55
  if ( $plugins = get_option( 'active_plugins' ) ) {
56
  if ( $key = array_search( $path, $plugins ) ) {
67
  }
68
  }
69
  }
70
+
71
  public function init(){
72
  require_once("include/Jalali.php");
73
  require_once("include/Post_Content_Merge_Tags.php");
82
  load_plugin_textdomain( 'Persian_Gravityforms_By_HANNANStd', false, $rel_path );
83
  load_plugin_textdomain( 'gravityformsuserregistration', false, $rel_path );
84
  }
85
+
86
  protected static function get_base_path(){
87
  $folder = basename(dirname(__FILE__));
88
  return WP_PLUGIN_DIR . "/" . $folder;
89
  }
90
+
91
  public function Load_Textdomain_Mo_File_By_HANNANStd( $mo_file, $domain ) {
92
  if ( strpos( $mo_file, 'fa_IR.mo' ) !== false ) {
93
  $domains = array(
160
  }
161
  return $mo_file;
162
  }
163
+
164
  public function Add_Jalali_Active_Standard_Settings($position, $form_id){
165
+ if($position == 25){
166
+ ?>
167
+ <li class="Jalali_setting field_setting">
168
+ <input type="checkbox" id="check_jalali" onclick="SetFieldProperty('check_jalali', jQuery(this).is(':checked') ? 1 : 0);"/>
169
+ <label class="inline gfield_value_label" for="field_admin_label">
170
+ <?php _e( 'Yes', 'Persian_Gravityforms_By_HANNANStd' ); ?>
171
+ <?php gform_tooltip("form_check_jalali") ?>
172
+ </label>
173
+ </li>
174
+ <?php
175
+ }
176
  }
177
+
178
  public function Editor_Script_By_HANNANStd(){
179
  ?>
180
+ <script type='text/javascript'>
181
+ fieldSettings["date"] += ", .Jalali_setting";
182
+ fieldSettings["mellicart"] = ".conditional_logic_field_setting, .label_setting, .admin_label_setting, .size_setting, .rules_setting, .visibility_setting, .duplicate_setting, .default_value_setting, .description_setting, .css_class_setting, .mellicart_setting";
183
+ jQuery(document).bind("gform_load_field_settings", function(event, field, form){
184
+ jQuery("#check_jalali").attr("checked", field["check_jalali"] == true);
185
+ jQuery("#field_mellicart").attr("checked", field["field_mellicart"] == true);
186
+ jQuery("#field_mellicart_sp").attr("checked", field["field_mellicart_sp"] == true);
187
+ jQuery("#field_mellicart_sp1").val(field["field_mellicart_sp1"]);
188
+ jQuery("#field_mellicart_sp2").val(field["field_mellicart_sp2"]);
189
+ jQuery("#field_mellicart_sp3").val(field["field_mellicart_sp3"]);
190
+ jQuery("#field_mellicart_sp4").val(field["field_mellicart_sp4"]);
191
+ });
192
+ </script>
193
  <?php
194
  }
195
+
196
  public function Add_Encryption_tooltips_By_HANNANStd($tooltips){
197
+ $tooltips["form_check_jalali"] = "<h6>فعالسازی تاریخ شمسی</h6>در صورتی که از چند فیلد تاریخ استفاده میکنید ، فعالسازی تاریخ شمسی یکی از فیلدها کفایت میکند .<br/>تذکر : با توجه به آزمایشی بودن این قسمت ممکن است تداخل توابع سبب ناسازگاری با برخی قالب ها شود.";
198
+ $tooltips["form_field_mellicart"] = "<h6>نمایش لحظه ای شهر از روی کد ملی </h6>نمایش شهر و پیغام زیر فیلد کد ملی بعد از پر شدن فیلد . تذکر : در صورتی که این گزینه را فعال نمایید ،ممکن است فراخوانی شهر های ایران با توجه به کسرت آنها سبب سنگین شدن صفحه گردد.";
199
+ $tooltips["form_field_mellicart_sp"] = "<h6>جدا سازی ارقام</h6>در صورتی که این گزینه را فعال نمایید ، پس از پر شدن فیلد ، <strong>در صورتی که کد ملی وارد شده صحیح تشخصی داده شود</strong> ؛ کد ملی به صورت زیر در خواهد آمد :<br/>xxx-xxxxxx-x";
200
+ $tooltips["form_field_mellicart_header"] = "<h6>پیغام خطا</h6>در صورتی که کاربر فیلد کد ملی را به صورت صحیح وارد نکند ؛ پیغام خطا را مشاهده میکند که میتوانید این پیغام ها را مدیریت نمایید . در صورتی که مقادیر زیر را خالی بگذارید پیغام پیشفرض نمایش داده خواهد شد.";
201
+ $tooltips["form_field_mellicart_sp1"] = "<h6>پیغام پیشفرض</h6>با توجه به اینکه کد ملی فقط باید به صورت عدد باشد ، در صورتی که کاراکتری غیر از عدد وارد شده باشد پیغام خطا نمایش داده خواهد شد .<br/>پیغام پیشفرض : کد ملی فقط باید به صورت عدد وارد شود . ";
202
+ $tooltips["form_field_mellicart_sp2"] = "<h6>پیغام پیشفرض</h6>با توجه به اینکه کد ملی می بایست 10 رقمی باشد اگر تعداد رقم وارد شده ، اشتباه باشد پیغام خطا نمایش داده خواهد شد .<br>پیغام پیشفرض : کد ملی می بایست 10 رقمی باشد . تنها در صورتی مجاز به استفاده از کد های 8 یا 9 رقمی هستید که ارقام سمت چپ 0 باشند . ";
203
+ $tooltips["form_field_mellicart_sp3"] = "<h6>پیغام پیشفرض</h6>در صورتی که از تب وِیژگی تیک گزینه بدون تکرار را زده باشید ؛ بعد از پر شدن فرم و زدن دکمه ارسال پیغامی مبتنی بر تکراری بودن کد ملی نمایش داده خواهد شد . <br/>پیغام پیشفرض : این کد ملی توسط فرد دیگری ثبت شده است .";
204
+ $tooltips["form_field_mellicart_sp4"] = "<h6>پیغام پیشفرض</h6>در صورتی که کد ملی وارد شده مطابق با الگوریتم کشور نباشد پیغام خطا نمایش داده خواهد شد .<br/>پیغام پیشفرض : کد ملی وارد شده مطابق با استانداردهای کشور نمی باشد .";
205
+ return $tooltips;
206
  }
207
+
208
  function Add_Jalali_Front_End_On_Off_Switch_By_HANNANStd( $form, $ajax ) {
209
+ foreach ( $form['fields'] as $field ) {
210
+ if ( ( $field['type'] == 'date' ) ) {
211
+ if(rgget("check_jalali", $field)){
212
+ add_filter('gform_date_min_year', array( $this, 'Set_Min_Year_By_HANNANStd' ) );
213
+ add_filter('gform_date_max_year', array( $this, 'Set_Max_Year_By_HANNANStd' ) );
214
+ if (!IS_ADMIN)
215
+ {
216
+ wp_deregister_script('gform_datepicker_init');
217
+ wp_deregister_script('jquery-ui-datepicker');
218
+ wp_register_script('gform_datepicker_init',plugins_url ( '/assets/js/Datepicker.js', __FILE__), array( 'jquery', 'jquery-ui-core' ), GFCommon::$version, true );
219
+ }
220
+ }
221
+ }
222
+ }
223
  }
224
+
225
  public function Set_Min_Year_By_HANNANStd($min_year){
226
+ $min_year = GF_gregorian_to_jalali($min_year,03,21);
227
+ return $min_year[0]+1;
228
  }
229
+
230
  public function Set_Max_Year_By_HANNANStd($max_year){
231
+ $max_year = GF_gregorian_to_jalali($max_year,03,21);
232
+ return $max_year[0]+10;
233
  }
234
+
235
  public function GravityForms_Footer_Left_By_HANNANStd($text) {
236
  $text = sprintf(__("%sGravity Forms%s for WordPress is a full featured contact form plugin .", "Persian_Gravityforms_By_HANNANStd"), '<a href="http://gravityforms.ir" target="_blank">', "</a>");return $text;
237
  }
238
+
239
  public function Add_Private_Post_Status_By_HANNANStd($post_status_options) {
240
  $post_status_options['private'] = __("Private", "Persian_Gravityforms_By_HANNANStd");
241
  return $post_status_options;
242
+ }
243
+
244
  public function Update_Currency_By_HANNANStd($currencies) {
245
  $currencies['IRR'] = array("name" => __("Iranian Rial", "Persian_Gravityforms_By_HANNANStd"), "symbol_left" => '', "symbol_right" => " ریال ", "symbol_padding" => "", "thousand_separator" => ',', "decimal_separator" => '.', "decimals" => 0);
246
  $currencies['IRT'] = array("name" => __("Toman", "Persian_Gravityforms_By_HANNANStd"), "symbol_left" => '', "symbol_right" => " تومان ", "symbol_padding" => " ", "thousand_separator" => ',', "decimal_separator" => '.', "decimals" => 0);
247
  return $currencies;
248
  }
249
+
250
  public function Gform_IRAN_By_HANNANStd( $address_types ) {
251
  $address_types['persian'] = array(
252
  'label' => __( 'IRAN', 'Persian_Gravityforms_By_HANNANStd' ),
289
  );
290
  return $address_types;
291
  }
292
+
293
  public function Add_Iran_Predefined_Choice_By_HANNANStd($choices){
294
  $choices[__( 'Provinces of Iran', 'Persian_Gravityforms_By_HANNANStd' )] = array(__( 'Azarbaijan - East', 'Persian_Gravityforms_By_HANNANStd' ),
295
  __( 'Azarbaijan - West', 'Persian_Gravityforms_By_HANNANStd' ),
324
  __( 'Yazd', 'Persian_Gravityforms_By_HANNANStd' )
325
  ); return $choices;
326
  }
327
+
328
  public function Add_Merge_Tags_To_List_By_HANNANStd($form){ ?>
329
+ <script type="text/javascript">
330
+ gform.addFilter("gform_merge_tags", "add_merge_tags");
331
+ function add_merge_tags(mergeTags, elementId, hideAllFields, excludeFieldTypes, isPrepop, option){
332
+ mergeTags["custom"].tags.push({ tag: '{payment_gateway}', label: '<?php _e("Simple Payment Gateway", "Persian_Gravityforms_By_HANNANStd") ?>' });
333
+ mergeTags["custom"].tags.push({ tag: '{payment_status}', label: '<?php _e("Simple Payment Status", "Persian_Gravityforms_By_HANNANStd") ?>' });
334
+ mergeTags["custom"].tags.push({ tag: '{transaction_id}', label: '<?php _e("Simple Transaction ID", "Persian_Gravityforms_By_HANNANStd") ?>' });
335
+ mergeTags["custom"].tags.push({ tag: '{payment_gateway_css}', label: '<?php _e("Styled Payment Gateway", "Persian_Gravityforms_By_HANNANStd") ?>' });
336
+ mergeTags["custom"].tags.push({ tag: '{payment_status_css}', label: '<?php _e("Styled Payment Status", "Persian_Gravityforms_By_HANNANStd") ?>' });
337
+ mergeTags["custom"].tags.push({ tag: '{transaction_id_css}', label: '<?php _e("Styled Transaction ID", "Persian_Gravityforms_By_HANNANStd") ?>' });
338
+ mergeTags["custom"].tags.push({ tag: '{payment_pack}', label: '<?php _e("Styled Payment Pack", "Persian_Gravityforms_By_HANNANStd") ?>' });
339
+ mergeTags["custom"].tags.push({ tag: '{rtl_start}', label: '<?php _e("RTL Start", "Persian_Gravityforms_By_HANNANStd") ?>' });
340
+ mergeTags["custom"].tags.push({ tag: '{rtl_end}', label: '<?php _e("RTL End", "Persian_Gravityforms_By_HANNANStd") ?>' });
341
+ return mergeTags;
342
+ }
343
+ </script>
344
+ <?php
345
+ return $form;
346
+ }
347
+
348
  function First_Column_Actions_By_HANNANStd($form_id, $field_id, $value, $lead, $query_string) {
349
+ $url = get_bloginfo("wpurl") . "/wp-admin/admin.php?page=gf_entries&view=entries&id=" . $form_id;
350
+ $gateway = gform_get_meta($lead["id"], "payment_gateway");
351
+ if($lead["payment_status"] == 'Active') {
352
+ $color = '#008000';
353
+ $stat = "موفق";
354
+ }
355
+ if($lead["payment_status"] == 'Paid') {
356
+ $color = '#008000';
357
+ $stat = "موفق";
358
+ }
359
+ if($lead["payment_status"] == 'Failed') {
360
+ $color = '#FF0000';
361
+ $stat = "ناموفق";
362
+ }
363
+ if($lead["payment_status"] == 'Cancelled') {
364
+ $color = '#FFA500';
365
+ $stat = "منصرف شده";
366
+ }
367
+ if($lead["payment_status"] == 'Processing') {
368
+ $color = '#3399FF';
369
+ $stat = "معلق";
370
+ }
371
+ if ($gateway)
372
+ echo '<a class="stat" href="'.$url.'&sort=0&dir=DESC&s=Processing&field_id=payment_status&operator=is" style="color:'.$color.';"> '.$stat.' </a> - <a class="stat" href="'.$url.'&sort=0&dir=DESC&s='.$gateway.'&field_id=payment_gateway&operator=is" style="color:#000000;"> '.$gateway.' </a>';
373
+ else if ($lead["payment_status"])
374
+ echo '<a class="stat" href="'.$url.'&sort=0&dir=DESC&s=Processing&field_id=payment_status&operator=is" style="color:'.$color.';"> موفق </a>';
375
  }
376
+
377
  public function Update_Lead_No_Gateway_By_HANNANStd($lead, $form) {
378
+ $gateway = gform_get_meta($lead['id'], 'payment_gateway');
379
+ $method = $lead['payment_method'];
380
+ $product = self::get_product_price($form, $lead);
381
+ if (!isset($method) && !$gateway && !isset($lead["transaction_id"]) ) {
382
+ $lead["transaction_id"] = rand(100000000000000,999999999999999);
383
+ $lead["is_fulfilled"] = 0;
384
+ }
385
+ if ( ($product["yes"]==2) && !isset($method) && !$gateway ) {
386
+ $lead["payment_amount"] = $product["total"];
387
+ $lead["payment_date"] = gmdate('Y-m-d H:i:s');
388
+ $lead["is_fulfilled"] = 1;
389
+ $lead["payment_status"] = 'Paid';
390
+ }
391
+ $wp_session = WP_Session::get_instance();
392
+ wp_session_unset();
393
+ $wp_session['refid'] = $form["id"].$lead["id"];
394
+ @session_start();
395
+ $_SESSION["refid"] = $form["id"].$lead["id"];
396
+ RGFormsModel::update_lead($lead);
397
+ return $lead;
398
  }
399
+
400
  public function GformReplaceMergeTags_By_HANNANStd($text, $form, $lead, $url_encode, $esc_html, $nl2br, $format){
401
  $gateway = gform_get_meta($lead['id'], 'payment_gateway');
402
  if ($lead['payment_status']=="Active" || $lead['payment_status']=="Paid")
403
+ $payment_status = __("Paid", "Persian_Gravityforms_By_HANNANStd");
404
  if ($lead['payment_status']=="Failed")
405
+ $payment_status = __("Failed", "Persian_Gravityforms_By_HANNANStd");
406
  if ($lead['payment_status']=="Cancelled")
407
+ $payment_status = __("Cancelled", "Persian_Gravityforms_By_HANNANStd");
408
  $tags = array(
409
  '{payment_gateway}',
410
  '{transaction_id}',
420
  $gateway ? $gateway : '',
421
  isset($lead['transaction_id']) ? $lead['transaction_id'] : '',
422
  isset($lead['payment_status']) ? $payment_status : '',
423
+
424
+ $gateway ? '
425
+ <table width="99%" border="0" cellpadding="1" cellspacing="0" bgcolor="#EAEAEA" style="border:1px solid #e9e9e9!important;">
426
+ <tr bgcolor="#EAF2FA">
427
+ <td colspan="2" style="padding:5px !important">
428
+ <font style="font-family:sans-serif;font-size:12px"><strong>'.__( 'Payment Gateway', 'Persian_Gravityforms_By_HANNANStd' ).'</strong></font>
429
+ </td>
430
+ </tr>
431
+ <tr bgcolor="#FFFFFF">
432
+ <td style="padding:5px !important"><font style="font-family:sans-serif;font-size:12px">'.$gateway.'</font>
433
+ </td>
434
+ </tr>
 
 
435
  </table>' : '',
436
+
437
+ isset($lead['transaction_id']) ? '
438
+ <table width="99%" border="0" cellpadding="1" cellspacing="0" bgcolor="#EAEAEA" style="border:1px solid #e9e9e9!important;">
439
+ <tr bgcolor="#EAF2FA">
440
+ <td colspan="2" style="padding:5px !important">
441
+ <font style="font-family:sans-serif;font-size:12px"><strong>'.__( 'Transaction ID', 'Persian_Gravityforms_By_HANNANStd' ).'</strong></font>
442
+ </td>
443
+ </tr>
444
+ <tr bgcolor="#FFFFFF">
445
+ <td style="padding:5px !important">
446
+ <font style="font-family:sans-serif;font-size:12px">'.$lead['transaction_id'].'</font>
447
+ </td>
448
+ </tr>
449
  </table>' : '',
450
+
451
+ isset($lead['payment_status']) ? '
452
+ <table width="99%" border="0" cellpadding="1" cellspacing="0" bgcolor="#EAEAEA" style="border:1px solid #e9e9e9!important;">
453
+ <tr bgcolor="#EAF2FA">
454
+ <td colspan="2" style="padding:5px !important">
455
+ <font style="font-family:sans-serif;font-size:12px"><strong>'.__( 'Payment Status', 'Persian_Gravityforms_By_HANNANStd' ).'</strong></font>
456
+ </td>
457
+ </tr>
458
+ <tr bgcolor="#FFFFFF">
459
+ <td style="padding:5px !important">
460
+ <font style="font-family:sans-serif;font-size:12px">'.$payment_status.'</font>
461
+ </td>
462
+ </tr>
463
+ </table>' : '',
464
+
465
+ (isset($lead['transaction_id']) && $gateway && isset($lead['payment_status']) ) ? '
466
+ <table width="99%" border="0" cellpadding="1" cellspacing="0" bgcolor="#EAEAEA" style="border:1px solid #e9e9e9!important;">
467
+ <tr>
468
+ <td style="font-size:14px;font-weight:bold;background-color:#eee;border-bottom:1px solid #dfdfdf;padding:7px 7px" colspan="2">
469
+ '.__( 'Payment Information', 'Persian_Gravityforms_By_HANNANStd' ).'
470
+ </td>
471
+ </tr>
472
+ <tr bgcolor="#EAF2FA">
473
+ <td colspan="2" style="padding:5px !important">
474
+ <font style="font-family:sans-serif;font-size:12px"><strong>'.__( 'Payment Gateway', 'Persian_Gravityforms_By_HANNANStd' ).'</strong></font>
475
+ </td>
476
+ </tr>
477
+ <tr bgcolor="#FFFFFF">
478
+ <td style="padding:5px !important">
479
+ <font style="font-family:sans-serif;font-size:12px">'.$gateway.'</font>
480
+ </td>
481
+ </tr>
482
+ <tr bgcolor="#EAF2FA">
483
+ <td colspan="2" style="padding:5px !important">
484
+ <font style="font-family:sans-serif;font-size:12px"><strong>'.__( 'Payment Status', 'Persian_Gravityforms_By_HANNANStd' ).'</strong></font>
485
+ </td>
486
+ </tr>
487
+ <tr bgcolor="#FFFFFF">
488
+ <td style="padding:5px !important">
489
+ <font style="font-family:sans-serif;font-size:12px">'.$payment_status.'</font>
490
+ </td>
491
+ </tr>
492
+ <tr bgcolor="#EAF2FA">
493
+ <td colspan="2" style="padding:5px !important">
494
+ <font style="font-family:sans-serif;font-size:12px"><strong>'.__( 'Transaction ID', 'Persian_Gravityforms_By_HANNANStd' ).'</strong></font>
495
+ </td>
496
+ </tr>
497
+ <tr bgcolor="#FFFFFF">
498
+ <td style="padding:5px !important"><font style="font-family:sans-serif;font-size:12px">'.$lead['transaction_id'].'</font>
499
+ </td>
500
+ </tr>
501
  </table>' : '',
502
+
503
  '<div style="text-align: right !important; direction: rtl !important;">',
504
  '</div>',
505
  );
506
+
507
  $text = str_replace($tags, $values, $text);
508
  return $text;
509
  }
510
+
511
  public function Add_Styles_Print_By_HANNANStd($value, $form){
512
+ if( is_rtl() ) {
513
+ wp_register_style('print_entry', plugins_url ( '/assets/css/printer.css', __FILE__, true ) );
514
+ return array('print_entry');
515
+ }
516
  }
517
+
518
  public function GravityForms_Admin_CSS_By_HANNANStd() {
519
+ if(!class_exists('GFForms')){
520
+ return;
521
+ }
522
+ $current_page = trim(strtolower(RGForms::get("page")));
523
+ $page_prefix = explode("_", $current_page);
524
+ if (is_rtl() && ($page_prefix[0]=="gf" || $_SERVER['REQUEST_URI'] == '/wp-admin/' || $_SERVER['REQUEST_URI'] == '/wp-admin' || $_SERVER['REQUEST_URI'] == '/wp-admin/index.php' || $_SERVER['REQUEST_URI'] == '/wp-admin/index.php/')) {
525
+ wp_enqueue_style('Persian_GravityForms', plugins_url ( '/assets/css/persiangravity.css', __FILE__, null, GFCommon::$version ) );
526
+ wp_print_styles('gform_tooltip','Persian_GravityForms' );
527
+ wp_deregister_script('gform_datepicker_init');
528
+ wp_dequeue_script('jquery-ui-datepicker');
529
+ wp_enqueue_script('gform_datepicker_init', plugins_url ( '/assets/js/Datepicker_J_G.js', __FILE__), array( 'jquery', 'jquery-ui-core' ), GFCommon::$version, true );
530
+ }
531
  }
532
+
533
  public function Persian_GravityForms_Dashboard_By_HANNANStd() {
534
  if ( !current_user_can('manage_options') )
535
+ return;
536
  global $wp_meta_boxes;
537
  wp_add_dashboard_widget('persiangf_wd_hannanstd', __( 'Persian Gravity Forms Dashboard', 'Persian_Gravityforms_By_HANNANStd' ) , array( $this, 'Persian_GravityForms_Widget_By_HANNANStd'));
538
  }
539
+
540
  public static function Persian_GravityForms_Widget_By_HANNANStd() {
541
+ global $_wp_admin_css_colors;
542
+ $current_color = get_user_option( 'admin_color' );
543
+ $colors = array();
544
+ foreach ( $_wp_admin_css_colors as $color => $color_info ) {
545
+ if ($color == $current_color){
546
+ foreach ( $color_info->colors as $html_color ) {
547
+ $colors[] = esc_attr( $html_color );
548
+ }
549
+ }
550
+ }
551
+ if (get_bloginfo('version')>=3.8) {
552
+ ?>
553
+ <style>
554
+ #persiangf_wd_hannanstd h3{font-family:byekan !important;background:<?php echo $colors[1] ?> !important;color:#fff !important;}
555
+ #persiangf_wd_hannanstd .handlediv{color:#fff !important;}
556
+ #persiangf_wd_hannanstd .a1{font-family:byekan !important;}
557
+ #persiangf_wd_hannanstd .a2{font-family:byekan !important;font-size:12px !important;}
558
+ </style>
559
  <?php
560
  }
561
+ $rss = fetch_feed( "http://gravityforms.ir/feed/" );
562
+ if ( is_wp_error($rss) ) {
563
+ if ( is_admin() || current_user_can('manage_options') ) {
564
+ printf(__('<strong>RSS Error</strong>', 'Persian_Gravityforms_By_HANNANStd'));
565
+ }
566
+ return;
567
+ }
568
+ if ( !$rss->get_item_quantity() ) {
569
+ printf(__( 'Apparently, There are no updates to show!', 'Persian_Gravityforms_By_HANNANStd' ));
570
+ $rss->__destruct();
571
+ unset($rss);
572
+ return;
573
+ }
574
+ echo "<ul>";
575
+ if ( !isset($items) )
576
+ $items = 5;
577
+ $i=1;
578
+ foreach ( $rss->get_items(0, $items) as $item ) {
579
+ $publisher = '';
580
+ $site_link = '';
581
+ $link = '';
582
+ $content = '';
583
+ $date = '';
584
+ $link = esc_url( strip_tags( $item->get_link() ) );
585
+ $title = esc_html( $item->get_title() );
586
+ $content = $item->get_content();
587
+ $content = wp_html_excerpt($content, 250) . ' ...';
588
+ echo "<li>";
589
+ if ($i==1)
590
+ echo "<a class='rsswidget a1' href='$link'>$title</a><div class='rssSummary'>$content</div><hr/>";
591
+ else
592
+ echo "<a class='rsswidget a2' href='$link'>$title</a>";
593
+ echo "<li>";
594
+ $i++;
595
+ }
596
+ echo "</ul>";
597
+ $rss->__destruct();
598
+ unset($rss);
599
+ }
600
+
601
+ public static function get_product_price($form, $entry){
602
+ $currency = GFCommon::get_currency();
603
  $products = GFCommon::get_product_fields($form, $entry, true);
604
  $product_index = 1;
605
  $total = 0;
643
  else {
644
  $total = $total;
645
  }
646
+ return array("total" => $total, "yes" => $yes);
647
+ }
648
+ public static function get_mysql_tz_offset(){
649
+ $tz = get_option('gmt_offset');
650
+ if ( intval($tz) < 0)
651
+ $pf = "-";
652
+ else
653
+ $pf = "+";
654
+ $tz = abs($tz) * 3600;
655
+ $tz = gmdate("H:i", $tz);
656
+ $tz = $pf.$tz;
657
  $today = date('Y-m-d H:i:s');
658
+ $date = new DateTime($today);
659
+ $tzb = get_option('gmt_offset');
660
+ $tzn = abs($tzb) * 3600;
661
+ $tzh = intval(gmdate("H", $tzn));
662
+ $tzm = intval(gmdate("i", $tzn));
663
+ if ( intval($tzb) < 0) {
664
+ $date->sub(new DateInterval('P0DT'.$tzh.'H'.$tzm.'M'));
665
+ }
666
+ else
667
+ {
668
+ $date->add(new DateInterval('P0DT'.$tzh.'H'.$tzm.'M'));}
669
+ $today = $date->format('Y-m-d H:i:s');
670
+ $today = strtotime ($today);
671
+ return array("tz" => $tz, "today" => $today);
672
+ }
673
+
674
+ public static function get_base_url(){
675
+ return plugins_url( '', __FILE__ );
676
+ }
677
+
678
+ public function version(){
679
+ return '1.2.0';
680
+ }
681
+
682
+ public function Add_Melli_Cart_Field_By_HANNANStd( $field_groups ) {
683
+ foreach( $field_groups as &$group ){
684
+ if( $group["name"] == "advanced_fields" ){
685
+ $group["fields"][] = array(
686
+ "class"=>"button",
687
+ "value" => "کد ملی",
688
+ "onclick" => "StartAddField('mellicart');"
689
+ );
690
+ break;
691
+ }
692
+ }
693
+ return $field_groups;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
694
  }
695
+
696
+ public function Add_Melli_Cart_Field_Title_By_HANNANStd($type) {
697
+ if ($type == 'mellicart') {
698
+ return 'کد ملی';
699
+ }
700
+ }
701
+
702
+ public function Add_Melli_Cart_Field_Label_By_HANNANStd(){
703
+ ?>
704
+ case "mellicart" :
705
+ field.label = 'کد ملی';
706
+ break;
707
+ <?php
708
+ }
709
+
710
+ public function Add_Melli_Cart_Field_Input_By_HANNANStd($input, $field, $value, $lead_id, $form_id ){
711
+ if ( $field["type"] == "mellicart" ) {
712
+ $id = $field["id"];
713
+ $field_id = IS_ADMIN || $form_id == 0 ? "input_$id" : "input_" . $form_id . "_$id";
714
+ $form_id = IS_ADMIN && empty($form_id) ? rgget("id") : $form_id;
715
+ $size = rgar($field, "size");
716
+ $disabled_text = (IS_ADMIN && RG_CURRENT_VIEW != "entry") ? "disabled='disabled'" : "";
717
+ $class_suffix = RG_CURRENT_VIEW == "entry" ? "_admin" : "";
718
+ $class = $size . $class_suffix;
719
+ $currency = "";
720
+ if(RG_CURRENT_VIEW == "entry")
721
+ {
722
+ $lead = RGFormsModel::get_lead($lead_id);
723
+ $post_id = $lead["post_id"];
724
+ $post_link = "";
725
+ if(is_numeric($post_id) && GFCommon::is_post_field($field))
726
+ {
727
+ $post_link = "You can <a href='post.php?action=edit&post=$post_id'>edit this post</a> from the post page.";
728
+ }
729
+ $currency = $lead["currency"];
730
+ }
731
+ $max_length = "";
732
+ $html5_attributes = "";
733
+ if(empty($html_input_type))
734
+ $html_input_type = "text";
735
+ $max_length = "maxlength=10";
736
+ $tabindex = GFCommon::get_tabindex();
737
+ return sprintf("<div class='ginput_container'><input onblur='MelliCard_Checker_Javascript_By_HANNANStd_%d(this);' name='input_%d' id='%s' type='%s' value='%s' class='melli_cart %s' $max_length $tabindex $html5_attributes %s/></div><p class='city mellicart' id='city_%d'></p>", $id, $id, $field_id, $html_input_type, esc_attr($value), esc_attr($class), $disabled_text, $id);
738
+ }
739
+ return $input;
740
+ }
741
+
742
+ public function Add_Melli_Cart_Field_Setting_By_HANNANStd( $position, $form_id ){
743
+ if( $position == 50 ){
744
+ ?>
745
+ <li class="mellicart_setting field_setting">
746
+ <hr/>
747
+ <input type="checkbox" id="field_mellicart" onclick="SetFieldProperty('field_mellicart', this.checked);" />
748
+ <label for="field_mellicart" class="inline">
749
+ <?php _e("نمایش زیر نویس فیلد", "Persian_Gravityforms_By_HANNANStd"); ?>
750
+ <?php gform_tooltip("form_field_mellicart"); ?>
751
+ </label>
752
+ <br/>
753
+ <input type="checkbox" id="field_mellicart_sp" onclick="SetFieldProperty('field_mellicart_sp', this.checked);" />
754
+ <label for="field_mellicart_sp" class="inline">
755
+ <?php _e("جدا سازی خودکار ارقام توسط خط فاصله", "Persian_Gravityforms_By_HANNANStd"); ?>
756
+ <?php gform_tooltip("form_field_mellicart_sp"); ?>
757
+ </label>
758
+ <br/>
759
+ <hr/>
760
+ <label class="inline">
761
+ متن پیغام خطا هنگامی که موارد زیر رخ دهد
762
+ <?php gform_tooltip("form_field_mellicart_header"); ?>
763
+ </label>
764
+ <br/>
765
+ <br/>
766
+ <label for="field_mellicart_sp1" class="inline">
767
+ <?php _e("مقدار وارد شده شامل کاراکتر غیر عددی باشد", "Persian_Gravityforms_By_HANNANStd"); ?>
768
+ <?php gform_tooltip("form_field_mellicart_sp1"); ?>
769
+ </label>
770
+ <br/>
771
+ <input type="text" id="field_mellicart_sp1" size="35" onkeyup="SetFieldProperty('field_mellicart_sp1', this.value);" />
772
+ <br/>
773
+ <label for="field_mellicart_sp2" class="inline">
774
+ <?php _e("تعداد ارقام وارد شده استاندارد نباشد", "Persian_Gravityforms_By_HANNANStd"); ?>
775
+ <?php gform_tooltip("form_field_mellicart_sp2"); ?>
776
+ </label>
777
+ <br/>
778
+ <input type="text" id="field_mellicart_sp2" size="35" onkeyup="SetFieldProperty('field_mellicart_sp2', this.value);" />
779
+ <br/>
780
+ <label for="field_mellicart_sp3" class="inline">
781
+ <?php _e("کد ملی وارد شده قبلا ثبت شده باشد", "Persian_Gravityforms_By_HANNANStd"); ?>
782
+ <?php gform_tooltip("form_field_mellicart_sp3"); ?>
783
+ </label>
784
+ <br/>
785
+ <input type="text" id="field_mellicart_sp3" size="35" onkeyup="SetFieldProperty('field_mellicart_sp3', this.value);" />
786
+ <br/>
787
+ <label for="field_mellicart_sp4" class="inline">
788
+ <?php _e("کد ملی وارد شده مطابق با الگوی ملی نباشد", "Persian_Gravityforms_By_HANNANStd"); ?>
789
+ <?php gform_tooltip("form_field_mellicart_sp4"); ?>
790
+ </label>
791
+ <br/>
792
+ <input type="text" id="field_mellicart_sp4" size="35" onkeyup="SetFieldProperty('field_mellicart_sp4', this.value);" />
793
+ <hr/>
794
+ </li>
795
+ <?php
796
+ }
797
+ }
798
+
799
+ public function Add_Melli_Cart_Field_Class_By_HANNANStd($classes, $field, $form){
800
+ if( $field["type"] == "mellicart" ){
801
+ $classes .= " gform_mellicart";
802
+ }
803
+ return $classes;
804
+ }
805
+
806
+ public function Add_Melli_Cart_PHP_Checker_By_HANNANStd($meli_code='',$setting){
807
+ if (!empty($meli_code)) {
808
+ if ($setting == 1) {
809
+ $meli_code = str_replace('-','',$meli_code);
810
+ }
811
+ if($meli_code == '1111111111' ||
812
  $meli_code == '0000000000' ||
813
  $meli_code == '2222222222' ||
814
  $meli_code == '3333333333' ||
817
  $meli_code == '6666666666' ||
818
  $meli_code == '7777777777' ||
819
  $meli_code == '8888888888' ||
820
+ $meli_code == '9999999999')
821
+ {
822
+ return 2;
823
+ }
824
+
825
+ if(!is_numeric($meli_code))
826
+ return 4;
827
+ $meli_code = (string) preg_replace('/[^0-9]/','',$meli_code);
828
+
829
+ if(strlen($meli_code)>10 or strlen($meli_code)<8)
830
+ return 3;
831
+
832
+ if(strlen($meli_code)==8)
833
+ $meli_code = "00".$meli_code;
834
+
835
+ if(strlen($meli_code)==9)
836
+ $meli_code = "0".$meli_code;
837
+
838
+ $list_code = str_split($meli_code);
839
+ $last = (int) $list_code[9];
840
+ unset($list_code[9]);
841
+ $i = 10;
842
+ $sum = 0;
843
+ foreach($list_code as $key=>$_)
844
+ {
845
+ $sum += intval($_) * $i;$i--;
846
+ }
847
+ $mod =(int) $sum % 11;
848
+ if($mod >= 2)
849
+ $mod = 11 - $mod;
850
+ if ($mod != $last)
851
+ return 2;
852
+ else
853
+ return 1;
854
+ }
855
+ return;
856
+ }
857
+
858
+ public function Add_Melli_Cart_Field_JavaScript_Checker_By_HANNANStd($content, $field, $value, $lead_id, $form_id){
859
+ if ( $field["type"] == "mellicart" && (rgget("field_mellicart", $field) || rgget("field_mellicart_sp", $field) ) && !IS_ADMIN )
860
+ {
861
+ $pm1= rgget("field_mellicart_sp1", $field);
862
+ $pm2= rgget("field_mellicart_sp2", $field);
863
+ $pm3= rgget("field_mellicart_sp4", $field);
864
+ ?>
865
+ <script>
866
+ function MelliCard_Checker_Javascript_By_HANNANStd_<?php echo $field["id"]; ?>(meli_code) {
867
+ if (meli_code.value == '')
868
+ {
869
+ return false;
870
+ }
871
+ <?php
872
+ if(rgget("field_mellicart_sp", $field)) { ?>
873
+ meli_code.value = meli_code.value.replace("-", "").replace("-", "");
874
+ <?php
875
+ }
876
+ if(rgget("field_mellicart", $field)) {?>
877
+ if (isNaN(meli_code.value)) {
878
+ <?php
879
+ if ($pm1)
880
+ {
881
+ ?>
882
+ var pm1 = "<?php echo $pm1 ?>";
883
+ <?php
884
+ }
885
+ else
886
+ { ?>
887
+ var pm1 = "کد ملی فقط باید به صورت عدد وارد شود . ";
888
+ <?php
889
+ } ?>
890
+ document.getElementById("city_<?php echo $field["id"]; ?>").innerHTML = pm1;
891
+ return false;
892
+ }
893
+ if (meli_code.value == '0000000000' ||
894
+ meli_code.value == '1111111111' ||
895
+ meli_code.value == '2222222222' ||
896
+ meli_code.value == '3333333333' ||
897
+ meli_code.value == '4444444444' ||
898
+ meli_code.value == '5555555555' ||
899
+ meli_code.value == '6666666666' ||
900
+ meli_code.value == '7777777777' ||
901
+ meli_code.value == '8888888888' ||
902
+ meli_code.value == '9999999999') {
903
+ <?php
904
+ if ($pm3)
905
+ {
906
+ ?>
907
+ var pm3 = "<?php echo $pm3 ?>";
908
+ <?php
909
+ }
910
+ else
911
+ {
912
+ ?>
913
+ var pm3 = 'کد ملی وارد شده مطابق با استانداردهای کشور نمی باشد .';
914
+ <?php
915
+ }
916
+ ?>
917
+ document.getElementById("city_<?php echo $field["id"]; ?>").innerHTML = pm3;
918
+ return false;
919
+ }
920
+ if (meli_code.value.length > 10 || meli_code.value.length < 8)
921
+ {
922
+ <?php
923
+ if ($pm2)
924
+ {
925
+ ?>
926
+ var pm2 = "<?php echo $pm2 ?>";
927
+ <?php
928
+ }
929
+ else
930
+ {
931
+ ?>
932
+ var pm2 = 'کد ملی می بایست 10 رقمی باشد . تنها در صورتی مجاز به استفاده از کد های 8 یا 9 رقمی هستید که ارقام سمت چپ 0 باشند . ';
933
+ <?php
934
+ }
935
+ ?>
936
+ document.getElementById("city_<?php echo $field["id"]; ?>").innerHTML = pm2;
937
+ return false;
938
+ }
939
+ <?php
940
+ }
941
+ ?>
942
+ if (meli_code.value.length == 8) {
943
+ meli_code.value = "00"+meli_code.value;
944
+ }
945
+ if (meli_code.value.length == 9) {
946
+ meli_code.value = "0"+meli_code.value;
947
+ }
948
+ city = meli_code.value.substring(0,3);
949
+ c = parseInt(meli_code.value.charAt(9));
950
+ n = parseInt(meli_code.value.charAt(0)) * 10 +
951
+ parseInt(meli_code.value.charAt(1)) * 9 +
952
+ parseInt(meli_code.value.charAt(2)) * 8 +
953
+ parseInt(meli_code.value.charAt(3)) * 7 +
954
+ parseInt(meli_code.value.charAt(4)) * 6 +
955
+ parseInt(meli_code.value.charAt(5)) * 5 +
956
+ parseInt(meli_code.value.charAt(6)) * 4 +
957
+ parseInt(meli_code.value.charAt(7)) * 3 +
958
+ parseInt(meli_code.value.charAt(8)) * 2;
959
+ r = n - parseInt(n / 11) * 11;
960
+ if ((r == 0 && r == c) || (r == 1 && c == 1) || (r > 1 && c == 11 - r)) {
961
+ <?php
962
+ if(rgget("field_mellicart", $field))
963
+ {
964
+ ?>
965
+ if(city=="169")cityN="استان آذربايجان شرقي - شهر آذر شهر";if(city=="170")cityN="استان آذربايجان شرقي - شهر اسکو";if(city=="149"||city=="150")cityN="استان آذربايجان شرقي - شهر اهر";if(city=="171")cityN="استان آذربايجان شرقي - شهر بستان آباد";if(city=="168")cityN="استان آذربايجان شرقي - شهر بناب";if(city=="136"||city=="137"||city=="138")cityN="استان آذربايجان شرقي - شهر تبريز";if(city=="545")cityN="استان آذربايجان شرقي - شهر ترکمانچاي";if(city=="505")cityN="استان آذربايجان شرقي - شهر جلفا";if(city=="636")cityN="استان آذربايجان شرقي - شهر چاروايماق";if(city=="164"||city=="165")cityN="استان آذربايجان شرقي - شهر سراب";if(city=="172")cityN="استان آذربايجان شرقي - شهر شبستر";if(city=="623")cityN="استان آذربايجان شرقي - شهر صوفيان";if(city=="506")cityN="استان آذربايجان شرقي - شهر عجب شير";if(city=="519")cityN="استان آذربايجان شرقي - شهر کليبر";if(city=="154"||city=="155")cityN="استان آذربايجان شرقي - شهر مراغه";if(city=="567")cityN="استان آذربايجان شرقي - شهر ورزقان";if(city=="173")cityN="استان آذربايجان شرقي - شهر هريس";if(city=="159"||city=="160")cityN="استان آذربايجان شرقي - شهر هشترود";if(city=="604")cityN="استان آذربايجان شرقي - شهر هوراند";if(city=="274"||city=="275")cityN="استان آذربايجان غربي - شهر اروميه";if(city=="295")cityN="استان آذربايجان غربي - شهر اشنويه";if(city=="637")cityN="استان آذربايجان غربي - شهر انزل";if(city=="292")cityN="استان آذربايجان غربي - شهر بوکان";if(city=="492")cityN="استان آذربايجان غربي - شهر پلدشت";if(city=="289")cityN="استان آذربايجان غربي - شهر پيرانشهر";if(city=="677")cityN="استان آذربايجان غربي - شهر تخت سليمان";if(city=="294")cityN="استان آذربايجان غربي - شهر تکاب";if(city=="493")cityN="استان آذربايجان غربي - شهر چايپاره";if(city=="279"||city=="280")cityN="استان آذربايجان غربي - شهر خوي";if(city=="288")cityN="استان آذربايجان غربي - شهر سردشت";if(city=="284"||city=="285")cityN="استان آذربايجان غربي - شهر سلماس";if(city=="638")cityN="استان آذربايجان غربي - شهر سيلوانه";if(city=="291")cityN="استان آذربايجان غربي - شهر سيه چشمه(چالدران)";if(city=="640")cityN="استان آذربايجان غربي - شهر شوط";if(city=="293")cityN="استان آذربايجان غربي - شهر شاهين دژ";if(city=="675")cityN="استان آذربايجان غربي - شهر کشاورز";if(city=="282"||city=="283")cityN="استان آذربايجان غربي - شهر ماکو";if(city=="286"||city=="287")cityN="استان آذربايجان غربي - شهر مهاباد";if(city=="296"||city=="297")cityN="استان آذربايجان غربي - شهر مياندوآب";if(city=="290")cityN="استان آذربايجان غربي - شهر نقده";if(city=="400"||city=="401")cityN="استان همدان - شهر اسدآباد";if(city=="404"||city=="405")cityN="استان همدان - شهر بهار";if(city=="397")cityN="استان همدان - شهر تويسرکان";if(city=="398"||city=="399")cityN="استان همدان - شهر رزن";if(city=="647")cityN="استان همدان - شهر شراء و پيشخوار";if(city=="502")cityN="استان همدان - شهر فامنين";if(city=="584")cityN="استان همدان - شهر قلقل رود";if(city=="402"||city=="403")cityN="استان همدان - شهر کبودرآهنگ";if(city=="392"||city=="393")cityN="استان همدان - شهر ملاير";if(city=="395"||city=="396")cityN="استان همدان - شهر نهاوند";if(city=="386"||city=="387")cityN="استان همدان - شهر همدان";if(city=="503")cityN="استان يزد - شهر ابرکوه";if(city=="444")cityN="استان يزد - شهر اردکان";if(city=="551")cityN="استان يزد - شهر اشکذر";if(city=="447")cityN="استان يزد - شهر بافق";if(city=="561")cityN="استان يزد - شهر بهاباد";if(city=="445")cityN="استان يزد - شهر تفت";if(city=="718")cityN="استان يزد - شهر دستگردان";if(city=="083")cityN="استان يزد - شهر طبس";if(city=="446")cityN="استان يزد - شهر مهريز";if(city=="448")cityN="استان يزد - شهر ميبد";if(city=="552")cityN="استان يزد - شهر نير";if(city=="543")cityN="استان يزد - شهر هرات و مروست";if(city=="442"||city=="443")cityN="استان يزد - شهر يزد";if(city=="051")cityN="استان مرکزي - شهر آشتيان";if(city=="052"||city=="053")cityN="استان مرکزي - شهر اراک";if(city=="058")cityN="استان مرکزي - شهر تفرش";if(city=="055")cityN="استان مرکزي - شهر خمين";if(city=="617")cityN="استان مرکزي - شهر خنداب";if(city=="057")cityN="استان مرکزي - شهر دليجان";if(city=="618")cityN="استان مرکزي - شهر زرند مرکزي";if(city=="059"||city=="060")cityN="استان مرکزي - شهر ساوه";if(city=="061"||city=="062")cityN="استان مرکزي - شهر سربند";if(city=="544")cityN="استان مرکزي - شهر فراهان";if(city=="056")cityN="استان مرکزي - شهر محلات";if(city=="571")cityN="استان مرکزي - شهر وفس";if(city=="593")cityN="استان مرکزي - شهر هندودر";if(city=="667")cityN="استان هرمزگان - شهر ابوموسي";if(city=="348")cityN="استان هرمزگان - شهر بستک";if(city=="586")cityN="استان هرمزگان - شهر بشاگرد";if(city=="338"||city=="339")cityN="استان هرمزگان - شهر بندرعباس";if(city=="343"||city=="344")cityN="استان هرمزگان - شهر بندرلنگه";if(city=="346")cityN="استان هرمزگان - شهر جاسک";if(city=="337")cityN="استان هرمزگان - شهر حاجي آباد";if(city=="554")cityN="استان هرمزگان - شهر خمير";if(city=="469")cityN="استان هرمزگان - شهر رودان";if(city=="537")cityN="استان هرمزگان - شهر فين";if(city=="345")cityN="استان هرمزگان - شهر قشم";if(city=="470")cityN="استان هرمزگان - شهر گاوبندي";if(city=="341"||city=="342")cityN="استان هرمزگان - شهر ميناب";if(city=="483"||city=="484")cityN="استان لرستان - شهر ازنا";if(city=="557")cityN="استان لرستان - شهر اشترينان";if(city=="418")cityN="استان لرستان - شهر الشتر";if(city=="416"||city=="417")cityN="استان لرستان - شهر اليگودرز";if(city=="412"||city=="413")cityN="استان لرستان - شهر بروجرد";if(city=="592")cityN="استان لرستان - شهر پاپي";if(city=="612")cityN="استان لرستان - شهر چغلوندي";if(city=="613")cityN="استان لرستان - شهر چگني";if(city=="406"||city=="407")cityN="استان لرستان - شهر خرم آباد";if(city=="421")cityN="استان لرستان - شهر دورود";if(city=="598")cityN="استان لرستان - شهر رومشکان";if(city=="419")cityN="استان لرستان - شهر کوهدشت";if(city=="385")cityN="استان لرستان - شهر ملاوي(پلدختر)";if(city=="420")cityN="استان لرستان - شهر نورآباد(دلفان)";if(city=="528")cityN="استان لرستان - شهر ويسيان";if(city=="213"||city=="214")cityN="استان مازندران - شهر آمل";if(city=="205"||city=="206")cityN="استان مازندران - شهر بابل";if(city=="498")cityN="استان مازندران - شهر بابل";if(city=="568")cityN="استان مازندران - شهر بندپي";if(city=="711")cityN="استان مازندران - شهر بندپي شرقي";if(city=="217"||city=="218")cityN="استان مازندران - شهر بهشهر";if(city=="221")cityN="استان مازندران - شهر تنکابن";if(city=="582")cityN="استان مازندران - شهر جويبار";if(city=="483")cityN="استان مازندران - شهر چالوس";if(city=="625")cityN="استان مازندران - شهر چمستان";if(city=="576")cityN="استان مازندران - شهر چهاردانگه";if(city=="578")cityN="استان مازندران - شهر دودانگه";if(city=="227")cityN="استان مازندران - شهر رامسر";if(city=="208"||city=="209")cityN="استان مازندران - شهر ساري";if(city=="225")cityN="استان مازندران - شهر سوادکوه";if(city=="577")cityN="استان مازندران - شهر شيرگاه";if(city=="712")cityN="استان مازندران - شهر عباس آباد";if(city=="215"||city=="216")cityN="استان مازندران - شهر قائمشهر";if(city=="626")cityN="استان مازندران - شهر کجور";if(city=="627")cityN="استان مازندران - شهر کلاردشت";if(city=="579")cityN="استان مازندران - شهر گلوگاه";if(city=="713")cityN="استان مازندران - شهر مياندورود";if(city=="499")cityN="استان مازندران - شهر نکاء";if(city=="222")cityN="استان مازندران - شهر نور";if(city=="219"||city=="220")cityN="استان مازندران - شهر نوشهر";if(city=="500"||city=="501")cityN="استان مازندران - شهر هراز و محمودآباد";if(city=="623")cityN="استان گلستان - شهر آزادشهر";if(city=="497")cityN="استان گلستان - شهر آق قلا";if(city=="223")cityN="استان گلستان - شهر بندرترکمن";if(city=="689")cityN="استان گلستان - شهر بندرگز";if(city=="487")cityN="استان گلستان - شهر راميان";if(city=="226")cityN="استان گلستان - شهر علي آباد";if(city=="224")cityN="استان گلستان - شهر کردکوي";if(city=="386")cityN="استان گلستان - شهر کلاله";if(city=="211"||city=="212")cityN="استان گلستان - شهر گرگان";if(city=="628")cityN="استان گلستان - شهر گميشان";if(city=="202"||city=="203")cityN="استان گلستان - شهر گنبد کاووس";if(city=="531")cityN="استان گلستان - شهر مراوه تپه";if(city=="288")cityN="استان گلستان - شهر مينودشت";if(city=="261")cityN="استان گيلان - شهر آستارا";if(city=="273")cityN="استان گيلان - شهر آستانه";if(city=="630")cityN="استان گيلان - شهر املش";if(city=="264")cityN="استان گيلان - شهر بندرانزلي";if(city=="518")cityN="استان گيلان - شهر خمام";if(city=="631")cityN="استان گيلان - شهر رحيم آباد";if(city=="258"||city=="259")cityN="استان گيلان - شهر رشت";if(city=="570")cityN="استان گيلان - شهر رضوانشهر";if(city=="265")cityN="استان گيلان - شهر رودبار";if(city=="268"||city=="269")cityN="استان گيلان - شهر رودسر";if(city=="653")cityN="استان گيلان - شهر سنگر";if(city=="517")cityN="استان گيلان - شهر سياهکل";if(city=="569")cityN="استان گيلان - شهر شفت";if(city=="267")cityN="استان گيلان - شهر صومعه سرا";if(city=="262"||city=="263")cityN="استان گيلان - شهر طالش";if(city=="593")cityN="استان گيلان - شهر عمارلو";if(city=="266")cityN="استان گيلان - شهر فومن";if(city=="693")cityN="استان گيلان - شهر کوچصفهان";if(city=="271"||city=="272")cityN="استان گيلان - شهر لاهيجان";if(city=="694")cityN="استان گيلان - شهر لشت نشاء";if(city=="270")cityN="استان گيلان - شهر لنگرود";if(city=="516")cityN="استان گيلان - شهر ماسال و شاندرمن";if(city=="333"||city=="334")cityN="استان کرمانشاه - شهر اسلام آباد";if(city=="691")cityN="استان کرمانشاه - شهر باينگان";if(city=="322"||city=="323")cityN="استان کرمانشاه - شهر پاوه";if(city=="595")cityN="استان کرمانشاه - شهر ثلاث باباجاني";if(city=="395")cityN="استان کرمانشاه - شهر جوانرود";if(city=="641")cityN="استان کرمانشاه - شهر حميل";if(city=="596")cityN="استان کرمانشاه - شهر روانسر";if(city=="336")cityN="استان کرمانشاه - شهر سرپل ذهاب";if(city=="335")cityN="استان کرمانشاه - شهر سنقر";if(city=="496")cityN="استان کرمانشاه - شهر صحنه";if(city=="337")cityN="استان کرمانشاه - شهر قصرشيرين";if(city=="324"||city=="325")cityN="استان کرمانشاه - شهر کرمانشاه";if(city=="394")cityN="استان کرمانشاه - شهر کرند";if(city=="330")cityN="استان کرمانشاه - شهر کنگاور";if(city=="332")cityN="استان کرمانشاه - شهر گيلانغرب";if(city=="331")cityN="استان کرمانشاه - شهر هرسين";if(city=="687")cityN="استان کهکيلويه و بويراحمد - شهر باشت";if(city=="422"||city=="423")cityN="استان کهکيلويه و بويراحمد - شهر بويراحمد(ياسوج)";if(city=="599")cityN="استان کهکيلويه و بويراحمد - شهر بهمني";if(city=="600")cityN="استان کهکيلويه و بويراحمد - شهر چاروسا";if(city=="688")cityN="استان کهکيلويه و بويراحمد - شهر دروهان";if(city=="424"||city=="425")cityN="استان کهکيلويه و بويراحمد - شهر کهکيلويه(دهدشت)";if(city=="426")cityN="استان کهکيلويه و بويراحمد - شهر گچساران(دوگنبدان)";if(city=="550")cityN="استان کهکيلويه و بويراحمد - شهر لنده";if(city=="697")cityN="استان کهکيلويه و بويراحمد - شهر مارگون";if(city=="384")cityN="استان کردستان - شهر بانه";if(city=="377"||city=="378")cityN="استان کردستان - شهر بيجار";if(city=="558")cityN="استان کردستان - شهر دهگلان";if(city=="385")cityN="استان کردستان - شهر ديواندره";if(city=="646")cityN="استان کردستان - شهر سروآباد";if(city=="375"||city=="376")cityN="استان کردستان - شهر سقز";if(city=="372"||city=="373")cityN="استان کردستان - شهر سنندج";if(city=="379"||city=="380")cityN="استان کردستان - شهر قروه";if(city=="383")cityN="استان کردستان - شهر کامياران";if(city=="674")cityN="استان کردستان - شهر کراني";if(city=="381"||city=="382")cityN="استان کردستان - شهر مريوان";if(city=="676")cityN="استان کردستان - شهر نمشير";if(city=="722")cityN="استان کرمان - شهر ارزونيه";if(city=="542")cityN="استان کرمان - شهر انار";if(city=="312"||city=="313")cityN="استان کرمان - شهر بافت";if(city=="317")cityN="استان کرمان - شهر بردسير";if(city=="310"||city=="311")cityN="استان کرمان - شهر بم";if(city=="302"||city=="303")cityN="استان کرمان - شهر جيرفت";if(city=="583")cityN="استان کرمان - شهر رابر";if(city=="321")cityN="استان کرمان - شهر راور";if(city=="382")cityN="استان کرمان - شهر راين";if(city=="304"||city=="305")cityN="استان کرمان - شهر رفسنجان";if(city=="536")cityN="استان کرمان - شهر رودبار کهنوج";if(city=="605")cityN="استان کرمان - شهر ريگان";if(city=="308"||city=="309")cityN="استان کرمان - شهر زرند";if(city=="306"||city=="307")cityN="استان کرمان - شهر سيرجان";if(city=="319")cityN="استان کرمان - شهر شهداد";if(city=="313"||city=="314")cityN="استان کرمان - شهر شهربابک";if(city=="606")cityN="استان کرمان - شهر عنبرآباد";if(city=="320")cityN="استان کرمان - شهر فهرج";if(city=="698")cityN="استان کرمان - شهر قلعه گنج";if(city=="298"||city=="299")cityN="استان کرمان - شهر کرمان";if(city=="535")cityN="استان کرمان - شهر کوهبنان";if(city=="315"||city=="316")cityN="استان کرمان - شهر کهنوج";if(city=="318")cityN="استان کرمان - شهر گلباف";if(city=="607")cityN="استان کرمان - شهر ماهان";if(city=="608")cityN="استان کرمان - شهر منوجان";if(city=="508")cityN="استان قزوين - شهر آبيک";if(city=="538")cityN="استان قزوين - شهر آوج";if(city=="728")cityN="استان قزوين - شهر البرز";if(city=="509")cityN="استان قزوين - شهر بوئين زهرا";if(city=="438"||city=="439")cityN="استان قزوين - شهر تاکستان";if(city=="580")cityN="استان قزوين - شهر رودبار الموت";if(city=="590")cityN="استان قزوين - شهر رودبار شهرستان";if(city=="559")cityN="استان قزوين - شهر ضياءآباد";if(city=="588")cityN="استان قزوين - شهر طارم سفلي";if(city=="431"||city=="432")cityN="استان قزوين - شهر قزوين";if(city=="037"||city=="038")cityN="استان قم - شهر قم";if(city=="702")cityN="استان قم - شهر کهک";if(city=="240"||city=="241")cityN="استان فارس - شهر آباده";if(city=="670")cityN="استان فارس - شهر آباده طشک";if(city=="648")cityN="استان فارس - شهر ارسنجان";if(city=="252")cityN="استان فارس - شهر استهبان";if(city=="678")cityN="استان فارس - شهر اشکنان";if(city=="253")cityN="استان فارس - شهر اقليد";if(city=="649")cityN="استان فارس - شهر اوز";if(city=="513")cityN="استان فارس - شهر بوانات";if(city=="546")cityN="استان فارس - شهر بيضا";if(city=="671")cityN="استان فارس - شهر جويم";if(city=="246"||city=="247")cityN="استان فارس - شهر جهرم";if(city=="654")cityN="استان فارس - شهر حاجي آباد(زرين دشت)";if(city=="548")cityN="استان فارس - شهر خرامه";if(city=="547")cityN="استان فارس - شهر خشت و کمارج";if(city=="655")cityN="استان فارس - شهر خفر";if(city=="248"||city=="249")cityN="استان فارس - شهر داراب";if(city=="253")cityN="استان فارس - شهر سپيدان";if(city=="514")cityN="استان فارس - شهر سروستان";if(city=="665")cityN="استان فارس - شهر سعادت آباد";if(city=="673")cityN="استان فارس - شهر شيبکوه";if(city=="228"||city=="229"||city=="230")cityN="استان فارس - شهر شيراز";if(city=="679")cityN="استان فارس - شهر فراشبند";if(city=="256"||city=="257")cityN="استان فارس - شهر فسا";if(city=="244"||city=="245")cityN="استان فارس - شهر فيروزآباد";if(city=="681")cityN="استان فارس - شهر قنقري(خرم بيد)";if(city=="723")cityN="استان فارس - شهر قيروکارزين";if(city=="236"||city=="237")cityN="استان فارس - شهر کازرون";if(city=="683")cityN="استان فارس - شهر کوار";if(city=="656")cityN="استان فارس - شهر کراش";if(city=="250"||city=="251")cityN="استان فارس - شهر لارستان";if(city=="515")cityN="استان فارس - شهر لامرد";if(city=="242"||city=="243")cityN="استان فارس - شهر مرودشت";if(city=="238"||city=="239")cityN="استان فارس - شهر ممسني";if(city=="657")cityN="استان فارس - شهر مهر";if(city=="255")cityN="استان فارس - شهر ني ريز";if(city=="684")cityN="استان سمنان - شهر ايوانکي";if(city=="700")cityN="استان سمنان - شهر بسطام";if(city=="642")cityN="استان سمنان - شهر بيارجمند";if(city=="457")cityN="استان سمنان - شهر دامغان";if(city=="456")cityN="استان سمنان - شهر سمنان";if(city=="458"||city=="459")cityN="استان سمنان - شهر شاهرود";if(city=="460")cityN="استان سمنان - شهر گرمسار";if(city=="530")cityN="استان سمنان - شهر مهديشهر";if(city=="520")cityN="استان سمنان - شهر ميامي";if(city=="358"||city=="359")cityN="استان سيستان و بلوچستان - شهر ايرانشهر";if(city=="682")cityN="استان سيستان و بلوچستان - شهر بزمان";if(city=="703")cityN="استان سيستان و بلوچستان - شهر بمپور";if(city=="364"||city=="365")cityN="استان سيستان و بلوچستان - شهر چابهار";if(city=="371")cityN="استان سيستان و بلوچستان - شهر خاش";if(city=="701")cityN="استان سيستان و بلوچستان - شهر دشتياري";if(city=="720")cityN="استان سيستان و بلوچستان - شهر راسک";if(city=="366"||city=="367")cityN="استان سيستان و بلوچستان - شهر زابل";if(city=="704")cityN="استان سيستان و بلوچستان - شهر زابلي";if(city=="361"||city=="362")cityN="استان سيستان و بلوچستان - شهر زاهدان";if(city=="369"||city=="370")cityN="استان سيستان و بلوچستان - شهر سراوان";if(city=="635")cityN="استان سيستان و بلوچستان - شهر سرباز";if(city=="668")cityN="استان سيستان و بلوچستان - شهر سيب و سوران";if(city=="533")cityN="استان سيستان و بلوچستان - شهر شهرکي و ناروئي(زهک)";if(city=="705")cityN="استان سيستان و بلوچستان - شهر شيب آب";if(city=="699")cityN="استان سيستان و بلوچستان - شهر فنوج";if(city=="669")cityN="استان سيستان و بلوچستان - شهر قصرقند";if(city=="725")cityN="استان سيستان و بلوچستان - شهر کنارک";if(city=="597")cityN="استان سيستان و بلوچستان - شهر لاشار(اسپکه)";if(city=="611")cityN="استان سيستان و بلوچستان - شهر ميرجاوه";if(city=="525")cityN="استان سيستان و بلوچستان - شهر نيک شهر";if(city=="181")cityN="استان خوزستان - شهر آبادان";if(city=="527")cityN="استان خوزستان - شهر آغاجاري";if(city=="585")cityN="استان خوزستان - شهر اروندکنار";if(city=="685")cityN="استان خوزستان - شهر اميديه";if(city=="663")cityN="استان خوزستان - شهر انديکا";if(city=="192"||city=="193")cityN="استان خوزستان - شهر انديمشک";if(city=="174"||city=="175")cityN="استان خوزستان - شهر اهواز";if(city=="183"||city=="184")cityN="استان خوزستان - شهر ايذه";if(city=="481")cityN="استان خوزستان - شهر باغ ملک";if(city=="706")cityN="استان خوزستان - شهر بندر امام خميني";if(city=="194"||city=="195")cityN="استان خوزستان - شهر بندرماهشهر";if(city=="185"||city=="186")cityN="استان خوزستان - شهر بهبهان";if(city=="182")cityN="استان خوزستان - شهر خرمشهر";if(city=="199"||city=="200")cityN="استان خوزستان - شهر دزفول";if(city=="198")cityN="استان خوزستان - شهر دشت آزادگان";if(city=="662")cityN="استان خوزستان - شهر رامشير";if(city=="190"||city=="191")cityN="استان خوزستان - شهر رامهرمز";if(city=="692")cityN="استان خوزستان - شهر سردشت";if(city=="189")cityN="استان خوزستان - شهر شادگان";if(city=="707")cityN="استان خوزستان - شهر شاوور";if(city=="526")cityN="استان خوزستان - شهر شوش";if(city=="187"||city=="188")cityN="استان خوزستان - شهر شوشتر";if(city=="729")cityN="استان خوزستان - شهر گتوند";if(city=="730")cityN="استان خوزستان - شهر لالي";if(city=="196"||city=="197")cityN="استان خوزستان - شهر مسجدسليمان";if(city=="661")cityN="استان خوزستان - شهر هنديجان";if(city=="680")cityN="استان خوزستان - شهر هويزه";if(city=="643")cityN="استان خراسان رضوي - شهر احمدآباد";if(city=="562")cityN="استان خراسان رضوي - شهر بجستان";if(city=="572")cityN="استان خراسان رضوي - شهر بردسکن";if(city=="074")cityN="استان خراسان رضوي - شهر تايباد";if(city=="644")cityN="استان خراسان رضوي - شهر تخت جلگه";if(city=="072"||city=="073")cityN="استان خراسان رضوي - شهر تربت جام";if(city=="069"||city=="070")cityN="استان خراسان رضوي - شهر تربت حيدريه";if(city=="521")cityN="استان خراسان رضوي - شهر جغتاي";if(city=="573")cityN="استان خراسان رضوي - شهر جوين";if(city=="522")cityN="استان خراسان رضوي - شهر چناران";if(city=="724")cityN="استان خراسان رضوي - شهر خليل آباد";if(city=="076")cityN="استان خراسان رضوي - شهر خواف";if(city=="077")cityN="استان خراسان رضوي - شهر درگز";if(city=="650")cityN="استان خراسان رضوي - شهر رشتخوار";if(city=="574")cityN="استان خراسان رضوي - شهر زبرخان";if(city=="078"||city=="079")cityN="استان خراسان رضوي - شهر سبزوار";if(city=="081")cityN="استان خراسان رضوي - شهر سرخس";if(city=="084")cityN="استان خراسان رضوي - شهر فريمان";if(city=="651")cityN="استان خراسان رضوي - شهر فيض آباد";if(city=="086"||city=="087")cityN="استان خراسان رضوي - شهر قوچان";if(city=="089"||city=="090")cityN="استان خراسان رضوي - شهر کاشمر";if(city=="553")cityN="استان خراسان رضوي - شهر کلات";if(city=="091")cityN="استان خراسان رضوي - شهر گناباد";if(city=="092"||city=="093"||city=="094")cityN="استان خراسان رضوي - شهر مشهد";if(city=="097")cityN="استان خراسان رضوي - شهر مشهد منطقه2";if(city=="098")cityN="استان خراسان رضوي - شهر مشهد منطقه3";if(city=="096")cityN="استان خراسان رضوي - شهر مشهد منطقه1";if(city=="105"||city=="106")cityN="استان خراسان رضوي - شهر نيشابور";if(city=="063")cityN="استان خراسان شمالي - شهر اسفراين";if(city=="067"||city=="068")cityN="استان خراسان شمالي - شهر بجنورد";if(city=="075")cityN="استان خراسان شمالي - شهر جاجرم";if(city=="591")cityN="استان خراسان شمالي - شهر رازوجرکلان";if(city=="082")cityN="استان خراسان شمالي - شهر شيروان";if(city=="635")cityN="استان خراسان شمالي - شهر فاروج";if(city=="524")cityN="استان خراسان شمالي - شهر مانه و سملقان";if(city=="468")cityN="استان چهارمحال و بختياري - شهر اردل";if(city=="465")cityN="استان چهارمحال و بختياري - شهر بروجن";if(city=="461"||city=="462")cityN="استان چهارمحال و بختياري - شهر شهرکرد";if(city=="467")cityN="استان چهارمحال و بختياري - شهر فارسان";if(city=="555")cityN="استان چهارمحال و بختياري - شهر کوهرنگ";if(city=="633")cityN="استان چهارمحال و بختياري - شهر کيار";if(city=="629")cityN="استان چهارمحال و بختياري - شهر گندمان";if(city=="466")cityN="استان چهارمحال و بختياري - شهر لردگان";if(city=="696")cityN="استان چهارمحال و بختياري - شهر ميانکوه";if(city=="721")cityN="استان خراسان جنوبي - شهر بشرويه";if(city=="064"||city=="065")cityN="استان خراسان جنوبي - شهر بيرجند";if(city=="523")cityN="استان خراسان جنوبي - شهر درميان";if(city=="652")cityN="استان خراسان جنوبي - شهر زيرکوه";if(city=="719")cityN="استان خراسان جنوبي - شهر سرايان";if(city=="716")cityN="استان خراسان جنوبي - شهر سربيشه";if(city=="085")cityN="استان خراسان جنوبي - شهر فردوس";if(city=="088")cityN="استان خراسان جنوبي - شهر قائنات";if(city=="563")cityN="استان خراسان جنوبي - شهر نهبندان";if(city=="529")cityN="استان بوشهر - شهر بندر ديلم";if(city=="353")cityN="استان بوشهر - شهر بندر گناوه";if(city=="349"||city=="350")cityN="استان بوشهر - شهر بوشهر";if(city=="355")cityN="استان بوشهر - شهر تنگستان";if(city=="609")cityN="استان بوشهر - شهر جم";if(city=="351"||city=="352")cityN="استان بوشهر - شهر دشتستان";if(city=="354")cityN="استان بوشهر - شهر دشتي";if(city=="732")cityN="استان بوشهر - شهر دلوار";if(city=="357")cityN="استان بوشهر - شهر دير";if(city=="532")cityN="استان بوشهر - شهر سعد آباد";if(city=="610")cityN="استان بوشهر - شهر شبانکاره";if(city=="356")cityN="استان بوشهر - شهر کنگان";if(city=="556")cityN="استان تهران - شهر اسلامشهر";if(city=="658")cityN="استان تهران - شهر پاکدشت";if(city=="001"||city=="002"||city=="003"||city=="004"||city=="005"||city=="006"||city=="007"||city=="008")cityN="استان تهران - شهر تهران مرکزي";if(city=="011")cityN="استان تهران - شهر تهران جنوب";if(city=="020")cityN="استان تهران - شهر تهران شرق";if(city=="025")cityN="استان تهران - شهر تهرانشمال";if(city=="015")cityN="استان تهران - شهر تهران غرب";if(city=="043")cityN="استان تهران - شهر دماوند";if(city=="666")cityN="استان تهران - شهر رباط کريم";if(city=="489")cityN="استان تهران - شهر ساوجبلاغ";if(city=="044"||city=="045")cityN="استان تهران - شهر شميران";if(city=="048"||city=="049")cityN="استان تهران - شهر شهرري";if(city=="490"||city=="491")cityN="استان تهران - شهر شهريار";if(city=="695")cityN="استان تهران - شهر طالقان";if(city=="659")cityN="استان تهران - شهر فيروزکوه";if(city=="031"||city=="032")cityN="استان تهران - شهر کرج";if(city=="664")cityN="استان تهران - شهر کهريزک";if(city=="717")cityN="استان تهران - شهر نظرآباد";if(city=="041"||city=="042")cityN="استان تهران - شهر ورامين";if(city=="471"||city=="472")cityN=" امور خارجه - امور خارجه";if(city=="454")cityN="استان ايلام - شهر آبدانان";if(city=="581")cityN="استان ايلام - شهر ارکوازي(ملکشاهي)";if(city=="449"||city=="450")cityN="استان ايلام - شهر ايلام";if(city=="616")cityN="استان ايلام - شهر ايوان";if(city=="534")cityN="استان ايلام - شهر بدره";if(city=="455")cityN="استان ايلام - شهر دره شهر";if(city=="451")cityN="استان ايلام - شهر دهلران";if(city=="726")cityN="استان ايلام - شهر زرين آباد";if(city=="634")cityN="استان ايلام - شهر شيروان لومار";if(city=="453")cityN="استان ايلام - شهر شيروان و چرداول";if(city=="727")cityN="استان ايلام - شهر موسيان";if(city=="452")cityN="استان ايلام - شهر مهران";if(city=="145"||city=="146")cityN="استان اردبيل - شهر اردبيل";if(city=="731")cityN="استان اردبيل - شهر ارشق";if(city=="690")cityN="استان اردبيل - شهر انگوت";if(city=="601")cityN="استان اردبيل - شهر بيله سوار";if(city=="504")cityN="استان اردبيل - شهر پارس آباد";if(city=="163")cityN="استان اردبيل - شهر خلخال";if(city=="714")cityN="استان اردبيل - شهر خورش رستم";if(city=="715")cityN="استان اردبيل - شهر سرعين";if(city=="566")cityN="استان اردبيل - شهر سنجبد(کوثر)";if(city=="166"||city=="167")cityN="استان اردبيل - شهر مشکين شهر";if(city=="161"||city=="162")cityN="استان اردبيل - شهر مغان";if(city=="686")cityN="استان اردبيل - شهر نمين";if(city=="603")cityN="استان اردبيل - شهر نير";if(city=="619")cityN="استان اصفهان - شهر آران و بيدگل";if(city=="118")cityN="استان اصفهان - شهر اردستان";if(city=="127"||city=="128"||city=="129")cityN="استان اصفهان - شهر اصفهان";if(city=="620")cityN="استان اصفهان - شهر باغ بهادران";if(city=="621")cityN="استان اصفهان - شهر بوئين و مياندشت";if(city=="549")cityN="استان اصفهان - شهر تيران و کرون";if(city=="564")cityN="استان اصفهان - شهر جرقويه";if(city=="575")cityN="استان اصفهان - شهر چادگان";if(city=="113"||city=="114")cityN="استان اصفهان - شهر خميني شهر";if(city=="122")cityN="استان اصفهان - شهر خوانسار";if(city=="540")cityN="استان اصفهان - شهر خور و بيابانک";if(city=="660")cityN="استان اصفهان - شهر دولت آباد";if(city=="120")cityN="استان اصفهان - شهر سميرم";if(city=="512")cityN="استان اصفهان - شهر سميرم سفلي (دهاقان)";if(city=="510"||city=="511")cityN="استان اصفهان - شهر شاهين شهر";if(city=="119")cityN="استان اصفهان - شهر شهرضا";if(city=="115")cityN="استان اصفهان - شهر فريدن";if(city=="112")cityN="استان اصفهان - شهر فريدونشهر";if(city=="110"||city=="111")cityN="استان اصفهان - شهر فلاورجان";if(city=="125"||city=="126")cityN="استان اصفهان - شهر کاشان";if(city=="565")cityN="استان اصفهان - شهر کوهپايه";if(city=="121")cityN="استان اصفهان - شهر گلپايگان";if(city=="116"||city=="117")cityN="استان اصفهان - شهر لنجان(زرينشهر)";if(city=="541")cityN="استان اصفهان - شهر مبارکه";if(city=="622")cityN="استان اصفهان - شهر ميمه";if(city=="124")cityN="استان اصفهان - شهر نائين";if(city=="108"||city=="109")cityN="استان اصفهان - شهر نجف آباد";if(city=="123")cityN="استان اصفهان - شهر نطنز";if(city=="427"||city=="428")cityN="استان زنجان - شهر زنجان";if(city=="507")cityN="استان آذربايجان شرقي - شهر ملکان";if(city=="158")cityN="استان آذربايجان شرقي - شهر مرند";if(city=="152"||city=="153")cityN="استان آذربايجان شرقي - شهر ميانه";if(city=="615")cityN="استان قزوين - شهر ابهر و خرمدره"
966
+ document.getElementById("city_<?php echo $field["id"]; ?>").innerHTML = cityN;
967
+ <?php
968
+ }
969
+ if(rgget("field_mellicart_sp", $field)) {
970
+ ?>
971
+ meli_code.value = meli_code.value.substring(0,3)+"-"+meli_code.value.substring(3,9)+"-"+meli_code.value.substring(9,10);
972
+ <?php
973
+ }
974
+ ?>
975
+ return true;
976
+ }
977
+ <?php
978
+ if(rgget("field_mellicart", $field))
979
+ {
980
+ ?>
981
+ else
982
+ {
983
+ <?php
984
+ if ($pm3)
985
+ {
986
+ ?>
987
+ var pm3 = "<?php echo $pm3 ?>";
988
+ <?php
989
+ }
990
+ else
991
+ {
992
+ ?>
993
+ var pm3 = 'کد ملی وارد شده مطابق با استانداردهای کشور نمی باشد .';
994
+ <?php
995
+ }
996
+ ?>
997
+ document.getElementById("city_<?php echo $field["id"]; ?>").innerHTML = pm3;
998
+ return false;
999
+ }
1000
+ <?php
1001
+ }
1002
+ ?>
1003
+ }
1004
+ </script>
1005
+ <?php
1006
+ }
1007
+ return $content;
1008
+ }
1009
+
1010
+ public static function checkdate($month, $day, $year){
1011
+ if(empty($month) || !is_numeric($month) || empty($day) || !is_numeric($day) || empty($year) || !is_numeric($year) || strlen($year) != 4)
1012
+ return false;
1013
+ return checkdate($month, $day, $year);
1014
+ }
1015
+
1016
+ public function Input_Valid_Checker_By_HANNANStd($result, $value, $form, $field){
1017
+
1018
+ //shamsi date formtat validator
1019
+ if ( $field["type"] == "date" )
1020
+ {
1021
+ if (rgget("check_jalali", $field))
1022
+ {
1023
+ if(is_array($value) && rgempty(0, $value) && rgempty(1, $value)&& rgempty(2, $value))
1024
+ $value = null;
1025
+
1026
+ if(!empty($value))
1027
+ {
1028
+ $format = empty($field["dateFormat"]) ? "mdy" : $field["dateFormat"];
1029
+ $date = GFCommon::parse_date($value, $format);
1030
+ if (!empty($date) )
1031
+ {
1032
+ if ( intval($date["month"]) >= 1 && intval($date["month"]) <=12 )
1033
+ {
1034
+ $min = 1;
1035
+ if ( intval($date["month"]) >= 1 && intval($date["month"]) <=6 )
1036
+ $max = 31;
1037
+
1038
+ if ( intval($date["month"]) >= 7 && intval($date["month"]) <=12 )
1039
+ $max = 30;
1040
+
1041
+ if ( intval($date["month"]) == 12 && intval($date["day"]) >= 1 && intval($date["day"]) <= 30 ) {
1042
+ $j_g = GF_jalali_to_gregorian($date["year"],$date["month"],$date["day"]);
1043
+ $day = $j_g[2];
1044
+ $month = $j_g[1];
1045
+ $year = $j_g[0];
1046
+ $target = new DateTime("$year-$month-$day 09:00:00");
1047
+ $target = $target->format('Y-m-d H:i:s');
1048
+ $target = strtotime ($target);
1049
+ $leap_year = GF_jdate('L',$target,'','','en');
1050
+ if ( $leap_year != 1 )
1051
+ $max = 29;
1052
+ }
1053
+
1054
+ if ( intval($date["day"]) >= $min && intval($date["day"]) <= $max ) {
1055
+ $j_g = GF_jalali_to_gregorian($date["year"],$date["month"],$date["day"]);
1056
+ $day = $j_g[2];
1057
+ $month = $j_g[1];
1058
+ $year = $j_g[0];
1059
+ $result["is_valid"] = self::checkdate($month, $day, $year);
1060
+ }
1061
+ else
1062
+ $result["is_valid"] = false;
1063
+ }
1064
+ else
1065
+ $result["is_valid"] = false;
1066
+ }
1067
+ else
1068
+ $result["is_valid"] = false;
1069
+
1070
+ if(empty($date) || !$result["is_valid"] )
1071
+ {
1072
+ $format_name = "";
1073
+ switch($format)
1074
+ {
1075
+ case "mdy" :
1076
+ $format_name = "mm/dd/yyyy";
1077
+ break;
1078
+ case "dmy" :
1079
+ $format_name = "dd/mm/yyyy";
1080
+ break;
1081
+ case "dmy_dash" :
1082
+ $format_name = "dd-mm-yyyy";
1083
+ break;
1084
+ case "dmy_dot" :
1085
+ $format_name = "dd.mm.yyyy";
1086
+ break;
1087
+ case "ymd_slash" :
1088
+ $format_name = "yyyy/mm/dd";
1089
+ break;
1090
+ case "ymd_dash" :
1091
+ $format_name = "yyyy-mm-dd";
1092
+ break;
1093
+ case "ymd_dot" :
1094
+ $format_name = "yyyy.mm.dd";
1095
+ break;
1096
+ }
1097
+
1098
+ $result["is_valid"] = false;
1099
+ $message = $field["dateType"] == "datepicker" ? sprintf(__("Please enter a valid date in the format (%s).", "gravityforms"), $format_name) : __("Please enter a valid date.", "gravityforms");
1100
+ $result["message"] = empty($field["errorMessage"]) ? $message : $field["errorMessage"];
1101
+ }
1102
+ else
1103
+ $result["is_valid"] = true;
1104
+ }
1105
+ }
1106
+ }
1107
+
1108
+ //melli cart validator
1109
+ if ( $field["type"] == "mellicart" )
1110
+ {
1111
+ $pm1= rgget("field_mellicart_sp1", $field);
1112
+ $pm2= rgget("field_mellicart_sp2", $field);
1113
+ $pm3= rgget("field_mellicart_sp3", $field);
1114
+ $pm4= rgget("field_mellicart_sp4", $field);
1115
+ if(rgget("field_mellicart_sp", $field))
1116
+ $setting = 1;
1117
+ else
1118
+ $setting = 0;
1119
+ if (self::Add_Melli_Cart_PHP_Checker_By_HANNANStd($value,$setting) == 4)
1120
+ {
1121
+ $result["is_valid"] = false;
1122
+ if ($pm1)
1123
+ $result["message"] = $pm1;
1124
+ else
1125
+ $result["message"] = "کد ملی فقط باید به صورت عدد وارد شود . ";
1126
+ }
1127
+ if (self::Add_Melli_Cart_PHP_Checker_By_HANNANStd($value,$setting) == 3)
1128
+ {
1129
+ $result["is_valid"] = false;
1130
+ if ($pm2)
1131
+ $result["message"] = $pm2;
1132
+ else
1133
+ $result["message"] = 'کد ملی می بایست 10 رقمی باشد . تنها در صورتی مجاز به استفاده از کد های 8 یا 9 رقمی هستید که ارقام سمت چپ 0 باشند . ';
1134
+ }
1135
+ if (self::Add_Melli_Cart_PHP_Checker_By_HANNANStd($value,$setting) == 2)
1136
+ {
1137
+ $result["is_valid"] = false;
1138
+ if ($pm4)
1139
+ $result["message"] = $pm4;
1140
+ else
1141
+ $result["message"] = 'کد ملی وارد شده مطابق با استانداردهای کشور نمی باشد .';
1142
+ }
1143
+ if ($field["noDuplicates"] && RGFormsModel::is_duplicate($form["id"], $field, $value))
1144
+ {
1145
+ $result["is_valid"] = false;
1146
+ if ($pm3)
1147
+ $result["message"] = $pm3;
1148
+ else
1149
+ $result["message"] = 'این کد ملی توسط فرد دیگری ثبت شده است .';
1150
+ }
1151
+ }
1152
+
1153
+ //else returne results
1154
+ return $result;
1155
+ }
1156
  }
1157
  global $Persian_Gravityforms_By_HANNANStd_plugin;
1158
  $Persian_Gravityforms_By_HANNANStd_plugin = new GravityFormsPersian( __FILE__ );
include/Post_Content_Merge_Tags.php CHANGED
@@ -38,11 +38,16 @@ class PersianGravityForms_Post_Content_Merge_Tags {
38
  }
39
  function replace_merge_tags( $post_content ) {
40
  $wp_session = WP_Session::get_instance();
 
 
 
 
 
41
  $entry = $this->get_entry();
42
  if( !$entry )
43
  return $post_content;
44
  $form = GFFormsModel::get_form_meta( $entry['form_id'] );
45
- if ( $wp_session['refid'] == $form["id"].$entry["id"] ) {
46
  $post_content = $this->replace_field_label_merge_tags( $post_content, $form );
47
  $post_content = GFCommon::replace_variables( $post_content, $form, $entry, false, false, false );
48
  }
38
  }
39
  function replace_merge_tags( $post_content ) {
40
  $wp_session = WP_Session::get_instance();
41
+ @session_start();
42
+ if ($wp_session['refid'])
43
+ $session = $wp_session['refid'];
44
+ else
45
+ $session = $_SESSION["refid"];
46
  $entry = $this->get_entry();
47
  if( !$entry )
48
  return $post_content;
49
  $form = GFFormsModel::get_form_meta( $entry['form_id'] );
50
+ if ( $session == $form["id"].$entry["id"] ) {
51
  $post_content = $this->replace_field_label_merge_tags( $post_content, $form );
52
  $post_content = GFCommon::replace_variables( $post_content, $form, $entry, false, false, false );
53
  }
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: gravityforms,gravity forms,persian gravity forms,persian gravityforms,grav
4
  Donate link: http://www.gravityforms.ir
5
  Requires at least: 3.5
6
  Tested up to: 4.1
7
- Stable tag: 1.1.5
8
  License: GPL 2
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
  This WordPress plugin extends the Gravity Forms plugin and its addons with the Persian language .
@@ -83,6 +83,8 @@ You can read complete documentations on the [GravityForms.ir](http://www.Gravity
83
  19. Iranian National Code field Advanced setting
84
 
85
  == Changelog ==
 
 
86
  = 1.1.5 =
87
  * Fixed : Some Minor bugs
88
  = 1.1.4 =
@@ -108,6 +110,8 @@ You can read complete documentations on the [GravityForms.ir](http://www.Gravity
108
  * First version
109
 
110
  == Upgrade Notice ==
 
 
111
  = 1.1.5 =
112
  * Fixed : Some Minor bugs
113
  = 1.1.4 =
4
  Donate link: http://www.gravityforms.ir
5
  Requires at least: 3.5
6
  Tested up to: 4.1
7
+ Stable tag: 1.2.0
8
  License: GPL 2
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
  This WordPress plugin extends the Gravity Forms plugin and its addons with the Persian language .
83
  19. Iranian National Code field Advanced setting
84
 
85
  == Changelog ==
86
+ = 1.2.0 =
87
+ * Fixed : Date Field Validation
88
  = 1.1.5 =
89
  * Fixed : Some Minor bugs
90
  = 1.1.4 =
110
  * First version
111
 
112
  == Upgrade Notice ==
113
+ = 1.2.0 =
114
+ * Fixed : Date Field Validation
115
  = 1.1.5 =
116
  * Fixed : Some Minor bugs
117
  = 1.1.4 =