Joomla 1.0 Не работает fwrite в модуле.

Тема в разделе "Создание расширений для Joomla", создана пользователем N1kolay, 17.05.2010.

  1. Offline

    N1kolay Недавно здесь

    Регистрация:
    29.10.2008
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте уважаемые.

    Есть функция для генерации подписи. Сделал простенький модуль в котором она используется. Если использовать ее не в дужмле, то все работает, в составе модуля никак. Насколько я понял ob_start() который используется для формирования контента не дает нормально работать fwrite. Пробовал использовать ob_end_clean() и ob_clean(), только пропадает весь буферизированный контент, а функция все равно не выполняется.
    Код (PHP):
    1. // ФУНКЦИЯ ФОРМИРОВАНИЯ ПОДПИСИ
    2. // На входе: строка для подписи. На выходе: строка с результатом подписывания
    3. function _GetSign($inStr) {
    4.     global $Path_Folder, $Path_Signer;
    5.     chdir($Path_Folder);
    6.     $descriptorspec = array(
    7.     0 => array("pipe", "r"),
    8.     1 => array("pipe", "w"),
    9.     2 => array("pipe", "r") );
    10.     $process = proc_open($Path_Signer, $descriptorspec, $pipes);
    11.     fwrite($pipes[0], "$inStr\004\r\n");
    12.     fclose($pipes[0]);
    13.     $s = fgets($pipes[1], 133);
    14.     fclose($pipes[1]);
    15.     $return_value = proc_close($process);
    16.     return $s;
    17. }
     
  2.  
  3. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    Я может чего не понял, но в чем суть использования proc_* функций для формирования подписи?
     
  4. Offline

    N1kolay Недавно здесь

    Регистрация:
    29.10.2008
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    proc запускает консольное приложение wmsigner. Оно как я понял как раз и занимается созданием подписи, используя файл kwm ключа от веб-мани.
     
  5. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    А это необходимо делать именно в модуле? Может просто в модуле написать яваскрипт, вызывать аякс на компонент, а он уже делает proc_open.
     
  6. Offline

    N1kolay Недавно здесь

    Регистрация:
    29.10.2008
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    Наверное так и придется сделать. Не охота было с аяксом разбираться :)
     

Поделиться этой страницей

Загрузка...