Gemorroj » 2011.04.10 09:32

Скегодня, 10 апреля 2011. Попробуем переехать на новые сервер.
По предварительным прикидкам, работать должно в 2 раза быстрей. (тестировалось на govnowap.ru).
Но, все данные будут немного устаревшими (на несколько часов), так что если что-то пропадет на форуме, не волнуйтесь)

Gemorroj » 2011.04.11 18:22

Gemor Roj      


    Написан: 10 Apr 2011 12:52 PM
Здравствуйте.
У домена wapinet.ru нужно сменить NS сервера на
ns1.nwsys.ru
ns2.nwsys.ru

Спасибо.


admin      


    Написан: 10 Apr 2011 2:35 PM
Здравствуйте!

Изменили.


Gemor Roj      


    Написан: 11 Apr 2011 1:08 PM
NS до сих пор нигде не сменились, можете проверить, действительно ли Вы их изменили?


admin      


    Написан: 11 Apr 2011 2:54 PM
Здравствуйте!

Уважаемый goldhost!

Попытка изменения DNS-серверов для домена wapinet.ru
прошла неудачно.
Проверьте ещё раз правильность указания DNS-серверов для
этого домена.

Ошибка:

Список DNS-серверов для домена wapinet.ru, полученных с DNS-сервера
ns1.nwsys.ru (ns1.nwsys.ru.wapinet.ru, ns2.nwsys.ru.wapinet.ru) отличается от списка DNS-серверов,
указанных Вами на этой странице (ns1.nwsys.ru, ns2.nwsys.ru).

Пока Вы можете оставить список DNS-серверов пустым.
После того, как зона будет ПРАВИЛЬНО настроена на всех указанных Вами серверах -
Вы сможете вернуться в настройки домена и указать DNS-сервера.


Gemor Roj      


    Написан: 11 Apr 2011 3:08 PM
Не совсем понял что означает этот ответ.
Для примера, на reg.ru вручную были изменены NS сервера для домена govnowap.ru на те же ns1.nwsys.ru и ns2.nwsys.ru DNS записи отлично изменились.
Хотя лукап показывает примерно тоже самое что и на wapinet.ru

Got answer:
->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17447
flags: qr aa rd QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0

QUESTION SECTION:
govnowap.ru. IN A

ANSWER SECTION:
govnowap.ru. 3600 IN A 188.120.239.232

AUTHORITY SECTION:
govnowap.ru. 3600 IN NS ns2.nwsys.ru.govnowap.ru.
govnowap.ru. 3600 IN NS ns1.nwsys.ru.govnowap.ru.

Query time: 168 msec
SERVER: 188.120.239.232#53(188.120.239.232)
WHEN: Mon Apr 11 07:03:17 2011
MSG SIZE rcvd: 90

Прикреплённые файлы
Захват-1.jpg (154.48 KB)


Gemor Roj      


    Написан: 11 Apr 2011 6:02 PM
Вы можете что-нибудь ответить?
Иначе просто придется переносить домен к другому регистратору.

Fuelen » 2011.04.11 19:27

О_о
Добавлено спустя    5 секунд:
О_о

Gemorroj » 2011.04.11 20:56

да пидорасы... переезд сорвали.

Gemorroj » 2011.04.11 21:07

сраные реселлеры..

Ну в ошибке же чётко написано, что в днс прописаны
ns1.nwsys.ru.wapinet.ru
ns2.nwsys.ru.wapinet.ru

а вы указали совешенно другие, вот система и не меняет.

переношу домен на reg.ru

TLENS » 2011.04.12 00:00

Мда переезд это худшего нет сам ездил раза 10 пока нормальный VDS не нашел.
А сейчас обратно хочу переехать только уже на выделенный
Особенно с этими парковками

Gemorroj » 2011.04.12 00:08

переезжает только домен внепланово...) сервер же по плану.. у того же провайдера, просто на более серьезные мощности.

TLENS » 2011.04.12 00:35

Слушай не ты не планируешь что то поновенькое с форумом ну там щас уже такие крутые сайты те самые клиенты, или это на сео повлияет?
Добавлено спустя   5 минут  21 секунду:
Да кстати делаешь себе днс 8.8.8.8  на компе и сайт уже доступен через 10-30 мин. Но правда для тестов.
Так как не у всех нсы гугловские у меня например провайдер меняет через 10-30 часов. после полного прохода по http://host-tracker.com

Гы а у меня есть возможность самому регить нсы

Gemorroj » 2011.04.12 00:45

ничерта не понял ни по 1 пункту, ни по 2.
что конкретно не хватает на форуме? свистелок?
никаких 10-30 мин, NS записи должны обновиться на ВСЕХ серверах, а это совсем не 10-30 мин.

TLENS » 2011.04.12 00:48

Я имел ввиду только за гугловский днс если поставить себе.
Сайта еще нет на http://host-tracker.com а я уже захожу на него
А воще полное обновление длится 72 часа
Добавлено спустя   4 минуты  56 секунд:
А что с сайтом не знаю как то надоело это. Над подумать что добавить. Но как то скучновато или это от того что народа не много?
Меж рекламу пустить, так тогда всякие с веников прибегут со своими вопросами как написать форум на html и тому подобные.
А хотя сам таким был :)

Nu3oN » 2011.04.13 11:38

мудаки... Как всегда все через жопу выходит... А для переноса домена там заморочек ппц... Да и на рег.ру это "дорого" содержать домен

tipsun » 2011.04.13 12:35

Рега/Продление на 1 год
- - - -
reg.ru/prices/index
.RU 590/450 р.
- vs. -
reghouse.ru/price.htm
.RU 89/89 р.
- - - -
Кому как...

Gemorroj » 2011.04.13 18:08

стоимость там варьируется в допустимых пределах, лишние 50 рублей никакой роли не играют, а вот то. что там панель управления крутая, очень даже играет. да еще поддержка всегдав в онлайне. пообщался с девушкой из поддержки рег.ру, сказала что для переноса нужно личное присутствие в офисе регистратора((( так что перенос домена отменяется...

TLENS » 2011.04.14 10:04

Да я тоже хотел на рег.ru перенести то достаточно было паспортные копии отправить и через обычную почту. Вообщем покамест забил

Gemorroj » 2011.04.16 18:37

жопа, вот у вот этого мудака я регал домен http://arbitrage.webmoney.ru/asp/claims … 5256596023 целый день потратил на попытки сменить NS у вапинета, пока безрезультатно. Поддержка goldhost.ru (через них был зареган домен) поражает наплевательским отношением...
На webnames.ru пишет что домен зарегистрирован именно у них, теперь бы как-нибудь доказать что домен принадлежит именно мне.. Хотя поддержка и на webnames молчит уже часов 5

tipsun » 2011.04.16 18:40

Ну у гугла кэш же есть, там видно будет на чей сайт ведет, содержание за последние дни там или что-то в этом роде может прокатит?

Gemorroj » 2011.04.16 18:48

при чем тут гугл?? нужны паспортные данные владельца домена.
помимо того что у меня паспорт уже поменялся, я хз что там хостер написал вообще, кроме имени, телефона и email.

Gemorroj » 2011.04.16 20:09

Поздравляю, мы таки переехали)

tipsun » 2011.04.16 21:00

Ура, что-ли, как бы :)

Gemorroj » 2011.04.16 21:07

да) надеюсь данных немного потеряли ;)

