Вы не зашли.
Главная » PHP » Браузерное расширение для форума
#1. Gemorroj Off (108)
Administrator
2011.06.24 18:06
https://code.google.com/p/wapinet-forum … vn%2Ftrunk
В процессе разработки расширение для браузеров (на данный момент только Google Chrome) позволяющее с большим удобством пользоваться форумом wapinet.ru
#2. TLENS Off (14)
Moderator
2011.06.24 19:07
Паша надо бы залить его в https://chrome.google.com/webstore
У меня все готово вот только не могу выложить в публику так как просит 5$
Про мучился не могу про платить его. Не получается.
#3. Gemorroj Off (108)
Administrator
2011.06.25 18:06
пока не надо никуда заливать.
#4. TLENS Off (14)
Moderator
2011.06.26 05:05
Ой паша чет ты там такого на куралесил.
Зачем было убирать автозакрытие и кнопк? Удобно ведь было.
Также выравнивал его чтобы красота была а это что?
А вообще сделал ты его намного быстрее.
Даже если и убрал кнопку надо было же выровнять иконку reload на 20px в право.
Утром займусь оформлением сегодня спать уже буду идти.
Добавлено спустя   1 минуту  23 секунды:
Да кстати изменений много позитивных. И уведомление радует, Аккуратное.
Вложения
Безымянный.jpg 54kb {416x326} [загрузок: 1253]
#5. Gemorroj Off (108)
Administrator
2011.06.26 08:08
я же писал в прошлой теме зачем.
автозакрытие ИМХО неудобно, курсор не обязательно будет находиться в фокусе на попапе. а закрыть можно просто кликнув в сторону.
reload и отступы нужно поправить, да.
#6. TLENS Off (14)
Moderator
2011.06.26 08:08
Мне чет не спится. Слушай пока ты здесь обьясни аочему убрал margin с тела. Какие то трудности были?
Что бы я знал
Добавлено спустя   4 минуты  48 секунд:
Слушай а правда процессор практически не видит это расширение оптимизировал супер ))
Кстати ты меня учил что в селекторах желательно прописывать имя тегов. А у тебя вижу айдишки без тегов.
Я так понимаю по ид оно отбирается в доме прямо без поиска чем как например по option[value=""] или .class
Отредактировано TLENS (2011.06.26 08:08)
#7. TLENS Off (14)
Moderator
2011.06.26 09:09
Внес пару изменений смотри
#8. Gemorroj Off (108)
Administrator
2011.06.26 09:09
ну есть 3 метода для поиска по дому: getElementById, getElementsByTagName, getElementsByClassName.
Из них однозначно самый быстрый - это getElementById. При чем намного.
getElementsByTagName и getElementsByClassName примерно одинаковы по скорости, НО в IE до 8 включительно нету этого метода и jQuery реализует его самостоятельно, что, само собой, намного медленнее по сравнению с нативным методом.
Отсюда вывод - для кроссбраузерных скриптов лучше искать через getElementsByTagName, а не getElementsByClassName.
Есть еще момент с querySelector - оно работает очень быстро, намного быстрее чем jQuery. Но пока что только новые версии браузеров это понимают.
Добавлено спустя   8 минут  23 секунды:
я бы еще на это обратил внимание.
Вложения
Захват-1.png 715b {401x49} [загрузок: 1163]
Захват-2.png 56kb {802x595} [загрузок: 1192]
#9. TLENS Off (14)
Moderator
2011.06.26 09:09
Предложения:
1) Кстати хром же понимает. Можно и воспользоватся.
2) Пошарюсь как делать толковый порт. А то мой самодельный ну никуда не годится.
3) Да и мигалку наверное убрать надо. И вместо этого добавить код который будет подсчитывать количество новых. И выводить на иконку.
На первое можешь не отвечать wink
Добавлено спустя   3 минуты  16 секунд:
Первое обращение смотрел но не довел до конца.
Посмотрю еще раз.
Второе сейчас сделаю
#10. TLENS Off (14)
Moderator
2011.06.26 09:09
Сделал фрейм. А в настройках что именно просто там несколько стрелок надо рисовать
#11. Gemorroj Off (108)
Administrator
2011.06.26 10:10
пустое место, в которое нужно уместить выбор временной зоны.
#12. TLENS Off (14)
Moderator
2011.06.26 10:10
Не вариант все равно будет не красиво.
Сейчас что то придумаю
#13. TLENS Off (14)
Moderator
2011.06.26 11:11
Как тебе такой вариант?
Мне нравится
Добавлено спустя   1 минуту :
Чуть кривовато но это исправимо
Вложения
Безымянный.jpg 55kb {420x363} [загрузок: 1033]
#14. Gemorroj Off (108)
Administrator
2011.06.26 11:11
отлично, отступ сверху пару пикселей только надо бы)
#15. TLENS Off (14)
Moderator
2011.06.26 19:07
Слушай еще вариант раз уже делать то делать.
Предложения:
Сервисы которые постоянно нужны под рукой.
Например:
Валидатор, тыц и прочее.
Ну можно подумать.
А вообще надо сначала это до конца довести, ну потом думать об обновлении.
#16. Gemorroj Off (108)
Administrator
2011.06.26 19:07
валидатор в опере в менюшке всегда под рукой))
#17. TLENS Off (14)
Moderator
2011.06.26 19:07
А кстати помнишь еще дектора гугловского пробовал совместить с расширением.
Крутяк был. Но только ники чудно читала. А кстати мой правильно говорит не через Э как все знакомые а через Е
Добавлено спустя   1 минуту  1 секунду:
После переустановки винды нет того кода но в голове остался вариант.
#18. TLENS Off (14)
Moderator
2011.06.27 12:12
Идея сделать показ статусов кто онлайн кто офлайн.
То есть показ уведомлением на 3 сек. кто зашел на форум а кто перешел в оф.
Надо апи в informer добавь переменную с массивом кто онлайн.
#19. Gemorroj Off (108)
Administrator
2011.06.27 12:12
а на счет личных сообщений что скажешь?
#20. TLENS Off (14)
Moderator
2011.06.27 16:04
Ну мы с тобой говорили.
Если кука сработает тогда можно сделать.
А авторизацию делать не охота.
Сейчас кстати проверю возможность этой затеи.
Да и пользователей надо будет предупредить что бы не качали со сторонних источников, стоит в манифесте указать доступ к еще одному сайту и можно и сам думаю понимаешь получается троян.
#21. TLENS Off (14)
Moderator
2011.06.27 17:05
Корочь все работает куку отдает.
Делай вместе с постом.
private_status = 0/1;
Да и хватит
#22. TLENS Off (14)
Moderator
2011.06.27 19:07
Бета версия что на данный момент.
Вложения
dir.zip 98kb [загрузок: 741]
Отредактировано TLENS (2011.06.28 16:04)
#23. TLENS Off (14)
Moderator
2011.07.12 18:06
Надо исправить dblclick не удобно так как сразу попа начинает сворачивается и иногда второй раз не успеваю сделать клик.
Какие идеи?
Использовать ролик?
#24. TLENS Off (14)
Moderator
2011.07.16 04:04
Паша ну как там ты делаешь апи привата?
#25. Gemorroj Off (108)
Administrator
2011.07.18 15:03
да, сейчас займусь... сорь за мудозвонство, совсем что-то плохой стал)
#26. Gemorroj Off (108)
Administrator
2011.07.18 15:03
Есть проблемка с приватными сообщениями. у нас сверяется последнее сообщение по его ID. Но у приватных сообщений и постов на форуме свои идентификаторы, которые в теории могут пересекаться.
Нужно для приватных сообщений делать отдельно запросы на сервер, либо в ответе на наши стандартные запросы посылать отдельно информацию по приватным и отдельно по постам на форуме.
Предлагаю остановиться на 2 варианте.
Добавлено спустя   2 минуты  1 секунду:
Вобщем, нужно изменить API. От расширение должно передаваться 2 идентификатора - ID приватного сообщения и ID поста на форуме.
Ответ будет содержать 2 массива с данными по последнему приватному сообщению и данными по последнему посту на форуме.
Добавлено спустя   2 минуты  50 секунд:
Пока подожду что ты скажешь.)
#27. TLENS Off (14)
Moderator
2011.07.19 06:06
Слушай я понял но не могу сосредоточится чтобы обмозговать как все будет реализовано в расширении, и как я хотел тогда.
Я вчера ножки обмывал сейчас не соберу себя до кучи.
Кстати пока не забыл надо нотификатион открывать вместе с search в адресе и уже внутри регулировать location.search и взать какой id светить. А то когда например видео смотришь через флеш, то окна блокируются, и как только закрыл видео появляется куча уведомлений с последним сообщением.
#28. Gemorroj Off (108)
Administrator
2011.07.20 10:10
TLENS, так какой вариант делаем?
#29. TLENS Off (14)
Moderator
2011.07.20 12:12
В общем да делай еще наверное два правильных апи скриптами подстроимся под них.
Отредактировано TLENS (2011.07.20 12:12)
#30. Gemorroj Off (108)
Administrator
2011.07.22 16:04
Код:
<?php
} else if (isset($_GET['informer'])) {
    include PUN_ROOT 'include/informer/Informer.inc.php';
    header('Content-Type: application/json; charset=UTF-8');
 
    try {
        $obj = new Informer($db$pun_user$lang_common$pun_config);
 
        if (isset($_GET['getMessage']) && isset($_GET['getPrivatMessage'])) {
            echo json_encode(array('status' => true'forum' => $obj->getMessage($_GET['getMessage']), 'privat' => $obj->getPrivateMessage($_GET['getPrivatMessage'])));
        } else if (isset($_GET['getPrivatMessage'])) {
            echo json_encode(array('status' => true'privat' => $obj->getPrivateMessage($_GET['getPrivatMessage'])));
        } else if (isset($_GET['getMessage'])) {
            echo json_encode(array('status' => true'forum' => $obj->getMessage($_GET['getMessage'])));
        } else if (isset($_GET['getPrivatMessages'])) {
            echo json_encode(array('status' => true'privat' => $obj->getPrivateMessages($_GET['getPrivatMessages'])));
        } else if (isset($_GET['getConfig'])) {
            echo json_encode(array('status' => true'config' => $obj->getConfig()));
        } else {
            echo json_encode(array('status' => true'forum' => $obj->getForums()));
        }
    } catch (Exception $e) {
        echo json_encode(array('status' => false'forum' => $e->getMessage()));
    }
}
Код:
<?php
 
