За последние 24 часа нас посетили 18518 программистов и 1626 роботов. Сейчас ищут 1978 программистов ...

Некорректно работает рассылка

Тема в разделе "Сделайте за меня", создана пользователем mila_serdnaya, 23 июн 2016.

  1. mila_serdnaya

    mila_serdnaya Новичок

    С нами с:
    23 июн 2016
    Сообщения:
    5
    Симпатии:
    0
    Здравствуйте!

    У нас на сайте некорректно работает рассылка сообщений и объявлений (плагин Front End PM): сообщение о новом объявлении должно приходить на почту всем зарегистрированным пользователям, но, вместо этого, сообщение о новом объявлении приходит почему-то только на почту администратору, причём приходит стразу 67 одинаковых сообщений.

    Скажите, пожалуйста, что нужно сделать для того, чтобы рассылка начала нормально функционировать?

    Где искать проблему?
     

    Вложения:

    • 3.JPG
      3.JPG
      Размер файла:
      109,2 КБ
      Просмотров:
      3
    • 1.JPG
      1.JPG
      Размер файла:
      17,6 КБ
      Просмотров:
      3
    • 2.JPG
      2.JPG
      Размер файла:
      112,9 КБ
      Просмотров:
      4
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Где-то в коде плагина может ошибка, какие знания в PHP?
     
    mila_serdnaya нравится это.
  3. mila_serdnaya

    mila_serdnaya Новичок

    С нами с:
    23 июн 2016
    Сообщения:
    5
    Симпатии:
    0
    Скажем так: мы не программисты. Но найти файл, который Вы подскажете искать, сможем. Внести изменения, которые Вы подскажете, тоже сможем.
    Один из основных файлов плагина прикрепили. Какие файлы нам ещё скинуть?

    Код (Text):
    1. <?php
    2.  
    3.  
    4. function fep_backticker_encode($text) {
    5.     $text = $text[1];
    6.     //$text = stripslashes($text); //already done
    7.     $text = str_replace('&amp;lt;', '&lt;', $text);
    8.     $text = str_replace('&amp;gt;', '&gt;', $text);
    9.     $text = htmlspecialchars($text, ENT_QUOTES);
    10.     $text = preg_replace("|\n+|", "\n", $text);
    11.     $text = nl2br($text);
    12.     $text = str_replace("\t", '&nbsp;&nbsp;&nbsp;&nbsp;', $text);
    13.     $text = preg_replace("/^ /", '&nbsp;', $text);
    14.     $text = preg_replace("/(?<=&nbsp;| |\n) /", '&nbsp;', $text);
    15.    
    16.     return "<code>$text</code>";
    17. }
    18.  
    19. function fep_backticker_display_code($text) {
    20.     $text = preg_replace_callback("|`(.*?)`|", "fep_backticker_encode", $text);
    21.     $text = str_replace('<code></code>', '`', $text);
    22.     return $text;
    23. }
    24. //since 3.3 it is done in input for performance issue of wp_kses_post function
    25. //add_filter('fep_filter_display_message', 'fep_backticker_display_code', 5);
    26.  
    27. function fep_message_filter_content($html) {
    28.     $html = apply_filters('comment_text', $html);
    29.     return $html;
    30. }
    31. //add_filter( 'fep_filter_display_message', 'fep_message_filter_content' );
    32.  
    33. add_filter( 'fep_filter_display_message', 'wptexturize'            );
    34. add_filter( 'fep_filter_display_message', 'convert_chars'          );
    35. add_filter( 'fep_filter_display_message', 'make_clickable',      9 );
    36. add_filter( 'fep_filter_display_message', 'force_balance_tags', 25 );
    37. add_filter( 'fep_filter_display_message', 'convert_smilies',    20 );
    38. add_filter( 'fep_filter_display_message', 'wpautop',            30 );
    39. add_filter( 'fep_filter_display_message', 'capital_P_dangit',     31 );
    40.  
    41. function fep_message_filter_title($html) {
    42.     $html = apply_filters('the_title', $html);
    43.     return $html;
    44. }
    45. add_filter( 'fep_filter_display_title', 'fep_message_filter_title' );
    46.  
    47. function fep_autosuggestion_ajax() {
    48. global $wpdb, $user_ID;
    49.  
    50. if(fep_get_option('hide_autosuggest') == '1' && !current_user_can('manage_options'))
    51. die();
    52.  
    53. if ( check_ajax_referer( 'fep-autosuggestion', 'token', false )) {
    54.  
    55. $searchq = $_POST['searchBy'];
    56.  
    57.  
    58. $args = array(
    59.                     'search' => "*$searchq*",
    60.                     'search_columns' => array( 'display_name' ),
    61.                     'exclude' => array( $user_ID ),
    62.                     'number' => 5,
    63.                     'orderby' => 'display_name',
    64.                     'order' => 'ASC'
    65.         );
    66.    
    67.     $args = apply_filters ('fep_autosuggestion_arguments', $args );
    68.    
    69.     // The Query
    70.     $user_query = new WP_User_Query( $args );
    71.    
    72. if(strlen($searchq)>0)
    73. {
    74.     echo "<ul>";
    75.     if (! empty( $user_query->results ))
    76.     {
    77.         foreach($user_query->results as $user)
    78.         {
    79.                
    80.                 ?>
    81.                 <li><a href="#" onClick="fep_fill_autosuggestion('<?php echo $user->user_login; ?>','<?php echo $user->display_name; ?>');return false;"><?php echo $user->display_name; ?></a></li>
    82.                 <?php
    83.            
    84.         }
    85.     }
    86.     else
    87.         echo "<li>".__("No Matches Found", 'fep')."</li>";
    88.     echo "</ul>";
    89. }
    90. }
    91. die();
    92. }
    93.  
    94. add_action('wp_ajax_fep_autosuggestion_ajax','fep_autosuggestion_ajax');  
    95.  
    96. function header_note() {
    97.     $numNew = fep_get_new_message_number();
    98.     $sm = ( $numNew != 1 ) ? __('new messages', 'fep'): __('new message', 'fep');
    99.    
    100.     echo __('You have', 'fep')." (<font color='red'>$numNew</font>) $sm";
    101.     }
    102. add_action ('fep_header_note',  'header_note');
    103.        
    104.        
    105. function fep_send_new_message_check( $errors )
    106.             {
    107.             if ( '1' == fep_get_option('disable_new') && !current_user_can('manage_options') )
    108.                 $errors->add('disable_new', __("Send new message is disabled for users!", 'fep'));
    109.                
    110.             }
    111.            
    112.        
    113. add_action('fep_before_send_new_message', 'fep_send_new_message_check');
    114.        
    115. function fep_send_new_message_filter( $newMsg )
    116.             {
    117.             if ( '1' == fep_get_option('disable_new') && !current_user_can('manage_options') )
    118.                 $newMsg = "<div id='fep-error'>".__('Send new message is disabled for users!', 'fep')."</div>";
    119.                
    120.                  return $newMsg ;
    121.                
    122.             }
    123.            
    124.        
    125. add_filter('fep_filter_new_message_form', 'fep_send_new_message_filter');
    126.  
    127. function fep_check_db()
    128.     {
    129.     global $wpdb;
    130.       if ( get_option( "fep_db_version" ) != FEP_DB_VERSION || get_option( "fep_meta_db_version" ) != FEP_META_VERSION )
    131.           {
    132.             $wpdb->query( "ALTER TABLE ".FEP_META_TABLE." CHANGE COLUMN id meta_id int(11) NOT NULL auto_increment" );
    133.               fep_plugin_activate();
    134.             //var_dump('db_check');
    135.         }
    136.     }  
    137.    
    138. add_action('plugins_loaded', 'fep_check_db');
    139.  
    140. //function fep_show_code_post_help()
    141.    //{
    142.     //echo '<p>' . __('Put code in between', 'fep'). ' <code>`'. __('backticks', 'fep').'`</code></p>';
    143.    // }  
    144.  
    145. //add_action('fep_message_form_after_content', 'fep_show_code_post_help', 5 );
    146. //add_action('fep_reply_form_after_content', 'fep_show_code_post_help', 5 );  
    147. //add_action('fep_announcement_form_after_content', 'fep_show_code_post_help', 5 );
    148.  
    149. function fep_footer_credit()
    150.     {
    151.     if ( fep_get_option('hide_branding',0) == 1 )
    152.                 return;
    153.     echo "<div><a href='http://frontendpm.blogspot.com/2015/03/front-end-pm.html' target='_blank'>Front End PM</a></div>";
    154.     }  
    155.  
    156. add_action('fep_footer_note', 'fep_footer_credit' );
    157.  
    158. function fep_notification()
    159.         {
    160.             if ( ! is_user_logged_in() )
    161.                 return;
    162.             if ( fep_get_option('hide_notification',0) == 1 )
    163.                 return;
    164.            
    165.             $New_mgs = fep_get_new_message_number();
    166.             $sm = ( $New_mgs != 1 ) ? __('new messages', 'fep'): __('new message', 'fep');
    167.                
    168.                 $New_ann = 0;
    169.                 $show = '';
    170.             if( class_exists('fep_announcement_class') )
    171.                 $New_ann = fep_announcement_class::init()->getAnnouncementsNum();
    172.                 $sa = ( $New_ann != 1 ) ? __('new announcements', 'fep'): __('new announcement', 'fep');
    173.    
    174.             if ( $New_mgs || $New_ann ) {
    175.                 $show = __("You have", 'fep');
    176.    
    177.             if ( $New_mgs )
    178.                 $show .= "<a href='".fep_action_url('messagebox')."'> $New_mgs $sm</a>";
    179.    
    180.             if ( $New_mgs && $New_ann )
    181.                 $show .= ' ' .__('and', 'fep');
    182.    
    183.             if ( $New_ann )
    184.                 $show .= "<a href='".fep_action_url('announcements')."'> $New_ann $sa</a>";
    185.                
    186.                 }
    187.                 return apply_filters('fep_header_notification', $show);
    188.         }
    189.            
    190.  
    191. function fep_notification_div() {
    192.     if ( ! is_user_logged_in() )
    193.                 return;
    194.     if ( fep_get_option('hide_notification',0) == 1 )
    195.                 return;
    196.                
    197.     wp_enqueue_script( 'fep-notification-script' );
    198.     $notification = fep_notification();
    199.     if ( $notification )
    200.     echo "<div id='fep-notification-bar'>$notification</div>";
    201.     else
    202.     echo "<div id='fep-notification-bar' style='display: none'></div>";
    203.     }
    204.  
    205. add_action('wp_head', 'fep_notification_div');
    206.  
    207. function fep_notification_ajax() {
    208.  
    209.     if ( check_ajax_referer( 'fep-notification', 'token', false )) {
    210.    
    211.     $notification = fep_notification();
    212.     if ( $notification )
    213.     echo $notification;
    214.     }
    215.     wp_die();
    216.     }
    217.  
    218. add_action('wp_ajax_fep_notification_ajax','fep_notification_ajax');
    219. add_action('wp_ajax_nopriv_fep_notification_ajax','fep_notification_ajax');
    220.  
    221. function fep_backticker_code_input_filter( $message ) {
    222.  
    223.     $message['message_title'] = fep_backticker_display_code($message['message_title']);
    224.     $message['message_content'] = fep_backticker_display_code($message['message_content']);
    225.    
    226.     return $message;
    227.     }
    228. add_filter( 'fep_filter_message_before_send', 'fep_backticker_code_input_filter', 5);
    229. add_filter( 'fep_filter_announcement_before_add', 'fep_backticker_code_input_filter', 5);
    230.  
    231. function fep_kses_filter( $message ) {
    232.    
    233.     $message['message_title'] = wp_kses_post($message['message_title']);
    234.     $message['message_content'] = wp_kses_post($message['message_content']);
    235.    
    236.     return $message;
    237.     }
    238. add_filter( 'fep_filter_message_before_send', 'fep_kses_filter');
    239. add_filter( 'fep_filter_announcement_before_add', 'fep_kses_filter');
    240.  
    241. function fep_delete_message_link( $pID, $wholeThread )
    242.     {
    243.     $token = fep_create_nonce('delete_message');
    244.     $del_url = fep_action_url("deletemessage&id=$pID&token=$token");
    245.     echo "<p><a href='".apply_filters('fep_delete_message_url', $del_url, $pID) ."' onclick='return confirm(\"".__('Are you sure?', 'fep')."\");'>".__("Delete", 'fep')."</a></p>";
    246.     }
    247.    
    248. add_action('fep_display_in_message_header', 'fep_delete_message_link', 10, 2 );
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Из этого кода мало что понятно, надо смотреть в живую, но там может быть работы на несколько часов, либо нужен человек который имеет опыт с wordpress, у него может быстрее получиться разораться. По этому либо подождать или открывайте тему в разделе free-lance, там помогут за деньги.
     
    mila_serdnaya нравится это.
  5. mila_serdnaya

    mila_serdnaya Новичок

    С нами с:
    23 июн 2016
    Сообщения:
    5
    Симпатии:
    0
    У нас финансы оставляют желать лучшего: мы поэты и занимаемся исключительно творчеством, от него же и кормимся, как можем - озвучиваем стихи, пишем песни, редактируем и корректируем произведения коллег, читаем в кафе, ресторанах и на улицах города в шляпу... деньги не бог весть какие, но концы с концами сводим, т.к. запросы на жизнь у нас урезаны до минимума.
    Так что free-lance нам просто-напросто не потянуть.
    denis01, может быть, Вы, как модератор форума, сможете пригласить в данную тему знакомых программистов, которые бесплатно помогут и подскажут, как решить проблему?
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Я перенесу тему в раздел сделайте за меня, возможно кто-то заинтересуется и поможет.
     
    mila_serdnaya нравится это.
  7. mila_serdnaya

    mila_serdnaya Новичок

    С нами с:
    23 июн 2016
    Сообщения:
    5
    Симпатии:
    0
    Спасибо. Ждём, кто же сможет помочь нищим поэтам.) Кстати, мы можем заплатить за работу своим творчеством: написать адресное стихотворение, например. Это хороший подарок близким.
     
  8. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    @mila_serdnaya, я музыкант и поэт. Правда, в последнее время, на творчество времени нет вообще. Но, может быть, выгоду друг от друга сумеем найти? ;)
    Правда, сразу помочь не смогу, прямо сейчас занимаюсь другим заказом. Но по свободному времени - вполне возможно.
    Скайп: mr.akv
     
  9. mila_serdnaya

    mila_serdnaya Новичок

    С нами с:
    23 июн 2016
    Сообщения:
    5
    Симпатии:
    0
    Здравствуйте, mr.akv!
    Давайте попробуем.
    Скайпами и аськами, агентами и проч. мы не пользуемся, вот почта для связи: mila_serdnaya@mail.ru