TLENS » 2011.05.12 05:36

Gemorroj написал:

что конкретно не хватает на форуме? свистелок?

Ты прав свистелок сделай чтобы проверял новые сообщения на форуме и давал звуковой сигнал с окошком.

Gemorroj » 2011.05.12 10:38

TLENS, звуковой сигнал - это флеш, либо html5. флеш сразу отпадает, html5, в принципе можно...

TLENS » 2011.05.12 13:12

flash не любишь? да я тож начал к нему не очень относится
Добавлено спустя   3 минуты  8 секунд:
Слушай геморрой надо как то узнать как на vkontakte они делают что меняется адрес страницы и при этом не перегружается страница здесь миллион плюсов.
Щас покурю пошарюсь по скриптам. мож нарою функцию.

Gemorroj » 2011.05.12 14:15

хз, в опере адрес меняется только после решетки, что логично и делается без проблем.

TLENS » 2011.05.12 14:24

хехе вот оно http://javascript.ru/blog/pharrell/vvedenie-history-API
щас потестим
А ну да увидел. Это HTML5

TLENS » 2011.05.12 17:53

Gemorroj написал:

хз, в опере адрес меняется только после решетки, что логично и делается без проблем.

Но проблема в том что сервер не читает разве что потом аяксом запросить страницу.
Просто идея есть сделать сайт чтобы контент подгружался аяксом но чел в закладки мог вкинуть или для поисковиков.
Если запрос идет от аякса то тать контент без шапки и прочего а если не аяксом то подключить в вывод все остальное.
Так и для сео норм и пользователеям не обидно за траф и скорость

Gemorroj » 2011.05.12 18:00

при сене якоря одновременно делается запрос к серверу, не вижу проблем.

TLENS » 2011.05.12 21:50

Gemorroj написал:

TLENS, звуковой сигнал - это флеш, либо html5. флеш сразу отпадает, html5, в принципе можно...

Тебе может чем то помочь?

Gemorroj » 2011.05.12 22:53

забери всю мою лень себе)

TLENS » 2011.05.12 22:58

:) Постараемся.

TLENS » 2011.05.13 13:57

Gemorroj
api Зделай

Gemorroj » 2011.05.13 14:00

это очень абстрактно. что тебе нужно от этого api

TLENS » 2011.05.13 14:00

т.е. через json пусть отдает. чтобы не грузить всю страницу
Добавлено спустя   2 минуты  19 секунд:
Новые темы пусть покажет точнее форумы в которых темы новые щас подумаю точно что нужно

TLENS » 2011.05.13 14:15

Давай наверное просто последнее {"forum":"id", "top":"id", "name":"top_name", "nick":"nick_name", "num": "всего новых"}

TLENS » 2011.05.13 14:49

Короць я все об думаю скажу чего не хватает

Gemorroj » 2011.05.13 14:58

TLENS написал:

api Зделай

TLENS написал:

т.е. через json пусть отдает. чтобы не грузить всю страницу

мне кажется ты не совсем понимаешь что такое api

TLENS » 2011.05.13 16:20

Да я не правильно просто выразился

TLENS » 2011.05.15 10:05

Сегодня ночу промучался над ним скрипт передумал коментировать считаю лишняя трата времени.
Темболие старался не говнокодить вообщем ты прочитаешь его.
http://tlens.ru/plagin/wapinet/viewtopi … 32&p=4
Сейчас опишу работу
Да и багов пару есть спать уже хочу голова не варит
Добавлено спустя   2 минуты  47 секунд:
Заметил куку надо чистить на обновления
Добавлено спустя   8 минут  38 секунд:
Содержимое файла test.php

Код:

1
span style="color: #0000BB"><?php$f=file_get_contents('http://wapinet.ru/forum/index.php');$f=preg_match_all('/<td\sclass="tcr"><a\shref="viewtopic\.php\?pid=(.*?)">(.*?)<\/a>\s<span\sclass="byuser">(.*?)<\/span><\/td>/', $f, $out, PREG_SET_ORDER);$arr=array();$fp=fopen('test.txt','a');for($i = 0; $i<5; $i++){ fputs($fp,$_POST['dateMess'][$i] .'=='. $out[$i][3]."\n"); if ($_POST['dateMess'][$i] !== $out[$i][3]) { $arr[$i] = array($out[$i][1], $out[$i][2], $out[$i][3]); }}if (!sizeof($arr)) $arr = false;//var_dump($arr);//echo json_encode($_POST);echo json_encode(array('dateMess'=>$arr));?>

План таков ты сервером втавляешь в блок то что на главной.
При отправке posta смотришь сходятся или нет в php выше показан план.
Можно еще приват подключить.
Да и стем HTML5 фиг его знает как я вроде зделал но он мне не нравится почему то.

TLENS » 2011.05.15 10:23

Мда надо еще много доделывать но хот норм зделал?

Gemorroj » 2011.05.15 10:28

я не понимаю что ты хотел этим кодом сделать? сграбить посты с форума?

TLENS » 2011.05.15 10:49

Оо я  воще то плагин писал  с надеждой что мы его доработаем и поставим на этот форум, а то такое мини грабчег для тестов
я же не имеюдоступа.
Кстати прикольная штука ты только написал я сразу узнал о твоем посте. Просто сразу не ответил заннят был.

у меня на 15 сек обновления стоит
ты типо кнопочки не увидел в низу?

Gemorroj » 2011.05.15 11:42

нет, не заметил. опиши подробнее что за кнопочка

TLENS » 2011.05.15 11:43

Минут через 30 освобожусь
Добавлено спустя   2 минуты  57 секунд:
Вот запусти в новом окне нажми обновить и напиши обычно на форуме. Только не через граб.
А да в настройках поставь автообновление.
Добавлено спустя   5 минут  6 секунд:
Корочь доработать надо уже на этом форуме ато я через php мост его толком не сделаю.
Сейчас прийду домой отпишу подробнее

TLENS » 2011.05.15 12:42

Плагин состоит из HTML JS И css/
html

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<div id="window-topic">
<div id="punmessage_list" class="pun">
<div class="block">
<div class="blockform" style="width: 55px;">
<h2 style="height: 20px;"><span onclick="windowTopToggle();" style="cursor: pointer;">Меню</span></h2>
<div id="window-topic-main">
<div class="window-reload window-reload-off" onclick="windowTopReload();" title="Обновить"></div>
<a href="javascript: windowTopSet();">Настройки</a>
</div>
<div class="box" id="window-topic-set">
&nbsp;<select name="reload" onchange="setReloadTimeout(this);">
<option value="0"> Выкл</option>
<option value="15">15 сек</option>
<option value="30">30 сек</option>
<option value="60">1 мин</option>
<option value="180">3 мин</option>
<option value="300">5 мин</option>
<option value="600">10 мин</option>
<option value="900">15 мин</option>
</select>
Интервал обновления<br />
&nbsp;<select name="hide" onchange="setHide(this);">
<option value="500">0.5 сек</option>
<option value="1000">1 сек</option>
<option value="2000">2 сек</option>
<option value="3000">3 сек</option>
<option value="4000">4 сек</option>
<option value="5000">5 сек</option>
<option value="7000">7 сек</option>
<option value="10000">10 сек</option>
</select> Прятать окно если не используется<br />
&nbsp;<input name="windowSetPlay" type="checkbox" onchange="setReloadPlay(this);" /> Включить звук<br />
</div>
<div id="forum" class="box">
<table cellspacing="0">
<thead><tr><th class="tcl" scope="col">Форум</th><th class="tcr" scope="col">Последнее сообщение</th></tr></thead>
<tbody>
<tr><td class="tcl"><div class="intd"><div class="icon"><div class="nosize"></div></div><div class="tclcon"><h3><a href="viewforum.php?id=3">PHP/MySQL </a></h3></div></div></td><td class="tcr"><a href="viewtopic.php?pid=16406#p16406">Debian: установка FFmpeg</a> <span class="byuser">Сегодня 15:04 - xits</span></td></tr>
<tr><td class="tcl"><div class="intd"><div class="icon"><div class="nosize"></div></div><div class="tclcon"><h3><a href="viewforum.php?id=4">xHTML/CSS/JavaScript</a></h3></div></div></td><td class="tcr"><a href="viewtopic.php?pid=16385#p16385">Не хватает ActionScript</a> <span class="byuser">Вчера 21:52 - Gemorroj</span></td></tr>
<tr><td class="tcl"><div class="intd"><div class="icon"><div class="nosize"></div></div><div class="tclcon"><h3><a href="viewforum.php?id=5">Компьютеры/Софт </a></h3></div></div></td><td class="tcr"><a href="viewtopic.php?pid=16402#p16402">Пищит компьютер</a> <span class="byuser">Сегодня 13:35 - Di-grees</span></td></tr>
<tr><td class="tcl"><div class="intd"><div class="icon"><div class="nosize"></div></div><div class="tclcon"><h3><a href="viewforum.php?id=6">Юмор </a></h3></div></div></td><td class="tcr"><a href="viewtopic.php?pid=16162#p16162">Белорусские компьютеры</a> <span class="byuser">2011.05.04 17:00 - TLENS</span></td></tr>
<tr><td class="tcl"><div class="intd"><div class="icon"><div class="nosize"></div></div><div class="tclcon"><h3><a href="viewforum.php?id=7">Общение </a></h3></div></div></td><td class="tcr"><a href="viewtopic.php?pid=16407#p16407">Переезд сервера</a> <span class="byuser">Сегодня 15:20 - TLENS</span></td></tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div id="play">
</div>
</div>

Имена топиков и форумов я вставил для теста в php тебе надо вставить те данные которые ты вставляешь на форуме.
CSS Это понятно обяснять нечего

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
div#window-topic{
position: fixed;
left: 5px;
bottom: 0;
}
div.window-reload{
display: inline;
background-repeat: no-repeat;
width: 20px;
height: 20px;
cursor: pointer;
position: absolute;
right: -25px;
top: 0;
}
div.window-reload#e{
}
div.window-reload-on{
background-image: url(../ajax-loader.gif);
}
div.window-reload-off{
background-image: url(../ajax-loader.png);
}
div#window-topic div#window-topic-main{
display: none;
position: absolute;
right: 25px;
top: 5px;
width: 300px;
text-align: right;
}
div#window-topic div#forum{
text-align:left;
display: none;
}
div#window-topic-set{
text-align:left;
display: none;
}

Ну и скрипт о нем подробнее

TLENS » 2011.05.15 13:34

Описал ввесь скрипт его еще надо много усовершенствовать например приват встроить.
Пример работы смотри на
Мда первый раз когда загружается на моем сайте там будут все мигать так как я не обновляю HTML блок вообще только через JS. Все равно зачем тратить время.

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
// чтение cookie
function getCookie(cookieName) {
if (!cookieName)
return false;
var cookies = document.cookie.split('; ');
for (var i = 0; i < cookies.length; i++) {
var singleCookie = cookies[i].split('=');
if (singleCookie[0] == cookieName)
return singleCookie[1];
}
return false;
}
// установка cookie
function setCookie(cookieName, cookieValue, cookieExpire) {
if (!cookieName || !cookieValue)
return false;
var date = (cookieExpire ? new Date(cookieExpire) : new Date());
document.cookie = cookieName + '=' + cookieValue +
'; expires=' + date.toGMTString() +
'; path=/';
return true;
}
// удаление cookie
function deleteCookie(cookieName) {
if (!cookieName)
return false;
var date = new Date('01/01/1970');
document.cookie = cookieName + '=""' +
'; expires=' + date.toGMTString() +
'; path=/';
return true;
}
var windowTop, // обект блока
windowOnToggle, // это защита от повторного toggle 0-1 выполняется или нет
windowOnReload, // тоже только на аякс
windowTopHide, // задается id setTimeout для clearTimeout автоматическое закрытие блока если мыш уходит
windowSetReload = (getCookie('windowSetReload') ? getCookie('windowSetReload') : 0), // это настройка на период обновления для аякса
windowSetPlay = (getCookie('windowSetPlay') ? true : false), // Настройка проигровать мелодию если есть новые сообщения на форуме
windowSetHide = (getCookie('windowSetHide') !== false ? getCookie('windowSetHide') : 3000); // настройка через сколько прятать блок если уйдет мышь
$(document).ready(function() {
windowTop = $('div#window-topic'); // вписываю главный блок для дальнейшей работы чтобы каждый раз не искать в доме
selectReload = windowTop
.find("div#window-topic-set select[name='reload'] option[value='"+ windowSetReload +"']");
windowTop.find("div#window-topic-set input[name='windowSetPlay']")
.attr('checked',windowSetPlay); // В блоке настройки делает checked для выбранной настройки это можно сделать и посредством php
selectHide = windowTop
.find("div#window-topic-set select[name='hide'] option[value='"+ windowSetHide +"']"); // тоже самое
if (selectHide.text()) {
selectHide.attr('selected',1); // устанавливаем чекеды
}
if (selectReload.text()) {
selectReload.attr('selected',1); // устанавливаем чекеды
}
if (Math.floor(windowSetReload) >= 15) {
windowOnReload = setTimeout(windowTopReload, (windowSetReload * 1000)); // Если в настройках включено автообновления запускаем его
}
});
 
 
function windowTopToggle() { // функция открывает закрывает блок превращая в кнопочку
if (windowOnToggle) { // если уже выполняется т.е. дважды тыцнул будет глючить
return false;
} else {
windowOnToggle = 1; // выполняется тоггле
}
if (windowTop.width() > 60) { // Если ширина блока больше значит надо все сворачивать else открывать блок
windowTopSet(1); // закрываем блок с настройками
windowTop.find('div#forum:first').slideUp(500, function () { // закрытие блока с форумами
windowTop.find('div#window-topic-main')
.css('display', 'none'); // скрываем ссылку на настройки и крутилку чтобы не путались
windowTop.find('div.blockform')
.animate({width: '55px'}, 500, function (){ //И всорачиваем <h2>
windowOnToggle =0; // закончили
});
});
windowTop.unbind("mouseleave"); // Снимаем авто тоггле которое должнобыло автоматически свернуть
} else { // Розворачиваем блок
windowTop.find('div.blockform')
.animate({width: '400px'}, 500, function (){
windowTop.find('div#window-topic-main')
.css({display: 'inline'});
windowTop.find('div#forum').slideDown(500, function (){
windowOnToggle = 0;
});
});
windowTop.bind("mouseleave", function () {
windowTopHide = setTimeout(windowTopToggle, windowSetHide); // Устанавливаю автозакрытие если уйдет мышь с блока
}).bind('mouseenter', function () {
clearTimeout(windowTopHide); // если мыш зашла обратно снимаем задачу на закрытие
});
}
return false;
}
 
function windowTopSet(a) { // Блок с настройками показать спрятать работает как тогле или принуденно закрыть первым параметром
var setObject = windowTop.find('div#window-topic-set');
if (setObject.css('display') !== 'none' || a) {
setObject.slideUp(500); // закрыть
} else {
setObject.slideDown(500); // открыть
}
}
function windowNewIcon(a, b) { // делает мигание иконкой возле форума. a = номер форума которым надо замигать 0-4 и = мигать или отключить мигалку
windowTop.find('tbody tr').each(function (c) {
if (a == c) {
if (!b) {
$(this).removeClass('inew')
.find('div.icon')
.removeClass('inew')
.unbind('click')
.attr('title','')
.css('cursor', 'default');
return true;
} else {
$(this).addClass('inew')
.find('div.icon')
.addClass('inew')
.css('cursor', 'pointer') // Делаем возможность снять мигалку кликом тип интерестного ничего нет
.attr('title','Пометить все темы как прочитаные')
.click(function () { // Ну и вешаем на клик эту же функцию только на отключения
windowNewIcon(a);
// Здесь нужно отпрвить запрос на отметку всех тем как прочитаные в текужем форуме
});
return true;
}
}
});
// Функцию надо переписать чет промучился я над ним так уже сделал цыкл надо выбросить да и ремове подправить
}
 
function windowReloadToggle(a) { // Крутилка
if (a) {
windowTop.find('div.window-reload:first')
.removeClass('window-reload-off')
.addClass('window-reload-on');
} else {
windowTop.find('div.window-reload:first')
.removeClass('window-reload-on')
.addClass('window-reload-off');
}
}
 
function setReloadTimeout(a) { // Сохраняем настройки
console.log(a.value);
if (a.value) {
setCookie('windowSetReload', a.value, new Date('01/01/2012'));
windowSetReload = a.value;
if (Math.floor(windowSetReload) >= 15) {
clearTimeout(windowOnReload);
windowOnReload = setTimeout(windowTopReload, (windowSetReload * 1000));
}
} else {
deleteCookie('windowSetReload');
windowSetReload = 0;
}
}
function setHide(a) { // Сохраняем настройки
setCookie('windowSetHide', a.value, new Date('01/01/2012'));
windowSetHide = a.value;
}
function setReloadPlay(a) { // Сохраняем настройки
if (a.checked) {
setCookie('windowSetPlay', true, new Date('01/01/2012'));
windowSetPlay = true;
} else {
deleteCookie('windowSetPlay');
windowSetPlay = false;
}
}
function windowTopReload() { // Функция обновления
clearTimeout(windowOnReload); // Разрушаем предыдущую задачу если еще не началась
var idTimeout;
var arrDateMess = new Array();
// Формируем массив последних сообщений т.е. Отправляет типо такого Вчера 12:47 - DarkRiDDeR на сервер там проверяем если оно не совпадает значет было обновления в какойто теме и выдаст новые данные которые запишем в блок
windowTop.find('tr td span.byuser').each(function (){ // Обработаем цыклом. Теперь содержим 5 ников и дат можно их отправлять на сервер
arrDateMess.push($(this).text()); // Добавляем в масив текущие данные
});
windowReloadToggle(1); // Включаем крутилку
// отправляем постом масив сообщений для проверки
$.post('test.php', // адрес
{'dateMess': arrDateMess}, // Отправляемый массив
function(data) { // Получаем ответ JSON если все ок
windowReloadToggle(); // Отключаем крутилку
if (typeof data.dateMess == 'object') { // если есть обновления
windowTop.find('tbody tr td.tcr').each(function (i){ // Ищем где именно
if (typeof data.dateMess[i] == 'object') { // Проверяем наявность данных обект или болеан если новых сообщений нет
$(this).find('a') // Меняем Ссылку
.attr('href', 'viewtopic.php?pid='+
data.dateMess[i][0])
.html(data.dateMess[i][1]);
$(this).find('span.byuser').html(data.dateMess[i][2]); // иТекст кто ответил и когда
windowNewIcon(i, 1); // Мигаем иконкой
}
}); // Заканчиваем замену
if (windowSetPlay) { // Издаем звук
play(); // Можно еще в <title> оповестить
}
}
}, 'json') // Тип данных JSON
.error(function (){ // Если ошибка
windowReloadToggle(); // отключаем крутилку
return false;
});
if (windowSetReload >= 15) { // Задаем следующее обновления из настроек
windowOnReload = setTimeout(windowTopReload, (windowSetReload * 1000));
}
}
function play(a) { // Играем
textHtml5 = '<audio preload="metadata" autoplay="autoplay">\n';
textHtml5 += '<source src="../sound.ogg" type="audio/ogg; codecs=vorbis">\n';
textHtml5 += '<source src="../sound.mp3" type="audio/mpeg">\n';
textHtml5 += '</audio>\n';
if (!a) {
windowTop.find('div#play').html(textHtml5);
} else {
windowTop.find('div#play').text('');
}
setTimeout('play(1)',6000); //Играем не долго на всякий случай я еще не полностью роздуплил HTML5
}