class Informer
{
    private $_db;
    private $_pun_user;
    private $_lang;
    private $_pun_config;
 
 
    /**
     * Constructor
     * 
     * @param resource $db
     * @param array $pun_user
     * @param array $lang
     * @param array $pun_config
     */
    public function __construct ($db$pun_user$lang$pun_config)
    {
        $this->_db $db;
        $this->_pun_user $pun_user;
        $this->_lang $lang;
        $this->_pun_config $pun_config;
    }
 
 
    /**
     * getConfig
     * 
     * @return array
     * @throws Exception
     */
    public function getConfig ()
    {
        return array(
            'timezone' => $this->_pun_user['timezone'],
            'username' => $this->_pun_user['username'],
            'is_guest' => $this->_pun_user['is_guest']
        );
    }
 
 
    /**
     * getForums
     * 
     * @return array
     * @throws Exception
     */
    public function getForums ()
    {
        if (!$this->_pun_user['g_read_board']) {
            throw new Exception ($this->_lang['No view']);
        }
 
        $r $this->_db->query('
            SELECT f.id AS fid, f.last_post, f.last_post_id, f.last_poster, t.subject
 
            FROM ' $this->_db->prefix 'categories AS c
            INNER JOIN ' $this->_db->prefix 'forums AS f ON c.id=f.cat_id
            LEFT JOIN ' $this->_db->prefix 'topics AS t ON f.last_post_id=t.last_post_id
            LEFT JOIN ' $this->_db->prefix 'forum_perms AS fp ON (
                fp.forum_id=f.id
                AND fp.group_id=' $this->_pun_user['g_id'] . '
                AND (fp.read_forum IS NULL OR fp.read_forum=1)
            )
 
            WHERE fp.read_forum IS NULL OR fp.read_forum=1
 
            ORDER BY NULL
        'false);
        if (!$r) {
            throw new Exception ($this->_db->error());
        }
        if (!$this->_db->num_rows($r)) {
            throw new Exception ($this->_lang['Bad request']);
        }
 
        $data = array();
        while ($forum $this->_db->fetch_assoc($r)) {
            $data[$forum['fid']] = array(
                'last_post_id' => $forum['last_post_id'],
                'subject' => $forum['subject'],
                'last_post_time' => $forum['last_post'],
                'last_poster' => $forum['last_poster']
            );
        }
        return $data;
    }
 
 
    /**
     * getMessage
     * 
     * @param int $id
     * @return array
     * @throws Exception
     */
    public function getMessage ($id)
    {
        if (!$this->_pun_user['g_read_board']) {
            throw new Exception ($this->_lang['No view']);
        }
        if (!$id || $id || !is_numeric($id)) {
            throw new Exception ($this->_lang['Bad request']);
        }
 
        $r $this->_db->query('
            SELECT p.poster, p.message, p.hide_smilies, p.posted
            FROM ' $this->_db->prefix 'posts AS p
            INNER JOIN ' $this->_db->prefix 'topics AS t ON t.id = p.topic_id
            LEFT JOIN ' $this->_db->prefix 'forum_perms AS fp ON (
                fp.forum_id = t.forum_id
                AND fp.group_id = ' $this->_pun_user['g_id'] . '
                AND (fp.read_forum IS NULL OR fp.read_forum = 1)
            )
            WHERE p.id = ' $id
        false);
 
        if (!$r) {
            throw new Exception ($this->_db->error());
        }
        if (!$this->_db->num_rows($r)) {
            throw new Exception ($this->_lang['Bad request']);
        }
 
        $data $this->_db->fetch_assoc($r);
 
        return array (
            'message' => $this->_parseMessage($data['message'], $data['hide_smilies']),
            'poster' => $data['poster'],
            'posted' => $data['posted']
        );
    }
 
 
    /**
     * getPrivateMessage
     * 
     * @param int $id
     * @return array
     * @throws Exception
     */
    public function getPrivateMessage ($id)
    {
        if ($this->_pun_user['is_guest'] || !$this->_pun_user['g_pm'] || !$this->_pun_user['messages_enable'] || !$this->_pun_config['o_pms_enabled']) {
            throw new Exception ($this->_lang['No view']);
        }
        if (!$id || $id || !is_numeric($id)) {
            throw new Exception ($this->_lang['Bad request']);
        }
 
        $r $this->_db->query('
            SELECT m.subject, m.message, m.smileys, m.posted, m.sender
            FROM ' $this->_db->prefix 'messages AS m
            WHERE m.owner = ' $this->_pun_user['id'] . '
            AND m.id = ' $id
        false);
 
        if (!$r) {
            throw new Exception ($this->_db->error());
        }
        if (!$this->_db->num_rows($r)) {
            throw new Exception ($this->_lang['Bad request']);
        }
 
        $data $this->_db->fetch_assoc($r);
 
        return array (
            'subject' => $data['subject'],
            'message' => $this->_parseMessage($data['message'], $data['smileys']),
            'poster' => $data['sender'],
            'posted' => $data['posted']
        );
    }
 
 
 
    /**
     * getPrivateMessages
     * 
     * @param int $limit
     * @return array
     * @throws Exception
     */
    public function getPrivateMessages ($limit)
    {
        if ($this->_pun_user['is_guest'] || !$this->_pun_user['g_pm'] || !$this->_pun_user['messages_enable'] || !$this->_pun_config['o_pms_enabled']) {
            throw new Exception ($this->_lang['No view']);
        }
        if (!$limit || $limit || !is_numeric($limit)) {
            throw new Exception ($this->_lang['Bad request']);
        }
 
        $r $this->_db->query('
            SELECT m.id, m.subject, m.message, m.smileys, m.posted, m.sender
            FROM ' $this->_db->prefix 'messages AS m
            WHERE m.owner = ' $this->_pun_user['id'] . '
            ORDER BY m.id DESC
            LIMIT ' $limit
        false);
 
        if (!$r) {
            throw new Exception ($this->_db->error());
        }
        if (!$this->_db->num_rows($r)) {
            return array();
        }
 
 
        $out = array();
        while ($data $this->_db->fetch_assoc($r)) {
            $out[$data['id']] = array (
                'subject' => $data['subject'],
                'message' => $this->_parseMessage($data['message'], $data['smileys']),
                'poster' => $data['sender'],
                'posted' => $data['posted']
            );
        }
        return $out;
    }
 
 
    /**
     * _parseMessage
     * 
     * @param string $message
     * @param bool $hide_smilies
     * @return string
     */
    private function _parseMessage ($message$hide_smilies false)
    {
        require_once __DIR__ '/../parser.php';
        return parse_message($message$hide_smilies);
    }
}
?>
из кода понятно что требуется?)
Отредактировано Gemorroj (2011.09.01 13:01)
#31. TLENS Off (14)
Moderator
2011.07.23 13:01
Ок.
#32. TLENS Off (14)
Moderator
2011.07.24 20:08
Паша а как на счет того чтобы скрипты положить на сервере?
И обновление будет сразу же отображатся
#33. Gemorroj Off (108)
Administrator
2011.07.24 20:08
??? какие скрипты? на каком сервере?
#34. TLENS Off (14)
Moderator
2011.07.24 20:08
Внутренние js сделать внешними
Добавлено спустя   1 минуту  14 секунд:
Чтобы расширение при запуске хрома подгружало с сервера.
#35. Gemorroj Off (108)
Administrator
2011.07.24 21:09
нет. расширение должно развиваться отдельно. все что связывает форум и расширение - это API и все.
#36. TLENS Off (14)
Moderator
2011.07.24 21:09
Понятно. Раз уже будем работать через куку тогда можно убрать два поля с настроек, это "ваш ник" и "Часовой пояс" как на это смотришь?
Отредактировано TLENS (2011.07.24 21:09)
#37. Gemorroj Off (108)
Administrator
2011.07.24 21:09
вперед. я вообще не совсем понимаю нафига эти настройки)
#38. TLENS Off (14)
Moderator
2011.07.24 21:09
Не ну настройка ника нужна была чтобы расширение не реагировало на свои посты.
Интервал обновления можно убрать и сделать стандарт например 1мин.
А вот что делать со звуком я ведь хотел еще сделать загрузку собственной мелодии на звук.
Да и настройку громкости глупо убирать.
Ты как думаешь?
#39. Gemorroj Off (108)
Administrator
2011.07.24 22:10
а вот интервал я бы оставил, так же как и громкость.
собственную мелодию оставь на потом имхо
#40. TLENS Off (14)
Moderator
2011.08.09 11:11
Паша нужно еще апи, если решили очистить лишнее с настроек.
Код:
config = array(2) {
["status_auth"] = true,
["set"] = array(2) {
["nick_name"] = "TLENS",
["time_zone"] = "+2"
}
}
На счет time_zone можно и выбросить просто отдавать не в +2 а в тайме с настроек.
Добавлено спустя   2 минуты  24 секунды:
Но лучше тиме зоне передавать по конфигу
Отредактировано TLENS (2011.08.09 11:11)
#41. Gemorroj Off (108)
Administrator
2011.08.09 11:11
а зачем в расширении ник?
#42. TLENS Off (14)
Moderator
2011.08.09 11:11
Я же говорю что бы расширение не реагировало на свои посты.
Как оно работает:
Оно проверяет новое сообщение если оно новое тогда проверяет автора этого сообщения если я например не автор тогда выдаю сообщение, а если же а сам автор тогда зачем уведомлять и он блокирует notification.html
Добавлено спустя   2 минуты  4 секунды:
Код:
if (arr.forum[i]['last_poster'] === setting.nick) { // Если автор юзер не мигаем иконкой возле форума
db[i]['icon'] = '';
}
#43. Gemorroj Off (108)
Administrator
2011.08.09 12:12
ясно.. т.е. у нас будет еще 1 запрос при запуске браузера. может тогда сразу не 2 параметра в конфиге отдавать, а еще чего-нибудь полезного?
#44. Gemorroj Off (108)
Administrator
2011.08.09 13:01
http://wapinet.ru/forum/ajax.server.php?informer&getConfig
названия, надеюсь, говорят сами за себя.
если is_guest = true, то проверять на ник не нужно.
Добавлено спустя   1 минуту  54 секунды:
у нас, в принципе, конфиг большой,
`id` int(10) unsigned NOT NULL auto_increment,
`group_id` int(10) unsigned NOT NULL default '4',
`username` varchar(200) NOT NULL default '',
`password` varchar(40) NOT NULL default '',
`email` varchar(50) NOT NULL default '',
`title` varchar(50) default NULL,
`realname` varchar(40) default NULL,
`url` varchar(100) default NULL,
`sex` enum('0','1') NOT NULL default '1',
`birthday` varchar(10) NOT NULL,
`jabber` varchar(75) default NULL,
`icq` varchar(12) default NULL,
`msn` varchar(50) default NULL,
`aim` varchar(30) default NULL,
`yahoo` varchar(30) default NULL,
`location` varchar(30) default NULL,
`use_avatar` tinyint(1) NOT NULL default '0',
`signature` text,
`disp_topics` tinyint(3) unsigned default NULL,
`disp_posts` tinyint(3) unsigned default NULL,
`email_setting` tinyint(1) NOT NULL default '1',
`save_pass` tinyint(1) NOT NULL default '1',
`notify_with_post` tinyint(1) NOT NULL default '0',
`show_smilies` tinyint(1) NOT NULL default '1',
`show_img` tinyint(1) NOT NULL default '1',
`show_img_sig` tinyint(1) NOT NULL default '1',
`show_avatars` tinyint(1) NOT NULL default '1',
`show_sig` tinyint(1) NOT NULL default '1',
`timezone` float NOT NULL default '0',
`language` varchar(25) NOT NULL default 'Russian',
`style` varchar(25) NOT NULL default 'VbStyle-Black',
`style_wap` varchar(25) NOT NULL default 'wap',
`num_posts` int(10) unsigned NOT NULL default '0',
`last_post` int(10) unsigned default NULL,
`registered` int(10) unsigned NOT NULL default '0',
`registration_ip` varchar(15) NOT NULL default '0.0.0.0',
`last_visit` int(10) unsigned NOT NULL default '0',
`admin_note` varchar(30) default NULL,
`activate_string` varchar(50) default NULL,
`activate_key` varchar(8) default NULL,
`num_files` int(10) NOT NULL default '0',
`file_bonus` int(10) NOT NULL default '0',
`show_bbpanel_qpost` tinyint(1) NOT NULL default '0',
`popup_enable` tinyint(4) default '1',
`messages_enable` tinyint(4) default '1',
`mark_after` int(10) NOT NULL default '1296000'
можно еще какой-нить инфы полезной брать.
#45. TLENS Off (14)
Moderator
2011.08.09 18:06
Если в будущем будем постоянно его расширять то понадобится многовато. например пол, аватар, реал. имя, язык.
Знаешь что еще можно сделать: Кто в онлайне.
И уведомления показывать кто зашел а кто вышел.
Добавлено спустя   9 минут  40 секунд:
Слушай мы немножко неправильно сделали.
Надо было делать проверку по количеству сообщений, и если больше тогда начинаем проверку подключатся к апи.
Я несколько не понимаю спецификацию json. Я слыхал что его можно получать с другого хоста. Это так?
#46. Gemorroj Off (108)
Administrator
2011.08.09 19:07
да. http://ru.wikipedia.org/wiki/JSON#JSONP_.26_JSONPP
#47. TLENS Off (14)
Moderator
2011.08.09 21:09
Слушай тогда нельзя нивкоем случае передавать приват через json.
Так как могут выложить на каком то сайте JS код который примет json привата с твоего сайта и передаст его себе на сервер.
Добавлено спустя   1 минуту  39 секунд:
Или я чего то не досмотрел?
#48. TLENS Off (14)
Moderator
2011.08.09 21:09
А не прочитал еще статью там про jsonpp/
В общем сейчас бежать надо. подойду почитаю.
А как там у нас все безопасно?
#49. Gemorroj Off (108)
Administrator
2011.08.09 21:09
забей) все ок
#50. TLENS Off (14)
Moderator
2011.08.23 19:07
Паша я не пойму как получать приват
http://wapinet.ru/forum/viewtopic.php?pid=18797#p18797
Отредактировано TLENS (2011.09.17 12:12)
#51. Gemorroj Off (108)
Administrator
2011.08.23 22:10
какой такой приват??
#52. TLENS Off (14)
Moderator
2011.08.23 23:11
Ну вообще в апи getPrivatMessage но он дает ошибку и как с ним работать я не понял где брать id для передачи тебе в апи.
Отредактировано TLENS (2011.08.23 23:11)
#53. Gemorroj Off (108)
Administrator
2011.08.23 23:11
ааа, на название темы не посмотрел)
чето я и сам уже не помню, а как ID в обычный getMessage получается?
#54. TLENS Off (14)
Moderator
2011.08.23 23:11
Gemorroj написал:
ааа, на название темы не посмотрел)
чето я и сам уже не помню, а как ID в обычный getMessage получается?
Ну ты мне вместе с инфой даешь id каждого поста https://code.google.com/p/wapinet-forum … ion.js#115
#55. Gemorroj Off (108)
Administrator
2011.08.23 23:11
мм, добавить метод getLastPrivatMessage(void); ?
#56. TLENS Off (14)
Moderator
2011.08.23 23:11
Сейчас я подумаю
#57. TLENS Off (14)
Moderator
2011.08.24 00:12
Если id привата растут, давай вместе с форумами id последнего привата.
потом если больше сохраненного я тебе даю пустой getPrivatMesage в ответ давай массив не прочитанных также как форумы.
В месте с информацией ЛС еще давай id что бы потом можно было в уведомлениях вызывать по одиночке.
В мыслях вроде все норм.
#58. Gemorroj Off (108)
Administrator
2011.08.24 00:12
название метода должно отличаться.
geAllPrivateMessages будет. завтра сделаю.
#59. TLENS Off (14)
Moderator
2011.08.24 00:12
Ок)
Добавлено спустя   4 минуты  13 секунд:
Слушай почему http://wapinet.ru/forum/ajax.server.php?informer&getPrivatMessage=(id взял с лс) status = false?
#60. Gemorroj Off (108)
Administrator
2011.08.25 12:12
была ошибка при передаче конфига в конструктор(
сделал метод getPrivateMessages(int $limit)
возвращает массив приватных сообщений для пользователя отсортированных по ID в обратном порядке.
limit - это какое кол-во сообщений нужно вернуть.
Добавлено спустя    44 секунды:
код тут http://wapinet.ru/forum/viewtopic.php?pid=18572#p18572
#61. TLENS Off (14)
Moderator
2011.08.25 12:12
О норм придумал. Через пару дней займусь.
#62. TLENS Off (14)
Moderator
2011.08.25 12:12
В ячейках 'poster' вставляй логин отправителя. Не знаю какая у тебя структура но вот получи api например getPrivatMessages=100 И везде будет в poster = Gemorroj переправь на логин с кем идет общение и добавь ячейку исходящее или входящее box = 0/1
Что бы можно было вести чат
#63. TLENS Off (14)
Moderator
2011.08.25 14:02
Я даже не правильно объяснился
TLENS написал:
ячейках 'poster' вставляй логин отправителя.
Вставляй по возможности с кем общаюсь.
Или передавай отправителя и получателя так будет проще
Отредактировано TLENS (2011.08.25 14:02)
#64. TLENS Off (14)
Moderator
2011.08.26 16:04
Ну так как, ты сделаешь?
#65. TLENS Off (14)
Moderator
2011.08.29 23:11
Слушай а как ты несколько изменений вставляешь в один комментарий в svn
#66. Gemorroj Off (108)
Administrator
2011.09.01 11:11
да, сори, проблемки в голове, кодить не могу..)
не понял про svn. наговнокодил, закомитил, наговнокодил, закомитил... больше ниче не делаю)
#67. Gemorroj Off (108)
Administrator
2011.09.01 13:01
исправил ники.
насчет входящих-исходящих не уверен. зачем нам история исходящих на клиенте? как ты хочешь их отображать?
#68. TLENS Off (14)
Moderator
2011.09.02 18:06
А я просто так понял что ты передавал все сообщения входящие и исходящие
#69. Gemorroj Off (108)
Administrator
2011.09.02 18:06
нет, только входящие.
#70. Gemorroj Off (108)
Administrator
2011.09.02 19:07
нужно вынести адрес форума в переменную... т.е. http://wapinet.ru/forum/
#71. TLENS Off (14)
Moderator
2011.09.02 19:07
Не понял. Ты на счет чего?
Добавлено спустя   2 минуты  46 секунд:
В смысле для каких целей?
#72. Gemorroj Off (108)
Administrator
2011.09.02 20:08
не нужно затачивать расширение под wapinet. код форума открыт в принципе (ну я не сразу выкладываю код, но выкладываю) так что желательно чтобы в итоге расширением могли пользоваться все, кто поставит себе форум PunBB Mod Gemorroj
#73. TLENS Off (14)
Moderator
2011.09.02 21:09
Аа
#74. Gemorroj Off (108)
Administrator
2011.09.17 00:12
блин, в опере сейчас нет доступа к Notifications API
у виджетов есть доступ, а у расширений нет. печаль.
#75. TLENS Off (14)
Moderator
2011.09.17 00:12
Проверь частые window.open('notification.html','Уведомление','width=300,height=400'); Блокирует?
Просто хром не блокирует можно хоть тысячу создать с расширения
Добавлено спустя   8 минут  3 секунды:
Кстати смотри что еще придумал
Вложения
Безымянный.jpg 22kb {319x236} [загрузок: 1105]
Отредактировано TLENS (2011.09.17 00:12)
#76. Gemorroj Off (108)
Administrator
2011.09.17 00:12
круто придумал) жду код в свн wink
ай, когда запилят поддержу в расширениях, тогда и буду смотреть
#77. TLENS Off (14)
Moderator
2011.09.17 00:12
Паш я вот не знаю что делать с форумом. ЯНе правильно мы все таки получаем.
Раз уже работаем с авторизацией то надо сделать так как на http://wapinet.ru/forum/search.php?action=show_new
Как ты думаешь?
#78. Gemorroj Off (108)
Administrator
2011.09.17 00:12
а сейчас разве не так?
#79. TLENS Off (14)
Moderator
2011.09.17 00:12
Gemorroj написал:
ай, когда запилят поддержу в расширениях, тогда и буду смотреть
И правильно давай для хрома закончим а потом уже будем подгонять по возможностям для других браузеров.
Gemorroj написал:
а сейчас разве не так?
Сейчас прослеживается только 5 сообщений, по одному для каждого подфорума.
Я думал сделать место мигающей new количество новых. А хотя это только что чет в голову стрельнуло. Просто мне не нравится функция connect стыдно смотреть.
Добавлено спустя   1 минуту  36 секунд:
Но в принципе это обдумать надо пока месть наверное оставим эту затею. Я понаблюдаю на минусы сообщу
#80. TLENS Off (14)
Moderator
2011.09.17 01:01
Кстати давно уже жду апи онлайнера! ты сделаешь?
Показывает список авторизованых.
Будет выпадать уведомление кто зашел а кто вышел
#81. Gemorroj Off (108)
Administrator
2011.09.17 09:09
в смысле онлайнера? onliner.by чтоли?)
#82. TLENS Off (14)
Moderator
2011.09.17 12:12
)) Ну в смысле апи передающее пользователей которые в онлайне.
#83. Gemorroj Off (108)
Administrator
2011.09.17 14:02
по-моему это уже свистелки-переделки. давай на потом это оставим
#84. Gemorroj Off (108)
Administrator
2011.11.06 18:06
TLENS, чего с расширением там?)
#85. TLENS Off (14)
Moderator
2011.11.07 04:04
Сейчас в ассемблер и Си загруз.
Короче и на свой сайт забил. Не переделываю.
От ассемблера голова уже кипит, вот еще Си надоесть тогда возьму расширение по ковыряю.
#86. Gemorroj Off (108)
Administrator
2011.11.07 10:10
прост у тебя же уже на крине была отправка сообщений из всплывающих окон.
#87. TLENS Off (14)
Moderator
2011.11.07 15:03
Gemorroj написал:
прост у тебя же уже на крине была отправка сообщений из всплывающих окон.
Да его даработать надо правда там наверное на 5 мин. Через часик где то возьмусь.
#88. Gemorroj Off (108)
Administrator
2011.11.13 20:08
(
#89. TLENS Off (14)
Moderator
2011.11.13 20:08
Блин Паша извини забегался. Все запускаю десигнер
#90. TLENS Off (14)
Moderator
2011.11.13 20:08
может через апи сделаем, дабы ответ было проще получить?
#91. Gemorroj Off (108)
Administrator
2011.11.13 21:09
что именно через апи?
#92. TLENS Off (14)
Moderator
2011.11.13 21:09
Голова чет не варит, отошел немного от JS Уже начинаю голову чесать.
На счет апи. В общем я тебе даю пост ты принимаешь и даешь статус и ответ (Все отлично, Авторизуйтесь, темы нет ну и тому подобное.
#93. Gemorroj Off (108)
Administrator
2011.11.13 21:09
ок. сейчас попробую по быстрому сделать.
#94. TLENS Off (14)
Moderator
2011.11.13 23:11
??? Это новый метод?
Добавлено спустя    45 секунд:
Или что это было?
Добавлено спустя   2 минуты  12 секунд:
Я решил не затрагивать notification.js а подключить новый скрипт как тебе такой поход?
#95. Gemorroj Off (108)
Administrator
2011.11.13 23:11
тестирую.
вобщем код смотри в свн (последний коммит).
нужно передать setMessage = текст сообщения и setMessageThemeId = id темы в которую пуляем сообщение.
есть проблема с тем, что данные через GET передаются.
и вообще нужно будет переделать API в плане того, что выделить отдельную переменную под имя используемого метода.
т.е. что-то типа method=setMessage
#96. TLENS Off (14)
Moderator
2011.11.13 23:11
Просто я мало информирован о JS и весь мой опыт это расширение для форума wapinet.ru
#97. Gemorroj Off (108)
Administrator
2011.11.13 23:11
не понял на счет notification.js
#98. TLENS Off (14)
Moderator
2011.11.13 23:11
Ну я решил создать файл sender.js и в нем содержимое
Код:
var sender;
function Sender()
{
// и здесь все что относится к отправке ответов
}
 
$(document).ready(function () {
sender = new Sender();
});
И подключать в notification.html

если что потом можно будет просто конструктор перенести и все.
Ведь я уже запутался что к чему и где ты редачил где я.
#99. TLENS Off (14)
Moderator
2011.11.13 23:11
Gemorroj написал:
есть проблема с тем, что данные через GET передаются.
А что с постом?
Gemorroj написал:
и вообще нужно будет переделать API в плане того, что выделить отдельную переменную под имя используемого метода.
И расширение надо переделывать. Идей много по оптимизации и упрощении кода. Но реализовать ...

Да кстати я 10 мин. Искал твой коммит чета не нашел. Потом дошло что не авторизован (все равно не нашел)
#100. Gemorroj Off (108)
Administrator
2011.11.13 23:11
большие данные из сообщений просто лучше передавать постом.
делай файл sender.js и начинай его так
Код:
var Sender = function () {
method: function () {
alert(1);
},
 
_privateMethod: function () {
alert(2);
}
};
весь код должен быть внутри этой переменной Sender раскиданный по методам и переменным.
причем переменные  и методы которые не должны быть использованы вне этого класса начинай с _
#101. TLENS Off (14)
Moderator
2011.11.13 23:11
Все понял
#102. TLENS Off (14)
Moderator
2011.11.14 02:02
вот набросал начало
Код:
var Sender = {
//------------public_var---------//
//------------public_method------//
init: function () {
if (this.is_active) {
this._lincMessage = $('div#sender textarea#message');
this._event();
}
else {
// Для гостей
}
},
paste: function (user) { // вставка тега при нажатии на ник
this.textArea += "[b]" + user + "[/b], ";
},
get textArea () { // извлечение с текстового поля
return this._lincMessage.val();
},
set textArea (v) { // запись в текстовое поле
this._lincMessage.val(v);
},
get is_active () { // Проверка на авторизацию, не надежно но во многих случаях укажет (Каждый раз просить в сайта это жирно)
if (!localStorage['nick']) // надо в будущем добавить в память localStorage['auth'] и регулировать при запуске в background.js
return false;
else return true;
},
//---------private_method----------//
_event: function () {
$("a#user").click(function () {
Sender.paste($("a#user").text());
});
$("#send").click(function () {
//Sender.Send();
});
},
//---------private_var------------//
_lincMessage: "",
//-------end------//
m: 1
};
 
$(document).ready(function () {
Sender.init();
});
 
 
<body>
<div id="subject"><img src="ajax-loader-on.gif" alt="" /> Загружаю</div><div id="timer">300</div><br />
<div><b></b><a href="#message" id="user"></a></b> - <span id="time"></span></div>
<div id="postmsg"></div>
<div id="sender">
<button id="send">Быстрый ответ</button>
<textarea id="message" rows="2" tabindex="1"></textarea>
</div>
</body>
немного почитать пришлось
#103. Gemorroj Off (108)
Administrator
2011.11.14 11:11
ну, продолжай) только не _lincMessage, а _linkMessage
Добавлено спустя   1 минуту  15 секунд:
и с синтаксисом что-то в get textArea, set textArea, get is_active
is_active лучше переименуй в isActive
#104. TLENS Off (14)
Moderator
2011.11.14 14:02
Gemorroj написал:
ну, продолжай) только не _lincMessage, а _linkMessage
А ну да linck
Gemorroj написал:
и с синтаксисом что-то в get textArea, set textArea, get is_active
ну это я взял с низкоуровневого языка удобная штука, но десигнер об этом не научен. Правда в JS изуродована хорошо. Сам синтаксис getter-ов и setter-ов раздуплял вчера они так называются.
Gemorroj написал:
is_active лучше переименуй в isActive
Попутал языки, в JS так же принято.
#105. Gemorroj Off (108)
Administrator
2011.11.14 15:03
TLENS написал:
А ну да linck
link
TLENS написал:
ну это я взял с низкоуровневого языка удобная штука, но десигнер об этом не научен. Правда в JS изуродована хорошо. Сам синтаксис getter-ов и setter-ов раздуплял вчера они так называются.
да, посмотрел в WebStorm, синтаксически верно. Будет клево если кинешь ссылку на доки.
#106. TLENS Off (14)
Moderator
2011.11.14 15:03
Gemorroj написал:
link
Опять промах))
Gemorroj написал:
Будет клево если кинешь ссылку на доки.
Ну я сам по блогам собирал. Вообще мне они извесны как аксессоры и мутаторы ну в js все просто seter and getter))
http://habrahabr.ru/blogs/crazydev/126804/
http://ejohn.org/blog/javascript-getters-and-setters/
#107. TLENS Off (14)
Moderator
2011.11.14 15:03
только что почитал про аксессоры и мутаторы это не то.
Я просто помню слушал одного учителя по Cи то там упоминалось про  аксессоры. Сейчас толком почитать не получается. В автобусе еду трясет очень.
#108. TLENS Off (14)
Moderator
2011.11.14 21:09
Кстати на счет апи: раз уж собрался переделывать под методы. Надо будет исправить один метод он мне с самого начала не нравится. Это получение новых сообщений на форуме, т.е. работать с не прочитаными как здесь http://wapinet.ru/forum/search.php?action=show_new
Да я еще интегрирую один js код в твой сайт для общения с расширением через порт. Тестировал все получалось.
#109. TLENS Off (14)
Moderator
2011.11.19 16:04
Паша чуть погоди у меня проблема с сайтом. Надо срочно скрипт писать. Кстати у тебя есть знакомые хорошие программисты на Cи?
Вчера в гугле просидел, и сегодня с час лазил не могу найти норм программиста!
У меня там проэкт в 500 строк надо просто устранить утечку.
#110. Gemorroj Off (108)
Administrator
2011.11.19 19:07
на форумах поспрашивай, думаю быстрее будет
#111. TLENS Off (14)
Moderator
2011.11.20 17:05
Что тестишь?
#112. TLENS Off (14)
Moderator
2011.11.20 17:05
Решил антиспам заделать?
#113. Gemorroj Off (108)
Administrator
2011.11.20 18:06
да, правлю баги о которых LEXIN писал. В SVN результаты)
#114. TLENS Off (14)
Moderator
2011.11.20 18:06
Gemorroj написал:
вобщем код смотри в свн (последний коммит).
Дошло мне где ты писал.
Ты писал в punbb-mod а я искал в wapinet-forum
Просто на punbb-mod ни разу не заходил.
#115. Gemorroj Off (108)
Administrator
2011.11.20 18:06
ну, мне кажется логично разделить браузерное расширение и сам форум на 2 разных проекта.
Ну понятное дело. Надо бы и расширение в конце переименовать на punbbMod-extension.
А как там в планах на будущее опера что то планирует?
Просто надо будет альтернативу искать!
#116. TLENS Off (14)
Moderator
2011.11.20 22:10
Что это за прикол ведь предыдущее сообщение я писал.
Баг или случайно удалил?
#117. Gemorroj Off (108)
Administrator
2011.11.20 22:10
не понял..)
#118. TLENS Off (14)
Moderator
2011.11.20 22:10
Браузерное расширение для форума этот пост я писал
#119. Gemorroj Off (108)
Administrator
2011.11.20 23:11
ах) фак) чудеса)
я не знаю как так могло получиться)
Добавлено спустя   1 минуту  3 секунды:
Gemorroj, а так да, опера планирует) жду когда будет Notifications API.
#120. TLENS Off (14)
Moderator
2011.11.20 23:11
Gemorroj написал:
ах) фак) чудеса)
я не знаю как так могло получиться)
А я смотрю чет похожее думаю мож я не отправил, уже даж начал думать что ты тип меня опередил. Потом причитался чет не то))
#121. Gemorroj Off (108)
Administrator
2011.12.03 13:01
все по прежнему..?)
#122. TLENS Off (14)
Moderator
2011.12.03 13:01
С сайтом решил проблему но такой впадляк. Сегодня на природу еду за город. Мозги прочищу с топором в руках.
#123. POFIGISST Off (6)
Участник
2011.12.03 16:04
TLENS написал:
Сегодня на природу еду за город.
приятно провести времяroll
#124. TLENS Off (14)
Moderator
2011.12.04 12:12
POFIGISST написал:
TLENS написал:
Сегодня на природу еду за город.
приятно провести времяroll
Я не гулять, сегодня поминки в отца два года. Как только так и сразу беру машину и валю от сюда. Не нравится мне холодная природа.
#125. POFIGISST Off (6)
Участник
2011.12.04 12:12
TLENS
соррь,я не зналsad
#126. TLENS Off (14)
Moderator
2011.12.06 01:01
В getMessage нужно добавить ThemeId. А то скрипт не понимает куда слать.
#127. TLENS Off (14)
Moderator
2011.12.06 08:08
Немного дизайн подправил на уведомлениях.


