Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Web-MeetMe сбор конференции по адресной книге

Раздел для разработчиков для обсуждения программных и аппаратных продуктов и их реализации.

Модератор: april22

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение utcon » 14 фев 2012, 20:16

Сегодня полдня искал, так и не нашел :geek:
utcon
 
Сообщений: 60
Зарегистрирован: 19 янв 2012, 14:26

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение utcon » 15 фев 2012, 14:57

Понятно, что допустим

<a href="#" onclick="call_add('TEST_NAME',05068821,0,0,5,153)" type="button">[ВЫЗОВ]</a>

передает это в javascript call_add, который описан в out_call_book.php
следующим образом

Код: выделить все
function call_add(nM,nU,rX,tX,cN,bI) {
        // (1) создать объект для запроса к серверу
        var req = getXmlHttp()

        // (2)
        // span рядом с кнопкой
        // в нем будем отображать ход выполнения
        var statusElem = document.getElementById(nU)

        req.onreadystatechange = function() {
        // onreadystatechange активируется при получении ответа сервера

                if (req.readyState == 4) {
            // если запрос закончил выполняться

                        statusElem.innerHTML = req.statusText // показать статус (Not Found, ОК..)

                        if(req.status == 200) {
                 // если статус 200 (ОК) - выдать ответ пользователю
                                alert("Ответ сервера: "+req.responseText);
                        }
                        // тут можно добавить else с обработкой ошибок запроса
                }

        }

       // (3) задать адрес подключения
        req.open('GET', 'call_operator_add.php?name='+nM+'&invite_num='+nU+'&action=quickcall&data='+cN+'&bookid='+bI+'&rx='+rX+'&tx='+tX, true);

        // объект запроса подготовлен: указан адрес и создана функция onreadystatechange
        // для обработки ответа сервера

        // (4)
        req.send(null);  // отослать запрос

        // (5)
        statusElem.innerHTML = 'Ожидание...'
}
        //-->
        </script>


По сути скрипт получает на входе переменные и отправляет их с помощью

Код: выделить все
req.open('GET', 'call_operator_add.php?name='+nM+'&invite_num='+nU+'&action=quickcall&data='+cN+'&bookid='+bI+'&rx='+rX+'&tx='+tX, true);

на сервер.

Я вручную сделал ссылку

Код: выделить все
http://server/meeting/call_operator_add.php?name='KUKA'&invite_num='05068821'&action=quickcall&data='5'&bookid='153'&rx='0'&tx='0,%20true


И запустил на выполнение в браузере.
Номер корректно прошел с нулями в консоли астериска.

Отсюда вывод, что либо ноль спереди режется в момент нажатия кнопки ВЫЗОВ, либо ноль режется в момент обработки его javascript функцией call_add.

Подозрение, что в момент
Код: выделить все
req.open('GET', 'call_operator_add.php?name='+nM+'&invite_num='+nU+'&action=quickcall&data='+cN+'&bookid='+bI+'&rx='+rX+'&tx='+tX, true);


Номер идет уже обрезанными первыми нулями.
utcon
 
Сообщений: 60
Зарегистрирован: 19 янв 2012, 14:26

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение utcon » 15 фев 2012, 15:27

Ух ты,
в файле
lib/addressbook.php раскомментировал

Код: выделить все
                echo "<tr><td>$row[1]</td><td>$row[2]</td><td>
                <FORM action=\"./call_operator.php\" method=\"post\" name=WMOutCall>
                <INPUT type=\"hidden\" name=\"name\" value=\"$row[1]\">
                <INPUT type=\"hidden\" name=\"invite_num\" value=\"$row[2]\">
                <INPUT type=\"hidden\" name=\"action\" value=\"quickcall\">
                <INPUT type=\"hidden\" name=\"data\" value=\"$confno\">
                <INPUT type=\"hidden\" name=\"bookid\" value=\"$book\">
                <input type=\"submit\" value=\"Вызов\"/>\n</td></tr>\n";


Понятно, что съехали столбцы в справочнике, но номер через quickcall проходит с первым 0 без проблем.

Но пользоваться не реально.


Как бы передать все значение invite_num в add_call включая первые нули.
utcon
 
Сообщений: 60
Зарегистрирован: 19 янв 2012, 14:26

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение Vlad1983 » 15 фев 2012, 15:45

значи всё таки джава
эх не лублу я её, но попробую разобраться что ей надо
тем более скоро с нулями придется всем набирать
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel
Vlad1983
 
Сообщений: 4184
Зарегистрирован: 09 авг 2011, 11:51

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение Vlad1983 » 15 фев 2012, 16:00

всё оказалось довольно просто

lib/addressbook.php
...
Код: выделить все
echo "<tr><td height=\"35\">$row[1]</td><td>$row[2]</td><td>$row[3]</td><td>$row[4]</td><td><a href=\"#\" onclick=\"call_add(\x27$row[1]\x27,\x27$row[2]\x27,$row[3],$row[4],$confno,$book)\" type=\"button\" />[ВЫЗОВ]</a><div align=\"center\" id=\"$row[2]\"></div></td></tr>\n";
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel
Vlad1983
 
Сообщений: 4184
Зарегистрирован: 09 авг 2011, 11:51

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение utcon » 15 фев 2012, 16:10

Огромное, человеческое спасибо.
utcon
 
Сообщений: 60
Зарегистрирован: 19 янв 2012, 14:26

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение Vlad1983 » 15 фев 2012, 17:04

надо наверное все переменные огородить
Код: выделить все
\x27
на всякий пожарный
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel
Vlad1983
 
Сообщений: 4184
Зарегистрирован: 09 авг 2011, 11:51

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение utcon » 15 фев 2012, 18:32

Для тех, кто юзает эту сборку веб митми

выкладываю кнопку которая может вызвать всех кто присутствует в какой то адресной книге

в конец lib/addressbook_custom.php дописываем

Код: выделить все
  <form method = "post">
  <input type = "submit" name = "button1" value = "Пригласить всех">
  <form>
<?
  if($_POST['button1'])

  {
        $query1 = "SELECT SQL_CALC_FOUND_ROWS `id`,`name`,`number`,`rx`,`tx` FROM `addressbook_custom` ORDER BY `name` ASC ";
        $result1 = $db->query($query1);

while($row1 = $result1->fetchRow())
         {
$row1[1] = iconv("cp1251","UTF-8",preg_replace("/[^\x30-\x39\x41-\x5A\x61-\x7A\x20\x5F\xC0-\xFF\xA8\xB8]/","",iconv("UTF-8","cp1251",$row1[1])));


echo "<script> call_add(\x27$row1[1]\x27,\x27$row1[2]\x27,$row1[3],$row1[4],$confno,$book);</script>";

}

  }

?>
utcon
 
Сообщений: 60
Зарегистрирован: 19 янв 2012, 14:26

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение Vlad1983 » 15 фев 2012, 19:22

полезно
задумка была
руки не дойдут никак

надо персонализировать адресную книгу и добавить разбиение по группам
тогда вызов всех будет более удобен
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel
Vlad1983
 
Сообщений: 4184
Зарегистрирован: 09 авг 2011, 11:51

Re: Web-MeetMe сбор конференции по адресной книге

Сообщение rahmanny » 21 фев 2012, 12:16

установил по инструкции, на любых страницах такая ошибка
Код: выделить все
Fatal error: Call to undefined method DB_Error::fetchRow() in /var/www/html/meet2/conf_update.php on line 117
rahmanny
 
Сообщений: 3
Зарегистрирован: 21 фев 2012, 12:15

Пред.След.

Вернуться в Разработка

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

© 2008 — 2019 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH