Esempio n. 1
0
 /**
  * Звонок через VOIP
  * @param string $phone
  * @param string $file
  * @return bool
  */
 public static function Call($phone, $messageToSay)
 {
     if (self::_validate($phone)) {
         $tmpFile = tempnam('', __CLASS__ . '_');
         /**
          * перегоняем текст в mp3
          */
         if (Evil_Speech::textToSpeech($messageToSay, $tmpFile)) {
             /**
              * 
              * перегоняем mp3 в wav
              * @var string
              */
             $prepearedFile = self::_prepareFile($tmpFile);
             /**
              * если файл сконвертился успешно пытаемся позвонить
              */
             if (false !== $prepearedFile) {
                 /**
                  * делаем звонок
                  */
                 //$folderName = pathinfo(__FILE__, PATHINFO_DIRNAME) . '/Call/';
                 $folderName = pathinfo(__FILE__, PATHINFO_DIRNAME) . '/';
                 chdir($folderName);
                 $linphoneCmd = sprintf('perl %slinphone.pl %s %s', $folderName, escapeshellarg($phone), $prepearedFile);
                 /**
                  * системный вызов нашего скрипта для звонка
                  */
                 ob_start();
                 system($linphoneCmd, $status);
                 $output = ob_get_clean();
                 unlink($prepearedFile);
                 if (0 == $status) {
                     return true;
                 } else {
                     Evil_Log::log(__CLASS__ . ': ' . $output, Zend_Log::CRIT);
                     return false;
                 }
             } else {
                 Evil_Log::log(__CLASS__ . ': не смогли сконвертировать mp3 в wav', Zend_Log::CRIT);
                 return false;
             }
         } else {
             Evil_Log::log(__CLASS__ . ': не смогли сконвертировать текст в звуковое сообщение', Zend_Log::CRIT);
             return false;
         }
     }
 }
Esempio n. 2
0
 /**
  * 
  * Логирование ошибок
  * @param string $message
  * @param int $levl
  */
 protected function _log($message, $levl)
 {
     Evil_Log::log(__CLASS__ . ' ' . $message, $levl);
 }
Esempio n. 3
0
 public function enableCache()
 {
     if (extension_loaded('xcache')) {
         $frontendOptions = array('lifetime' => 60 * 5, 'automatic_serialization' => true);
         $backendOptions = array();
         $cache = Zend_Cache::factory('Core', 'XCache', $frontendOptions, $backendOptions);
         Zend_Db_Table_Abstract::setDefaultMetadataCache($cache);
     } else {
         Evil_Log::info('xcache recommended');
     }
 }