Добавлено спустя   4 минуты  10 секунд:
Вложения
404.jpg 14kb {305x101} [загрузок: 1094]
scrin.jpg 36kb {309x335} [загрузок: 1088]
scrin.jpg 16kb {309x198} [загрузок: 1062]
#128. Gemorroj Off (108)
Administrator
2011.12.06 11:11
сделал. смотри SVN punbb-mod. так же в setMessage setMessageThemeId переименована в setMessageTopicId
#129. TLENS Off (14)
Moderator
2011.12.07 04:04
} else if (isset($_GET['setMessage']) && isset($_GET['setMessageThemeId'])) {
Исправь
#130. TLENS Off (14)
Moderator
2011.12.07 05:05
Смотри.
Пока добавил в адрес setMessageThemeId=1
Напиши погрешности мои. Я спал на ходу уверен их там очень много.
ps. Как крепить к одному коментарию несколько изменений? Как ты делаешь что изменил два файла прокоментировал раз?
#131. Gemorroj Off (108)
Administrator
2011.12.07 11:11
комить не файл, а всю папку.
ок, расширение посмотрю.
спс за замечание в сервисе - исправил )
#132. TLENS Off (14)
Moderator
2011.12.07 14:02
Как то у меня глючит он.
атрибуты title не показывает cursor не меняет, теряет фокус. Не знаю даже чего делать с этим уведомлением.
#133. TLENS Off (14)
Moderator
2011.12.10 21:09
Паша ну че ты смотрел? я видел пару недостатков таких как нет сдвига курсора в конец текста при нажатии на ник, Я просто хз как оно делается. так же надо остановить счетчик (закрытия) при ответе.
Что там еще надо?
#134. Gemorroj Off (108)
Administrator
2011.12.11 00:12
да я смотрел, я может не совсем чего понимаю, но там часть функциолнала не работает. клик по тебе сообщения, например, или кнопка ответить не совсем понятно как работает - она же и textarea показывает, она же и сообщение отправляет. еще че-то было, завтра постараюсь заняться. сегодня другое делал.
#135. TLENS Off (14)
Moderator
2011.12.11 00:12
Хм.
Вложения
x_3fa7fc4f.jpg 44kb {400x400} [загрузок: 1106]
#136. Gemorroj Off (108)
Administrator
2011.12.11 00:12
ну как минимум я в хроме без кукисов фоумных.
#137. TLENS Off (14)
Moderator
2011.12.11 00:12
Вот наверное и вся проблема.
Я как то не подумал на счет этого
#138. TLENS Off (14)
Moderator
2011.12.11 00:12
Когда будешь свободен? надо переделать полностью апи. Как ты говорил методами. Мне многое не нравится
#139. Gemorroj Off (108)
Administrator
2011.12.11 00:12
пиши что не нравится
#140. TLENS Off (14)
Moderator
2011.12.11 01:01
Получение форумов как здесь http://wapinet.ru/forum/search.php?action=show_new
1) метод не принимает аргументов возвращает int количество новых.
2) метод принимает int n возвращает массив n не прочитанных  array[2] {"status": true, "pid": array[n] {все то же что на getMessage}} сообщений.
#141. Gemorroj Off (108)
Administrator
2011.12.11 01:01
т.е. новый метод на непрочитанные темы нужен?
#142. TLENS Off (14)
Moderator
2011.12.11 01:01
PS/ второй метод должен работать как LIMIT в mysql например с 10, 10
Добавлено спустя   1 минуту  25 секунд:
Кстати пока месть я прохожу курсы машинописи и мне запрещается что то писать пока не закончу. Так что прийдется пару недель подождать.
#143. Gemorroj Off (108)
Administrator
2011.12.11 01:01
какой второй метод?
#144. TLENS Off (14)
Moderator
2011.12.11 01:01
Браузерное расширение для форума
#145. Gemorroj Off (108)
Administrator
2011.12.11 01:01
ээ, а смысл в такой разбивке? почему бы не отдать все?
#146. TLENS Off (14)
Moderator
2011.12.11 01:01
Ну приставь на форуме посещалка пару кусков. Я где то отдыхаю. Тут приехал домой и включил браузер.
А также я допусти забил на все отключил разширение а потом через пару месацев решил зайти. и тут мне перегрузка.
#147. Gemorroj Off (108)
Administrator
2011.12.11 01:01
брать 10 последних, например. и все.
#148. TLENS Off (14)
Moderator
2011.12.11 01:01
Ну можно и так.
#149. Gemorroj Off (108)
Administrator
2011.12.11 15:03
Меня очень напрягают функции  connect и сопутствующие getForum и saveForum.
connect нужно переписывать.
#150. TLENS Off (14)
Moderator
2011.12.11 15:03
Да не только тебя.
Просто когда писал функции, не имел понятия об ооп. Да и сейчас не очень. У меня практики по js нет вообще. Да и знаний мало - гуглом пишу.
#151. Gemorroj Off (108)
Administrator
2011.12.11 16:04
код закомитил в свн по новому API.
не работает окрытие новых окон из вспывающих оповещений. хз в чем дело.
еще некорректно откывает ссылки, если путь относительный.
#152. TLENS Off (14)
Moderator
2011.12.12 01:01
Gemorroj написал:
еще некорректно откывает ссылки, если путь относительный.
В опере переходи в расширения пока показывается уведомление, далее нажимаешь на notifikation.html и вкладка консоль. кликнешь по ссылке и оно тебе покажет ошибку если такова есть.
#153. Gemor
Гость
2011.12.12 01:01
нет ошибок. такое ощущение что сам клик не перехватывается.
#154. TLENS Off (14)
Moderator
2011.12.12 16:04
Именно по тексту может надо?
#155. TLENS Off (14)
Moderator
2011.12.12 16:04
оно все глючное я думаю, надо переделать
#156. Gemorroj Off (108)
Administrator
2011.12.12 19:07
ну можно отрефакторить. все переделывать-то заманаешься)
#157. IMPEXINVINE Off (0)
Участник
2012.03.03 13:01
Я это описал в теме "Страницы для новестей" этого раздела.
Я когда писал свою СMS и форум к ней легко справился с этой задачей. эсли найду этот форум то могу выложить. Могу помочь с написаним, если нужно обращайтесь
#158. Gemorroj Off (108)
Administrator
2012.03.03 14:02
IMPEXINVINE, помогай)
#159. Gemorroj Off (108)
Administrator
2012.03.03 21:09
TLENS? ниче нового не накодил..?)
#160. TLENS Off (14)
Moderator
2012.03.04 19:07
Сегодня доделаю вот только не пойму почему апи возвращает пустую страницу.
Посмотри
Добавлено спустя   5 минут  24 секунды:
Напиши мне в аську
#161. Gemorroj Off (108)
Administrator
2012.03.04 19:07
у меня сломалась аська и не работает)
а какой конерктно метод в апи проблемный?
вызвал getConfig все ок
#162. TLENS Off (14)
Moderator
2012.03.04 20:08
Странно так как я его вызывал у меня пусто
Сек посмотрю внимательно
Добавлено спустя   2 минуты  36 секунд:
Дай адрес (Пример) как звонишь?
#163. Gemorroj Off (108)
Administrator
2012.03.04 20:08
https://code.google.com/p/wapinet-forum/source/browse/trunk/chrome/background.js#7
перешел по адресу http://wapinet.ru/forum/ajax.server.php?informer&method=getConfig
получил конфиг
#164. TLENS Off (14)
Moderator
2012.03.04 20:08
Ай блин ты же через методы все зделал
Добавлено спустя   1 минуту  58 секунд:
А что тогда с этим делать? https://code.google.com/p/punbb-mod/sou … mp;r=14#51
А я долбу параметр GET['getConfig']
#165. Gemorroj Off (108)
Administrator
2012.03.04 20:08
https://code.google.com/p/punbb-mod/sou … ver.php#51
теперь 51 строчка выглядит так.
Добавлено спустя    31 секунду:
ты свн обновлял вообще? я же подогнал расширение под новый апи
#166. TLENS Off (14)
Moderator
2012.03.04 23:11
А нет
Добавлено спустя    37 секунд:
Я решил его отрефакторить
#167. IMPEXINVINE Off (0)
Участник
2012.03.05 20:08
Я это описал в теме "Страницы для новестей" этого раздела.
Я когда писал свою СMS и форум к ней легко справился с этой задачей. эсли найду этот форум то могу выложить. Могу помочь с написаним, если нужно обращайтесь
#168. Gemorroj Off (108)
Administrator
2012.03.05 21:09
IMPEXINVINE, выкладывай, помогай.
#169. tipsun Off (19)
Moderator
2012.03.05 21:09
IMPEXINVINE == БОТ
Отредактировано tipsun (2012.03.05 21:09)
#170. TLENS Off (14)
Moderator
2012.03.06 02:02
Блин сегодня ничего не сделал пару методов отрефачил за 15 мин
Добавлено спустя   3 минуты  19 секунд:
Проблемы были в голове))
#171. IMPEXINVINE Off (0)
Участник
2012.03.26 12:12
не ну согласен. но скрипты ведь еще и не идеал. их нужно дорабатыва. я ведь не выкладывал полые сценарии. эти скрипты еще дописывать и дописывать. но для начала вполне хватит, даже больше чем надо. Ну надоже подтолкнуть, помочь человеку  или вы не согласны?