Добавлено спустя   1 минуту  33 секунды:
Хоть не зря промучился ночь?

Gemorroj » 2011.05.15 13:37

расскажи, зачем там работа с куками в JS?

TLENS » 2011.05.15 13:37

Настройки сохранять
Добавлено спустя   2 минуты  10 секунд:
Вот
Добавлено спустя   3 минуты  26 секунд:
Да и CSS надо подправить я в нем запутался

TLENS » 2011.05.15 13:48

Подогнал пот валидатор вроде все норм.
Ну дак как доделывать будем?

Gemorroj » 2011.05.15 14:01

смысл плагина? на других сайтах чтобы была возможность всегда иметь в трее окошко форума?
не лучше ли тогда такое реализовать как раширение для браузера?

TLENS » 2011.05.15 14:02

Я для этого сайта делал. А то не удобно както здесь
Добавлено спустя   1 минуту  1 секунду:
Вот видишь ты только написал в тему я ответил
Добавлено спустя   5 минут  58 секунд:
Остальное это за тобой зделать файл который будет отправлять правельный json/
И всунуть это в форум.
Добавлено спустя   7 минут  16 секунд:
Но закончить надо его в начале.
Дак как или удаляем это все нах и пусть здесь будет все как было?

TLENS » 2011.05.15 14:16

Да и с музыкой чет надо зделать играет только в хроме и вмазиле

Gemorroj » 2011.05.15 14:38

я просто смысла не вижу. отображение новых постов можно сделать намного проще. если бы это было как попап окно на чужих сайтах, было бы интереснее.

TLENS » 2011.05.15 14:39

Ну хз. Попробуй.
Добавлено спустя   7 минут  35 секунд:
А причем тут други саты я не пойму?
Ты имеешь в виду типо разширения для арбузов?

Gemorroj » 2011.05.15 15:08

я имею ввиду, что находясь на этом сайте, человек и так лекго узнает при желании о новых сообщениях. а на других сайтах нет. стандартный информер.

TLENS » 2011.05.15 15:12

эт тупо в людей есть окна вкладки или как их еще назвать.
Я хотел сделать как в контакте пришло письмо проиграл звук и замигала иконка.
Ну смотри эт твой сайт.
Жаль одно время выбросил на ветер.
Лучше бы себе чет написал

TLENS » 2011.05.15 18:09

Так ты хотел? Кстати пишу сейчас с плагина   ;)
Добавлено спустя   6 минут  32 секунды:
Или в каждую страницу внедрять внизу?
А воще прикольно было бы надо маны почитать мож и получится такое
Добавлено спустя   9 минут  13 секунд:
Но это я так понял другое вовсем. У меня стоял с флешок извлекает видео и музыку

TLENS » 2011.05.15 21:57

Получилось то что хотел правда не очень то но получилось так ты хотел тперь куда не пойду везде иконка

TLENS » 2011.05.15 22:09

Гемор делай корочь json  не тупо я ток понял что это тяга будет.

Gemorroj » 2011.05.16 10:43

TLENS, да-да, именно как у тебя в расширении в хроме. Под оперу я тоже на основе твоего кода потом сделаю. Под фф еще не писал плагинов, но думаю, что тоже совместными усилиями сделаем)
Предже чем отдавать какой-либо контент в JSON, нужно определиться что именно отдавать и в каком формате.

Код:

1
2
3
array getForums();
array getTopics(int forum);
array getPosts(int topic);

какие-то еще методы нужны? и какие конкретно данные возвращать?

TLENS » 2011.05.16 15:30

А теперь надо думать что с ним делать.
Ведь тот способ проверки новых что я писал не идет так как код будет во всех окнах.
Над новый способ писать я думаю надо проверять по отметкам так как у тебя на форуме отмечяются не прочитанные.
Я кстати нифига толком не понял как там его делать но по примерам и по знаниям всех известных языков это не сложно.
Еще пересмотрю кучу плагинов как оно там все делается. У меня из 7zip открывает. На опере почти тоже самое только манифест там в XML а вхроме в JSON я думаю и в FF тоже самое.
Да а я вот не додумаю какое события надо применить вообщем чтобы музыка не срабатывала во всех окнах думал на боди ставить mouseenter и на leave но тут еще и надо чтобы при сворачивании работало. Надо подумать
Добавлено спустя   3 минуты :
У тебя идеи есть?

TLENS » 2011.05.16 15:41

А хотя кнопочка в низу не нужна я думаю попробувать на основе maila и кнопочку здерать в панеле инструментов так будет проще щас почитаю мануал

Gemorroj » 2011.05.16 16:07

я мысль не улавливаю, сумбурный поток сознания какой-то)
до реализации дело еще дойдет, думаю тег audio решит все проблемы со звуковым сигналом. нужно определиться какие данные отдавать.

TLENS » 2011.05.16 17:24

Да я тут подумал что встраивать в страницу не надо. А просто зделать звук и мигать иконкой в панели.
А окно показывать как в предыдущем скрине
А отправлять я думаю надо не так как я в скрипте делал что время отправлял а вот если отправим id последнего сообщения
не будет пищать если например кто то удали сообщения.
Вообщем.
array('первый форум' => 'id_post','второй','и дак дале'); по ним отслешивай когда есть ли новые
Ты на сервере проверяешь и отдаеш false если нет новых.
или
if(Есть новые) $forum =  array('id раздела', array('id поста', 'время', 'автор', 'имя темы'), 'id' =>false, 'id' =>false,'id' => false, 'id' =>false);
else $forum = false;
приват $privat =(Есть) ? array('id', 'время', 'title', 'отправитель') : false;
json_encode(array('forum' =>$forum, 'privat' => $privat));
Как такой вариант? Под него и будем подганять посмотри мож чего не хватает.

Gemorroj » 2011.05.16 17:37

не понятен вариант. ты пиши только с позиции разработчика плагина, php код - это моя задача.
имя метода, входящие параметры, исходящие данные.

TLENS » 2011.05.16 17:45

Но я же это и написал просто взял php для того чтобы понятней было
array('первый форум' => 'id_post','второй','и дак дале'); это плагин отправляет постом
а это должен получить
if(Есть новые) $forum =  array('id раздела', array('id поста', 'время', 'автор', 'имя темы'), 'id' =>false, 'id' =>false,'id' => false, 'id' =>false);
else $forum = false;
приват $privat =(Есть) ? array('id', 'время', 'title', 'отправитель') : false;
json_encode(array('forum' =>$forum, 'privat' => $privat));
По разработке посмортим чего подправить
Добавлено спустя   6 минут  20 секунд:
Щас подробнее отпишу

