Epesi ENS | Epesi Academy | epesi.cloud PaaS | GitHub

Help Me! | Download from SourceForge Download Epesi BIM Free & Open Source CRM


Po aktualizacji do 1.8.2.pojawia się komunikat w RC:

Warning! Your hosting does not support multiple Roundcube sessions. Opening second Roundcube window may cause error in the previous one.

Dodatkowo przy zmianie ustawień w CM wyskakuje poniższy błąd:

Type: E_NOTICE (8)
Message: Undefined index: mail_method
File: /var/www/epesi/modules/Premium/CampaignManager/CampaignManager_0.php
Line=591
error backtrace:
File: /var/www/epesi/modules/Premium/CampaignManager/CampaignManager_0.php
    line 591
    function called: handle_epesi_error(8, "Undefined index: mail_method", "/var/www/epesi/modules/Premium/CampaignManager/CampaignManager_0.php", 591, Array (Object (Libs_QuickForm), Object (Premium_CampaignManager), Array (#9), "smtp", true, Array (#40), "it@teknika.pl", Array (#9)))

[PHP core called function]
    function called: admin_email_server()

File: /var/www/epesi/modules/Utils/TabbedBrowser/TabbedBrowser_0.php
    line 120
    function called: call_user_func_array(Array (Object (Premium_CampaignManager), "admin_email_server"), Array ())

File: /var/www/epesi/modules/Utils/TabbedBrowser/TabbedBrowser_0.php
    line 85
    function called: display_contents(Array (2, Array (#2), Array (#0), false), 2, true)

[PHP core called function]
    function called: body()

File: /var/www/epesi/include/module.php
    line 924
    function called: call_user_func_array(Array (Object (Utils_TabbedBrowser), "body"), Array ())

File: /var/www/epesi/include/module.php
    line 844
    function called: get_html_of_module(Object (Utils_TabbedBrowser), null, null)

File: /var/www/epesi/modules/Premium/CampaignManager/CampaignManager_0.php
    line 281
    function called: display_module(Object (Utils_TabbedBrowser))

[PHP core called function]
    function called: admin()

File: /var/www/epesi/include/module.php
    line 924
    function called: call_user_func_array(Array (Object (Premium_CampaignManager), "admin"), Array ())

File: /var/www/epesi/include/module.php
    line 844
    function called: get_html_of_module(Object (Premium_CampaignManager), null, "admin")

File: /var/www/epesi/include/module.php
    line 129
    function called: display_module(Object (Premium_CampaignManager), null, "admin")

File: /var/www/epesi/modules/Base/Admin/Admin_0.php
    line 31
    function called: pack_module("Premium_CampaignManager", null, "admin")

[PHP core called function]
    function called: body()

File: /var/www/epesi/include/module.php
    line 924
    function called: call_user_func_array(Array (Object (Base_Admin), "body"), Array ())

File: /var/www/epesi/include/module.php
    line 844
    function called: get_html_of_module(Object (Base_Admin), null, null)

File: /var/www/epesi/modules/Base/Box/Box_0.php
    line 142
    function called: display_module(Object (Base_Admin))

File: /var/www/epesi/include/epesi.php
    line 246
    function called: body()

File: /var/www/epesi/include/epesi.php
    line 291
    function called: go(Object (Base_Box))

File: /var/www/epesi/process.php
    line 38
    function called: process("_qf__libs_qf_6ae9aef0bb72990a082219e4d88b908e=&submited=1&mail_host=teknika.home.pl%3A587&mail_security=ssl&mail_auth=1&mail_user=it%40teknika.pl&mail_password=XXXXXXX&daily_limit=&msgs_at_once=1000&sending_delay=5&__action_module__=%2FBase_Box%7C0%2FBase_Admin%7Cmain_023dee6d4bdc04a5ecb42ddffa7e45b2%2FPremium_CampaignManager%7C0", "")

Type: E_NOTICE (8)
Message: Undefined index: mail_method
File: /var/www/epesi/modules/Premium/CampaignManager/CampaignManager_0.php
Line=591
error backtrace:
File: /var/www/epesi/modules/Premium/CampaignManager/CampaignManager_0.php
    line 591
    function called: handle_epesi_error(8, "Undefined index: mail_method", "/var/www/epesi/modules/Premium/CampaignManager/CampaignManager_0.php", 591, Array (Object (Libs_QuickForm), Object (Premium_CampaignManager), Array (#9), "smtp", true, Array (#40), "it@teknika.pl", Array (#9)))

[PHP core called function]
    function called: admin_email_server()

File: /var/www/epesi/modules/Utils/TabbedBrowser/TabbedBrowser_0.php
    line 120
    function called: call_user_func_array(Array (Object (Premium_CampaignManager), "admin_email_server"), Array ())

File: /var/www/epesi/modules/Utils/TabbedBrowser/TabbedBrowser_0.php
    line 85
    function called: display_contents(Array (2, Array (#2), Array (#0), false), 2, true)

[PHP core called function]
    function called: body()

File: /var/www/epesi/include/module.php
    line 924
    function called: call_user_func_array(Array (Object (Utils_TabbedBrowser), "body"), Array ())

File: /var/www/epesi/include/module.php
    line 844
    function called: get_html_of_module(Object (Utils_TabbedBrowser), null, null)

File: /var/www/epesi/modules/Premium/CampaignManager/CampaignManager_0.php
    line 281
    function called: display_module(Object (Utils_TabbedBrowser))

[PHP core called function]
    function called: admin()

File: /var/www/epesi/include/module.php
    line 924
    function called: call_user_func_array(Array (Object (Premium_CampaignManager), "admin"), Array ())

File: /var/www/epesi/include/module.php
    line 844
    function called: get_html_of_module(Object (Premium_CampaignManager), null, "admin")

File: /var/www/epesi/include/module.php
    line 129
    function called: display_module(Object (Premium_CampaignManager), null, "admin")

File: /var/www/epesi/modules/Base/Admin/Admin_0.php
    line 31
    function called: pack_module("Premium_CampaignManager", null, "admin")

[PHP core called function]
    function called: body()

File: /var/www/epesi/include/module.php
    line 924
    function called: call_user_func_array(Array (Object (Base_Admin), "body"), Array ())

File: /var/www/epesi/include/module.php
    line 844
    function called: get_html_of_module(Object (Base_Admin), null, null)

File: /var/www/epesi/modules/Base/Box/Box_0.php
    line 142
    function called: display_module(Object (Base_Admin))

File: /var/www/epesi/include/epesi.php
    line 246
    function called: body()

File: /var/www/epesi/include/epesi.php
    line 291
    function called: go(Object (Base_Box))

File: /var/www/epesi/process.php
    line 38
    function called: process("_qf__libs_qf_6ae9aef0bb72990a082219e4d88b908e=&submited=1&mail_host=teknika.home.pl%3A587&mail_security=&mail_auth=1&mail_user=it%40teknika.pl&mail_password=*******&daily_limit=&msgs_at_once=1000&sending_delay=5&__action_module__=%2FBase_Box%7C0%2FBase_Admin%7Cmain_023dee6d4bdc04a5ecb42ddffa7e45b2%2FPremium_CampaignManager%7C0", "")


a pierwsza część problemu dotycząca RC?

Czyli tak, w 'modules/CRM/RoundCube/RoundCube_0.php' na linii 42 sprawdzamy czy wspierany jest multiwin, w innym wypadku dostaniemy powyższy komunikat. 2 linie wyżej zwracamy do tej zmiennej wynik z metody CRM_RoundcubeCommon::multiwin_supported().
w modules/CRM/RoundCube/RoundCubeCommon_0.php na linii 72 jest zdefinowana ta metoda, sprawdzamy czy w mamy zcacheowany rc_multiwin, jesli nie jest zcachowany przechodzimy dalej. Pobieramy zawartosc z pliku '/modules/CRM/Roundcube/RCWIN_0/robots.txt'. Ta sciezka jest oczywiście parsowana przez htaccess w 'modules/CRM/RoundCube/.htaccess'

    RewriteCond %{REQUEST_URI} (.*/modules/CRM/Roundcube)/ [NC]
    RewriteRule RCWIN_([0-9]+)/(.*) %1/RC/$2?ECID=$1 [PT,QSA]

czyli jest tlumaczona na '/modules/CRM/Roundcube/RC/robots.txt?ECID=0'
tutaj ważne jest żeby miał zainstalowane rozszerzenie curl do php lub włączone allow_url_fopen w ini.
Dalej sprawdzane jest czy w pliku znajduje się linia z ciągiem 'User-agent', domyslnie zawartość pliku robots.txt powinna być

    User-agent: *
    Disallow: /

jeśli tak nie jest, dodaj te linijki do pliku.
Spróbuj odświeżyć cache w razie gdyby te wskazówki nie pomogły. W roocie epesi wywołaj komendę

    php console.php cache:rebuild

    nnader /modules/CRM/Roundcube/RCWIN_0/robots.txt

    Tego katalogu nie mam o plikach .htaccess nawet nie wspomnę.

      eltonik
      chyba mnie nie zrozumiałeś. Tak jak pisałem wyżej htaccess parsuje ten url '/modules/CRM/Roundcube/RCWIN_0/robots.txt' i tłumaczy go na '/modules/CRM/Roundcube/RC/robots.txt' i tam jest ten plik. A .htaccess też pisałem jest w 'modules/CRM/RoundCube/.htaccess'

      I są te pliki, nadal ostrzezenie sie pojawia
      php.ini równiez sprawdziłem

      Czy spróbowałeś odświeży cache tak jak pisałem wyżej?

      Ok, czyli na pewno masz ten robots.txt w którym jest User-agent: *?
      Czy możesz zdebugować RoundCubeCommon::multiwin_supported() ?
      bo jedyne co może się teraz dziać to albo nie masz włączonego allow_url_fopen albo nie masz zainstalowanego rozszerzenia curl do php.

      Proszę otwórz konto na roundcube w epesi, następnie wejdź na panel admina (http://twojeepesi.com/admin) i uruchom 'run php command'.
      i wklej ten kod

      $supported = Cache::get('rc_multiwin');
      
      if ($supported === null) {
          print('multiwin cache not set, ');
      } elseif ($supported === false) {
          print('no multiwin support, ');
      } else {
          print('multiwin supported, ');
      }
      
      if (ini_get('allow_url_fopen')) {
          print('allow url fopen enabled, ');
      } else {
          print('allow url fopen disabled, ');
      }
      
      
      if (extension_loaded('curl')) { 
          print('curl enabled');
      } else {
         print('curl disabled');
      }
      

      uruchom i wklej tu wynik

      jeśli po wejściu do 'run php command' doastajesz komunikat, że musisz włączyć embedded php wejdź do 'include/config.php' i znajdź tę linię

      if(!defined('ALLOW_PHP_EMBEDDING')) define('ALLOW_PHP_EMBEDDING',0);
      

      i zmien na

      if(!defined('ALLOW_PHP_EMBEDDING')) define('ALLOW_PHP_EMBEDDING',1);
      

      i postępuj zgodnie z tym co napisałem wyżej.

      Ok teraz wklej to

              $supported = Cache::get('rc_multiwin');
              if ($supported === null) {
                  $test_url = get_epesi_url() . '/modules/CRM/Roundcube/RCWIN_0/robots.txt';
                  $ret = '';
                  if(ini_get('allow_url_fopen'))
                      $ret = @file_get_contents($test_url);
                  elseif (extension_loaded('curl')) { // Test if curl is loaded
                      $ch = curl_init();
                      curl_setopt($ch, CURLOPT_HEADER, 0);
                      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser.
                      curl_setopt($ch, CURLOPT_URL, $test_url);
                      $ret = curl_exec($ch);
                      curl_close($ch);
                  }
                  $supported = strpos($ret, 'User-agent') !== false;
                  Cache::set('rc_multiwin', $supported);
              }
      if($supported) {
      print('supported');
      }else{
      print('not suported');
      }
      

      jeszcze przyszło mi do głowy, bo jak powyższy kod zwróci 'not supported' to możliwe że masz wyłączone mod_rewrite. Czy serwer masz na apache?

      spróbuj jeszcze tak

              $supported = Cache::get('rc_multiwin');
              if ($supported === null) {
                  $test_url = get_epesi_url() . '/modules/CRM/Roundcube/RC/robots.txt';
                  $ret = '';
                  if(ini_get('allow_url_fopen'))
                      $ret = @file_get_contents($test_url);
                  elseif (extension_loaded('curl')) { // Test if curl is loaded
                      $ch = curl_init();
                      curl_setopt($ch, CURLOPT_HEADER, 0);
                      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser.
                      curl_setopt($ch, CURLOPT_URL, $test_url);
                      $ret = curl_exec($ch);
                      curl_close($ch);
                  }
                  $supported = strpos($ret, 'User-agent') !== false;
                  Cache::set('rc_multiwin', $supported);
              }
      if($supported) {
      print('supported');
      }else{
      print('not suported');
      }
      

      A no tak bo jest zcacheowane, to inaczej...

                  $test_url = get_epesi_url() . '/modules/CRM/Roundcube/RC/robots.txt';
                  $ret = '';
                  if(ini_get('allow_url_fopen'))
                      $ret = @file_get_contents($test_url);
                  elseif (extension_loaded('curl')) { // Test if curl is loaded
                      $ch = curl_init();
                      curl_setopt($ch, CURLOPT_HEADER, 0);
                      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser.
                      curl_setopt($ch, CURLOPT_URL, $test_url);
                      $ret = curl_exec($ch);
                      curl_close($ch);
                  }
                  $supported = strpos($ret, 'User-agent') !== false;
                  Cache::set('rc_multiwin', $supported);
      
      if($supported) {
      print('supported');
      }else{
      print('not suported');
      }