Половину могу убрать
#172. TLENS Off (14)
Moderator
2012.03.27 12:12
Время мало сейчас заннялся делом и за своим сайтром не успеваю следить. На этих выходных попробую закончить релиз.
Что я испривил:
Сделал один главный файл background.html и с ним настроил все порты. Тоесть чтобы подключится к апи с popup надо позвонить в бекгроунд потом с бакгроунда при ответе звоню назад в popup и отправляю результаты. Собственно данные все тоже лежат в бекгроунде и получаются с через порт.
Вот пару методов для в вода в курс блин десигнер 8 истек. Щас лиценцзию возьму
#173. TLENS Off (14)
Moderator
2012.03.27 12:12
Усовершенствована база форумов.
Код:
forums = {
get array () {
var arr = {3:{},4:{},5:{},6:{},7:{}};
for (var i = 3; i <= 7; i++) {
arr[i].last_post_time = this[i].last_post_time;
arr[i].last_post_id = this[i].last_post_id;
arr[i].last_poster = this[i].last_poster;
arr[i].subject = this[i].subject;
arr[i].icon = this[i].icon;
}
return arr;
}
};
for (var i = 3; i <= 7; i++) {
forums[i] = prototype = {
i: i,
get last_post_time () {
return localStorage['forum[' + this.i + '][last_post_time]'] ?
parseInt(localStorage['forum[' + this.i + '][last_post_time]']) :
0;
},
set last_post_time (v) {
localStorage['forum[' + this.i + '][last_post_time]'] = v;
},
get last_post_id () {
return localStorage['forum[' + this.i + '][last_post_id]'] ?
parseInt(localStorage['forum[' + this.i + '][last_post_id]']) :
0;
},
set last_post_id (v) {
localStorage['forum[' + this.i + '][last_post_id]'] = v;
},
get last_poster () {
return localStorage['forum[' + this.i + '][last_poster]'];
},
set last_poster (v) {
localStorage['forum[' + this.i + '][last_poster]'] = v;
},
get subject () {
return localStorage['forum[' + this.i + '][subject]'];
},
set subject (v) {
localStorage['forum[' + this.i + '][subject]'] = v;
},
get icon () {
return (localStorage['forum[' + this.i + '][icon]']) ? true : false;
},
set icon (v) {
localStorage['forum[' + this.i + '][icon]'] = v;
}
}
}
Метод для упрощение работы с апи
Код:
var api = {
call: function (method, value, callback, error) {
var variable = '';
if (typeof value === 'object') {
for (v in value) {
variable += '' + v + '=' + value[v] + '&';
}
}
switch (method) {
case 'getMessage':
case 'getPrivateMessage':
case 'getPrivateMessages':
case 'getConfig':
case 'setMessage':
case 'getForums':
return $.getJSON('http://' + configs.host + '' + configs.patch_api + 'method=' + method + '&' + variable)
.success(callback)
.error(error);
break;
default:
return null;
}
}
};
Ну и собственно пример работы с портами
Код:
ports = {
popup: null,
notification: null,
contentscript: null
};
 
 
 
 
 