TLENS » 2011.05.16 18:02

array('id_форума' => 'id_Последнего сообщения','второй ворум','и дак дале'); это плагин отправляет постом
а это должен получить
if(Есть новые) $forum =  array('id раздела' =>false (Если нет новых в выбранной теме) или массив array('id поста', 'время', 'автор', 'имя темы'), 'id раздела' =>false,'id раздела' => false, 'id раздела' =>false);
else $forum = false; если нет новых то отправляй false а еще лучше ноль чтобы бит меньше шло
приват $privat =(Есть) ? array('id сообщения', 'время', 'Заголовок', 'отправитель') : false;

json_encode(array('forum' =>$forum, 'privat' => $privat));

Таким образом будем трафика ганять фигню
Добавлено спустя   4 минуты  1 секунду:
или как ты думал?
Добавлено спустя   5 минут  1 секунду:
array('id_форума' => 'id_Последнего сообщения','второй ворум','и дак дале'); это плагин отправляет постом
тоисть что у него уже есть в памяти

Gemorroj » 2011.05.16 18:29

>> array('первый форум' => 'id_post','второй','и дак дале')
что такое "второй" и "так далее"? у нас структура - форумы -> топики -> посты. как так получилось форум -> пост???
посмотри пост #59, мне нужно примерно такое описание.

TLENS » 2011.05.16 18:33

ну форум их пять

TLENS » 2011.05.16 18:51