chrome.extension.onConnect.addListener(function(port) {
if (port.sender.id === window.location.hostname) {
if (port.name === 'popup')
ports.popup = port;
else if (port.name === 'notification')
ports.notification = port;
else if (port.name === 'contentscript')
ports.contentscript = port;
else return;
port.onMessage.addListener(function (msg) {
// Проверка на соединение портов. Чет умнее не придумал.
if (typeof msg.connected !== 'undefined')
port.postMessage({connected: true});
// Получение и изминение настроек см. method.settingInPort
else if (typeof msg.setting !== 'undefined')
port.postMessage({setting: method.settingInPort(msg.setting)});
// Получение данных. А также их изменение (например отмерка как прочитаное)
else if (typeof msg.forum !== 'undefined')
port.postMessage({forum: method.forumInPort(msg.forum)});
// Прямой доступ к апи.
else if (typeof msg.api !== 'undefined')
api.call(msg.method, msg.value, function (data) {
if (data.status === true)
port.postMessage({api: true, data: data.data});
else
port.postMessage({api: true, error: data.data});
},
function (data) {
port.postMessage({api: true, error: data});
});
else if (typeof msg.reload !== 'undefined')
api.call('getForums', null, method.updateData);
});
// Событие на разрыв соединения.
port.onDisconnect.addListener(function () {
ports[port.name] = null;
});
}
});
 
 
 
 
api.call('getConfig', null, settings.update);
method.startUpdateData();
#174. Gemorroj Off (108)
Administrator
2012.03.27 14:02
так комить в свн
Страниц: 116 17 18 Все
Главная
WEB
PunBB Mod v0.6.2
0.102 s