Да еще одно на пост запрос $_POST['forum]=='get_forum' отдай JSON

Gemorroj » 2011.05.16 18:55

TLENS, блин. Я пока что ничего делать начать не могу. Вижу сумбурные нечеткие комментарии что форум должен что-то отдавать. Я могу придумать API, но не факт что оно будет удовлетворять твоим требованиям. Поэтому предлагаю придумать API тебе. Хотябы те функции, которые нужны будут твоему расширению.
Тебе знакомо понятие веб-сервисов? И как там в WSDL описываются методы? Вот мне нужно такое же описание. Иначе это полный сумбур и несвязанная каша.

TLENS » 2011.05.16 19:02

Ок можно и без Api дале будет видно
Добавлено спустя   4 минуты  45 секунд:
Да еще одно на пост запрос $_POST['forum]=='get_forum' отдай JSON
Это я хотел дописать еще один запрос на api но передумал незнаю как оно отправилось случайно отправил.
А вообще зделай только то что просил перед этим ведь трафика будет много ганять

Gemorroj » 2011.05.16 19:25

=(((
я не знаю как тебе еще сказать что у меня нет четкой задачи чтобы начать ее выполнять...

TLENS » 2011.05.16 19:29

Окей.
Добавлено спустя   5 минут  31 секунду:
Щас я за сигаретами сганяю и опишу

TLENS » 2011.05.16 20:28

Слушай вообщем план такой первый раз при запуске плагина откроется новое окно с форумом.
Плагин и плагин извлечет данные со страницы о последних сообщениях и сохранит их в память.
Потом с указанным в настройках интервалом отдает тебе на api post с данными.
$_POST['forum'] = array(5){
    [0] => 'id последнего сообщения в первом форуме (PHP and MySQL)'
    [1] => 'id последнего сообщения в втором форуме (xHTML/CSS/JavaScript)'
    [2] => 'id последнего сообщения в третем форуме (Компьютеры/Софт)'
    [3] => 'id последнего сообщения в третем форуме (Юмор)'
    [4] => 'id последнего сообщения в третем форуме (Общение)'
}
твоя задача вернуть такой массив json-ном

если id последнего сообщения в первом форуме (PHP and MySQL) больше чем получил от плагина
    делаешь массив
    $forum[0] = array('id поста', 'время', 'автор', 'имя темы');
если нет новых сообщений
    $forum[0] = 0;

если id последнего сообщения во втором форуме (xHTML/CSS/JavaScrip) больше чем получил от плагина
    делаешь массив последнего сообщения в этом форуме
    $forum[1] = array('id поста', 'время', 'автор', 'имя темы');
если нет новых сообщений
    $forum[1] = 0;

если id последнего сообщения в третем форуме (Компьютеры/Софт) больше чем получил от плагина
    делаешь массив последнего сообщения в этом форуме
    $forum[2] = array('id поста', 'время', 'автор', 'имя темы');
если нет новых сообщений
    $forum[2] = 0;

если id последнего сообщения в четвертом форуме (Юмор) больше чем получил от плагина
    делаешь массив последнего сообщения в этом форуме
    $forum[3] = array('id поста', 'время', 'автор', 'имя темы');
если нет новых сообщений
    $forum[3] = 0;

если id последнего сообщения в пятом форуме (Юмор) больше чем получил от плагина
    делаешь массив последнего сообщения в этом форуме
    $forum[4] = array('id поста', 'время', 'автор', 'имя темы');
если нет новых сообщений
    $forum[4] = 0;


если все переменные массива $forum ровняются нулю то делаешь переменную $forum не массив а просто $forum = 0;

и показываешь плагину
echo json_encode('forum' => $forum);
Что не ясно?
Добавлено спустя   3 минуты  36 секунд:
время можно отдавать уже переведенное.
если я смогу общася с тобой с куками тоесть авторизованым буду.
а если не получится тогда надо будет в секундах по гринвичу
Просто я еще не знаю как работают гугловские методы например такие как getUrl

Gemorroj » 2011.05.17 12:52

Нет, доступа к кукам форума не будет.
http://wapinet.ru/forum/ajax.server.php?informer
давай попроще. по этому URI форум всегда выдает последние сообщения. на этом и основывайся.
фактически там сейчас код

Код:

1
span style="color: #0000BB"><?php 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); if (isset($_GET['getMessage'])) { $res = $obj->getMessage($_GET['getMessage']); } else { $res = $obj->getForums(); } echo json_encode(array('status' => true, 'forum' => $res)); } catch (Exception $e) { echo json_encode(array('status' => false, 'forum' => $e->getMessage())); }

Informer.inc.php

Код:

1
span style="color: #0000BB"><?phpclass Informer{ private $_db; private $_pun_user; private $_lang; /** * Constructor * * @param resource $db * @param array $pun_user * @param array $lang */ public function __construct ($db, $pun_user, $lang) { $this->_db = $db; $this->_pun_user = $pun_user; $this->_lang = $lang; } /** * 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 < 1 || !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 = ' . intval($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' => $this->_getTime($data['posted']) ); } /** * _getTime * * @param int $time * @return string */ private function _getTime ($time) { require_once __DIR__ . '/../functions.php'; return format_time($time); } /** * _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); }}?>
TLENS » 2011.05.17 15:43

Ок давай и так. Щас приду посмотрю че там.
А так вообщем я думал чтобы трафа меньше жрало но хотя так это в принципе не много.
Ток позвонили с банка 800 грн говорят штрафа наложили офигели просто над идти разбиратся

TLENS » 2011.05.17 20:43

какой разрыв во времени от гринвича, +3?

Gemorroj » 2011.05.17 21:51

вот кстати хз) наверное да, +3

TLENS » 2011.05.17 22:49

Gemorroj написал:

вот кстати хз) наверное да, +3

Ну вообщем юзыре не будут авторизовуватся по апи?

Gemorroj » 2011.05.18 10:37

эм, зачем такая авторизация? у пользователя есть куки, он как бы и так должен быть авторизован.
возможно, следует еще сделать добавление постов через api. тогда из плагина практически не нужно было бы выходить вообще.

TLENS » 2011.05.18 17:48

Да все норми меня время интересовало у меня например стоит +2.
да и время передается правильно кука срабативает

TLENS » 2011.06.07 03:27

гемор не работает апи, хотел подправить расширения но хз не хочет подключится ошибку 500 выдает

Gemorroj » 2011.06.07 10:24

исправил.

TLENS » 2011.06.10 22:29

Паш сделай еще одно, я тебе передаю ид поста а ты возвращаешь его содержимое(желательно уже готовое всмысле в html со смайлами и прочем).
В уведомления попробую в тулить.
Чтобы сразу видно было, а то если кто то за общается задолбешся проверять каждое. Ну думаю ты понял что я хочу.
Делай как считаешь нужным я уже подстроюсь.
Можно даже не аяксом показывать а ифреймом.

Gemorroj » 2011.06.11 12:10

сделал.
если есть переменная getMessage, то вызывается метод getMessage с ID поста = значение переменной getMessage.
Пример:
http://wapinet.ru/forum/ajax.server.php … sage=17427

TLENS » 2011.06.11 13:11

Слушай а время в секундах передавай как и передавал

TLENS » 2011.06.11 13:35

А вообще оно мне например не нужно так как ид поста вычесляю с предыдущего апи а там есть и время и постер

Gemorroj » 2011.06.11 13:43

изменил на таймштамп

Gemorroj » 2011.06.19 11:55

что с расширением-то?
доведи до ума плз.

TLENS » 2011.06.19 11:59

О сегодня вечером доведу если Оля не придет.
Чего там подправить?
css и js вывести c файлов.
Надо ссылку форум переправить c фрейма на open
Еще думаю все таки настройку вкинуть на уведомления
Так смотрел вроде все норм.
Тебе что то приносит неудобства?

Gemorroj » 2011.06.19 12:17

именно то, что ты сам сказал и приносит неудобства)
+2 метода intval и еще какой-то вытянутые в строчку

TLENS » 2011.06.19 12:37

Все исправил пойду по своим делам.
Придумал альтернативу:
Сделаю обработчик событий на ролик для определение где открывать в фрейме или в окне
Добавлено спустя   1 минуту  6 секунд:
Вообщем приеду доделаю
Надо бежать

TLENS » 2011.06.19 14:37

Смотри выровнял функции и добавил обработчик ondblclick на открытие в новом окне, и вынес скрипты с файлов.
С фонового файла не выносил так как он состоит только с js нет смысла создавать еще один файл чтобы вставлять его.

Gemorroj » 2011.06.19 15:27

вынеси все-же. так идеологически правильней.

TLENS » 2011.06.19 18:07

Перезалил
Добавлено спустя   3 минуты  28 секунд:
Бля хуйня какая то на проц нагрузка пошла чет напортачил щас перечитаю код
Добавлено спустя   7 минут  11 секунд:
А это не мой скрипт все норм

Gemorroj » 2011.06.19 19:42

ну все,полез я редачить код)

TLENS » 2011.06.19 19:43

Давай если что я здесь спрашывай там матери...

Gemorroj » 2011.06.19 20:03

чето поставить расширение не могу, хром пишет crx_magic_number_invalid
хром из дев ветки.
вообще намана, только вот код неоднородный очень, много дублированного кода и вообще непонятно зачем нужного.
пока с ходу так

TLENS » 2011.06.19 20:13

Перестал работать метод toggleSet объекта Window/
И с фреймом чет случилось. Сейчас посмотрю.
А на счет лишнего я половину переписал, мож чего и оставил. Гляну что у тебя там.

Gemorroj » 2011.06.19 20:17

ну проверить не смог потому что

TLENS » 2011.06.19 20:21

А ты обект Window сменил на pop.
Надо было менять во всех файлах.
Сейчас подправлю все и прокомментирую его. В следствии Коментария и выловлю ненужные строчки

Gemorroj » 2011.06.19 20:25

в js файлах я его заменил. просто назвать объект Window - это ппц. никогда нельзя называть свои переменные/функции так же как и стандартные.
давай я сам, а то мержить код придется.

TLENS » 2011.06.19 20:25

В попе было три строчки в обработчиках событий использовался этот обьект.

Gemorroj » 2011.06.19 20:42

попробуй теперь

TLENS » 2011.06.19 20:51

Не мигает NEW.
В хроме упраление -> инструменты -> расширения -> режим разработчика -> Загрузить распакованное расширения -> Выбераешь папку рабочую папку где редачишь.
Потом просто после внесение изменений жмешь ссылку перезагрузить расширения.
Для тестов если надо log: testoviy pass: qwerty
Добавлено спустя   2 минуты  39 секунд:
Я уже начал коментировать его но чет жрать очень хочется. Сейчас покушаю докомлю если надо.
Отпиши или тебе и так поняте скрипт комить надо?

Gemorroj » 2011.06.19 20:55

давай тогда последнюю приаттаченую мою версию каменть

TLENS » 2011.06.19 20:55

Ок
Добавлено спустя   4 минуты  28 секунд:
Я быстро пару яичек поджарю и начну

Gemorroj » 2011.06.19 21:06

о, спс, получилось. а что за new? как оно должно мигать?

TLENS » 2011.06.19 21:12

Мод отключи и поставь мой архив.
Не внось в настройки своего ника или напиши с тестового че нить на форуме ну чтоб уведомление сработало. И начнет мигать иконка расширения это делает background
Добавлено спустя   1 минуту  17 секунд:
Отключается через порт при запуске попы. но я щас гляну чего ты там наредачил
Добавлено спустя   5 минут  3 секунды:
Все коментирую

TLENS » 2011.06.19 21:23

Блин чет и моя версия не мигает сейчас буду раздуплять
Добавлено спустя   2 минуты  21 секунду:
А да нет то я попутал просто их три штуки открыто. Шас разберем чего не мигает.
Консоли кстати там есть нашел где ошибки.

TLENS » 2011.06.19 21:51

Что означает ошибка "Uncaught TypeError: Cannot read property '1' of undefined"?
Я чет не врублюсь

TLENS » 2011.06.19 22:10

В чем дело? Я привел в работоспособность но не пойму почему ошибка выскакивала?
this.color = [[255,255,255,255], [255,170,170,255], [255,85,85,255], [255,0,0,255]];
При вызове console.log(this.color[0]) или любой другой элемент массива получаю нужные данные но после выскакивает ошибка что писал выше.
Но до мода все работало.
Изза чего происходят такие явления? так на будущее
Добавлено спустя   8 минут  9 секунд:
Да еще одно при замене не забывай включать чуствительность к реестру

Gemorroj » 2011.06.19 22:22

реестру?) регистру. я сначала подумал что Window - window, просто написан некорректно. И стал все приводить в нижний регистр.
пытаемся получить свойство 1 у неопределенного объекта. видимо так. я там еще некоторые переменные убирал из глобальной области видимости, может лишнего убрал.

TLENS » 2011.06.19 22:45

Чет сам не пойму почему обьект с настройками и с звуком повторяются.

Gemorroj » 2011.06.19 22:51

потому что они написаны несколько раз в нескольких файлах в глобальной области видимости.

TLENS » 2011.06.19 23:07

Gemorroj написал:

потому что они написаны несколько раз в нескольких файлах в глобальной области видимости.

Я это и имел ввиду. Почему так в коментах описал.
Добавлено спустя   3 минуты  9 секунд:
Там чет заморочка была з совместимостью настроек для попы и жопы))(Фоновой страницы)
Смотри

TLENS » 2011.06.20 13:13

Ну что нам у тебя?

Gemorroj » 2011.06.20 14:04

рабоачя неделя началась, теперь не знаю когда время найду.

TLENS » 2011.06.21 22:17

Паша ты разширения не трогал?
Надо внести изменения

Gemorroj » 2011.06.21 22:58

вноси

Gemorroj » 2011.06.22 12:06

вот пока что есть.
там основная проблема в дублировании кода. нужно чистить.

Gemorroj » 2011.06.24 16:22

еще полазил. удалил закрытие (закрываем просто кликнув в сторону), удалил автоскрытие, ИМХО не юзабельно. и так всякое.

TLENS » 2011.06.24 16:25

Ну занимайся вообщем им.

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Замени этот обьект
 
var blink = new function () { // Мигалка
this.works = 0; // Включен или нет
this.step = 0; // Шаг цвета
this.timeId = 0; // clearTimeout
this.start = function () {
notification = webkitNotifications.createHTMLNotification('notification.html'); // Создаем уведомление
notification.show(); // Показать
if (this.works) { // Если уже мигает то не надо запускать повторно
return;
}
this.works = true; // сохраняем Включен
//this.works = 1;
chrome.browserAction.setBadgeText({text: 'NEW'}); // Цепляем текст к иконке
blink.flip(); // Начнем мигить фоном текста
};
this.flip = function() { // Мигаем фоном текста путем последовательной замены его цвета
switch(this.step) {
case 0:
this.step++;
chrome.browserAction.setBadgeBackgroundColor({color: [255,255,255,255]});
break;
 
case 1:
this.step++;
chrome.browserAction.setBadgeBackgroundColor({color: [255,170,170,255]});
break;
 
case 2:
this.step++;
chrome.browserAction.setBadgeBackgroundColor({color: [255,85,85,255]});
break;
 
case 3:
this.step++;
chrome.browserAction.setBadgeBackgroundColor({color: [255,0,0,255]});
break;
 
case 4:
this.step++;
chrome.browserAction.setBadgeBackgroundColor({color: [255,85,85,255]});
break;
 
case 5:
this.step = 0;
chrome.browserAction.setBadgeBackgroundColor({color: [255,170,170,255]});
break;
 
default:
this.step = 1;
chrome.browserAction.setBadgeBackgroundColor({color: [255,255,255,255]});
break;
}
this.timeId = setTimeout(blink.flip, 100);
};
this.stop = function () { // Остановка
this.works = false;
this.step = 0;
clearTimeout(this.timeId);
chrome.browserAction.setBadgeText({text: ''}); // Чистим иконку
};
};
Gemorroj » 2011.06.24 17:02

опиши подробнее что изменилось?

TLENS » 2011.06.24 17:11

Изменил.
localStorage['popup']
на this.works
А то оно чет не правильно работает.
Меня та база уже накаляет с переведениям в стороки.
Пишу 1 - 0
А оно все равно не срабатывает.
Проблема была в том что при каждом новом сообщении включалась мигалка не зависимо от того мигает или нет.
И оно мигало не правильно тот цыкл ставит один цвет другой цыкл другой цвет.
Можно еще после 18 строки в обекте вставить для надежности clearTimeout(this.timeId);

Gemorroj » 2011.06.24 18:04

...
Добавлено спустя   1 минуту  24 секунды:
TLENS, просто там код дублирован в 100 мест. отсюда и проблемы. если бы ты вынес получение настроек в 1 место, то элементарно можно было бы все к булю привести, а так прям не знаешь с какой стороны подступиться.

TLENS » 2011.06.24 18:09

Gemorroj написал:

прям не знаешь с какой стороны подступиться.

Что верно то верно.
Кстати никаких изменений.
Все равно пошел какой то сбой. Начал фон мигать как незнаю что. И не пойму в чем проблемма. Сейчас попробую вставить удаление таймаута
Добавлено спустя   1 минуту  35 секунд:
Видно по иконке что не один цыкл работает.
Мож вообще убрать ту мигалку и сделать правильно. Вставить туда число количество новых
Добавлено спустя   3 минуты :
Но не пойму. Такое началось после модов.
То тех пор все работало норм.
Добавлено спустя   4 минуты  1 секунду:
Сейчас консоль впишу затестирую

Gemorroj » 2011.06.24 18:16

ты скачивал последние модификации? показывает что загрузок 0 =)
проверь на новых версиях. потому как я не особо понимаю о чем ты говоришь)

TLENS » 2011.06.24 18:20

Все проблема решена при запуске попы цыкл не прекращает своих действий. (не срабатывает удаление таймаута)

Gemorroj » 2011.06.24 18:22

может svn заведем чтобы вместе код править?)

Gemorroj » 2011.06.24 18:31

https://code.google.com/p/wapinet-forum/ напиши мне в личку акк на гугле.
и давай мож отдельно тему заведем по расширению.
Добавлено спустя   3 минуты  2 секунды:
http://wapinet.ru/forum/viewtopic.php?id=1492 переезжаем.