Poniższy fragment kodu rozpieprza cały portal. To jest blok dotyczący “ostatnich odpowiedzi” z tym, że najprawdopodobniej nie cały ale ten fragment, który dotyczy ignorowania trolli.
Poniższy fragment kodu rozpieprza cały portal. To jest blok dotyczący “ostatnich odpowiedzi” z tym, że najprawdopodobniej nie cały ale ten fragment, który dotyczy ignorowania trolli. Jeśli jest na sali Phapowiec i potrafi wskazać “byka” w tym skrypcie, który zapętla bazę, będę wdzięczny za podpowiedź. Jeśli jest taki co widzi, ale chciałby na tym zarobić, to proszę o kontakt na kontrowersje@kontrowersje.net. Póki co musiałem wyłączyć ten blok, ponieważ nieustanie idą zapytania do bazy, które rozkładają portal.
‘, $right);
$right=ereg_replace(‘{img ‘, ‘‘, $right);
$right=ereg_replace(‘
$right=ereg_replace(“December”, “Grudzień”, $right);
$right=ereg_replace(“November”, “Listopad”, $right);
$right=ereg_replace(“September”, “Wrzesień”, $right);
$right=ereg_replace(“October”, “Październik”, $right);
$right=ereg_replace(“January”, “Styczeń”, $right);
$right=ereg_replace(“February”, “Luty”, $right);
$right=ereg_replace(“March”, “Marzec”, $right);
$right=ereg_replace(“April”, “Kwiecień”, $right);
$right=ereg_replace(“May”, “Maj”, $right);
$right=ereg_replace(“Juni”, “Czerwiec”, $right);
$right=ereg_replace(“July”, “Lipiec”, $right);
$right=ereg_replace(“August”, “Sierpień”, $right);
$right=ereg_replace(‘
‘, ‘
‘,$right);
$right=ereg_replace(‘
$right=ereg_replace(‘
$right=ereg_replace(‘Ostatnio dodane odpowiedzi’, ”,$right);
$right=ereg_replace(‘zaktualizowany’, ”,$right);
$right=ereg_replace(‘Szybka odpowiedź’, ”,$right);
if (!$user->roles[2]) $right=ereg_replace(‘Mój blog
‘, ”,$right);
print $right;
$profile = profile_load_profile($user);
$ostatnie_odpowiedzi = $user->profile_ostatnie_odpowiedzi;
if($ostatnie_odpowiedzi < 5) $ostatnie_odpowiedzi = 5;
$ignorowani = '';
$ignorowani .= " AND (UPPER(comments.name) != UPPER('Lustro')) ";
$ignorowani .= " AND (UPPER(comments.name) != UPPER('MaciekS')) ";
$ignorowani .= " AND (UPPER(comments.name) != UPPER('Leyte')) ";
//$ignorowani .= " AND (UPPER(comments.name) != UPPER('zlotousty_klamca')) ";
$query = "SELECT node.nid AS nid,
node.uid as uid
FROM {node} node
LEFT JOIN {term_node} term_node_174 ON node.vid = term_node_174.vid AND term_node_174.tid = 174
WHERE (term_node_174.tid = 174) and node.nid >50″;
$queryResult = db_query($query);
while ($nodescount = db_fetch_object($queryResult)) {
$comments_priv .= ” and comments.nid<>“.$nodescount->nid.” “;
}
$query=”SELECT comments.cid AS cid,
comments.subject AS comments_subject,
comments.nid AS comments_nid,
comments.pid As comments_pid,
comments.timestamp AS comments_timestamp,
comments.name AS comments_name,
comments.uid AS comments_uid,
comments.homepage AS comments_homepage,
comments.comment AS comments_comment,
comments.format AS comments_format,
history_user.timestamp AS history_user_timestamp,
history_user.nid AS history_user_nid,
node_comments.created AS node_comments_created,
node_comments.changed AS node_comments_changed,
node_comments__node_comment_statistics.last_comment_timestamp AS node_comments__node_comment_statistics_last_comment_timestamp,
node_comments.nid AS node_comments_nid
FROM root_comments comments
LEFT JOIN root_node node_comments ON comments.nid = node_comments.nid
LEFT JOIN root_history history_user ON node_comments.nid = history_user.nid AND history_user.uid = “.$user->uid.”
LEFT JOIN root_node_comment_statistics node_comments__node_comment_statistics ON node_comments.nid = node_comments__node_comment_statistics.nid and last_comment_uid<>519
WHERE (node_comments.status <> 0 OR node_comments.uid = “.$user->uid.”)”.$ignorowani.$comments_priv.”
ORDER BY comments_timestamp DESC limit “.$ostatnie_odpowiedzi.””;
$queryResult = db_query($query);
?>
Nie jestem PHPowcem
ale mam postulat jak najbardziej on-topic, połączony z ankietą. Otóż – jak napisałem już u siebie – dla mnie ten blok “ostatnie odpowiedzi” (prawa strona layoutu, w zakładce “Portal”) mógłby nie istnieć – i tu pytanie: Czy ktokolwiek dotkliwie czuje jego brak?
Bo jeżeli nie, to można z niego zrezygnować, przynajmniej tymczasowo, do czasu znalezienia (się) fachowca od PHP. A wszystkim, którzy lubią być na bieżąco z wpisami i komentarzami, polecam podstronę http://kontrowersje.net/tracker, posortowaną wg prawej kolumny “ostatni wpis”, od najnowszych do najstarszych.
Natomiast z uporem maniaka postulowałbym przywrócenie ustawialności widoku (ilości i kolejności) komentarzy POD WPISEM oraz znaczników “New”. A jeżeli nie, bo provider…, to czy można spróbować chociaż na chwilę i zobaczyć, jak to faktycznie wpłynie na portal. Bo jeżeli problem był z blokiem, wspólnym dla wszystkich layoutów, a nie z ustawialnością komentarzy, to może jednak jej przywrócenie nie namiesza? Czy też może jest to związane jedno z drugim (ustawialność i znaczniki z blokiem po prawej)???
Jeżeli okaże się, że od tego portal znowu zacznie mulić, obiecuję uroczyście zamknąć buzię i nie wracać do sprawy. Przez jakiś czas.
Odpowiedzi mogę spróbować
Odpowiedzi mogę spróbować przywrócić, ale ten blok jest istotny, to był prosty w obsłudze wskaźnik tętna na portalu. Z tym “new” nie mam pojęcia o co chodzi, bo w tym nic nie grzebałem, skoro znikło, to pewnie jest z czymś powiązane. Tak czy siak PHP-owiec jest niezbędny, sam Drupal daję rade nie z takimi portalami jak Kontrowersje, problem polega na tym, że “magik” od zabaw z trollami nadbudował oryginalne skrypty, aby zaimponować humanitarną zabawką, a to się teraz odzywa i to w kilku miejscach. Po wyłączeniu bloku portal hula, aż miło. Ale to jeszcze nie jest to co powinno, jeszcze się odzywają jakieś odwołania do tego skryptu w czerwonych komunikatach na stronie.
Z~5 lat temu wyrzuciłem z mózgu. Nic w systemie, ściągnę.
Dziwnie niegramatycznie mi wygląda ale może być chytre. Odpowiem za parę godzin.
Prześlij na e-mail ~+/- z A4 przed i za fragmentem.
Odpowiedziałem odnośnie przesłanego fragmentu.
.
Tak dostałem dzięki za pomoc
Tak dostałem dzięki za pomoc Tobie i tetrykowi. Na razie niech pochodzi zobaczymy.
Bardz dziękuję
teraz jest dużo lepiej, nowe odpowiedzi łatwiej wyłapać, bo pojawiają się “od góry” lub “na końcach” gałęzi drzewka. Znaczniki “New” dałyby jeszcze więcej wygody, ale jak na razie się nie da, to trudno.
Mnie ani specjalnie dziękować
Mnie ani specjalnie dziękować nie trzeba, ani prosić, po prostu chcę, żeby to chodziło jak najlepiej, a ponieważ jestem sam jak palec w kiszce stolcowej ze wszystkim, to zgaduję w czym rzecz. Mnie nie przeszkadzają funkcje dla użytkowników, w ogóle się tym nie zajmuję, problem polega na tym, że takie ustalanie przyczyny to zgadywanie, nawet wśród fachowców. Jeśli będzie chodzić z ustawieniami komentarzy, to znaczy, że to nie jest powód mulenia portalu i funkcja wróci. Na pewno komentarze są powodem, co konkretnie, to musiałby ktoś kumaty ustalić.
Quackie, cześć.
Ja mam NEW w komentarzach pod wpisem.
O?
A ja nie. Może jakiś restart przeglądarki… albo kompa… być może na chwilę zniknę…
Edit: przeglądarka chyba nie. Może inna. Albo komputer.
Edit2: Jestem po restarcie, edytuję, żeby przetestować…
Edit3: Nie bangla. Dam sobie spokój.
Edit 4: Osz kurde. Pod Chromem widać znaczniki! Chyba zmienię przeglądarkę…
Nie jestem PHPowcem
ale mam postulat jak najbardziej on-topic, połączony z ankietą. Otóż – jak napisałem już u siebie – dla mnie ten blok “ostatnie odpowiedzi” (prawa strona layoutu, w zakładce “Portal”) mógłby nie istnieć – i tu pytanie: Czy ktokolwiek dotkliwie czuje jego brak?
Bo jeżeli nie, to można z niego zrezygnować, przynajmniej tymczasowo, do czasu znalezienia (się) fachowca od PHP. A wszystkim, którzy lubią być na bieżąco z wpisami i komentarzami, polecam podstronę http://kontrowersje.net/tracker, posortowaną wg prawej kolumny “ostatni wpis”, od najnowszych do najstarszych.
Natomiast z uporem maniaka postulowałbym przywrócenie ustawialności widoku (ilości i kolejności) komentarzy POD WPISEM oraz znaczników “New”. A jeżeli nie, bo provider…, to czy można spróbować chociaż na chwilę i zobaczyć, jak to faktycznie wpłynie na portal. Bo jeżeli problem był z blokiem, wspólnym dla wszystkich layoutów, a nie z ustawialnością komentarzy, to może jednak jej przywrócenie nie namiesza? Czy też może jest to związane jedno z drugim (ustawialność i znaczniki z blokiem po prawej)???
Jeżeli okaże się, że od tego portal znowu zacznie mulić, obiecuję uroczyście zamknąć buzię i nie wracać do sprawy. Przez jakiś czas.
Odpowiedzi mogę spróbować
Odpowiedzi mogę spróbować przywrócić, ale ten blok jest istotny, to był prosty w obsłudze wskaźnik tętna na portalu. Z tym “new” nie mam pojęcia o co chodzi, bo w tym nic nie grzebałem, skoro znikło, to pewnie jest z czymś powiązane. Tak czy siak PHP-owiec jest niezbędny, sam Drupal daję rade nie z takimi portalami jak Kontrowersje, problem polega na tym, że “magik” od zabaw z trollami nadbudował oryginalne skrypty, aby zaimponować humanitarną zabawką, a to się teraz odzywa i to w kilku miejscach. Po wyłączeniu bloku portal hula, aż miło. Ale to jeszcze nie jest to co powinno, jeszcze się odzywają jakieś odwołania do tego skryptu w czerwonych komunikatach na stronie.
Z~5 lat temu wyrzuciłem z mózgu. Nic w systemie, ściągnę.
Dziwnie niegramatycznie mi wygląda ale może być chytre. Odpowiem za parę godzin.
Prześlij na e-mail ~+/- z A4 przed i za fragmentem.
Odpowiedziałem odnośnie przesłanego fragmentu.
.
Tak dostałem dzięki za pomoc
Tak dostałem dzięki za pomoc Tobie i tetrykowi. Na razie niech pochodzi zobaczymy.
Bardz dziękuję
teraz jest dużo lepiej, nowe odpowiedzi łatwiej wyłapać, bo pojawiają się “od góry” lub “na końcach” gałęzi drzewka. Znaczniki “New” dałyby jeszcze więcej wygody, ale jak na razie się nie da, to trudno.
Mnie ani specjalnie dziękować
Mnie ani specjalnie dziękować nie trzeba, ani prosić, po prostu chcę, żeby to chodziło jak najlepiej, a ponieważ jestem sam jak palec w kiszce stolcowej ze wszystkim, to zgaduję w czym rzecz. Mnie nie przeszkadzają funkcje dla użytkowników, w ogóle się tym nie zajmuję, problem polega na tym, że takie ustalanie przyczyny to zgadywanie, nawet wśród fachowców. Jeśli będzie chodzić z ustawieniami komentarzy, to znaczy, że to nie jest powód mulenia portalu i funkcja wróci. Na pewno komentarze są powodem, co konkretnie, to musiałby ktoś kumaty ustalić.
Quackie, cześć.
Ja mam NEW w komentarzach pod wpisem.
O?
A ja nie. Może jakiś restart przeglądarki… albo kompa… być może na chwilę zniknę…
Edit: przeglądarka chyba nie. Może inna. Albo komputer.
Edit2: Jestem po restarcie, edytuję, żeby przetestować…
Edit3: Nie bangla. Dam sobie spokój.
Edit 4: Osz kurde. Pod Chromem widać znaczniki! Chyba zmienię przeglądarkę…
Nie jestem PHPowcem
ale mam postulat jak najbardziej on-topic, połączony z ankietą. Otóż – jak napisałem już u siebie – dla mnie ten blok “ostatnie odpowiedzi” (prawa strona layoutu, w zakładce “Portal”) mógłby nie istnieć – i tu pytanie: Czy ktokolwiek dotkliwie czuje jego brak?
Bo jeżeli nie, to można z niego zrezygnować, przynajmniej tymczasowo, do czasu znalezienia (się) fachowca od PHP. A wszystkim, którzy lubią być na bieżąco z wpisami i komentarzami, polecam podstronę http://kontrowersje.net/tracker, posortowaną wg prawej kolumny “ostatni wpis”, od najnowszych do najstarszych.
Natomiast z uporem maniaka postulowałbym przywrócenie ustawialności widoku (ilości i kolejności) komentarzy POD WPISEM oraz znaczników “New”. A jeżeli nie, bo provider…, to czy można spróbować chociaż na chwilę i zobaczyć, jak to faktycznie wpłynie na portal. Bo jeżeli problem był z blokiem, wspólnym dla wszystkich layoutów, a nie z ustawialnością komentarzy, to może jednak jej przywrócenie nie namiesza? Czy też może jest to związane jedno z drugim (ustawialność i znaczniki z blokiem po prawej)???
Jeżeli okaże się, że od tego portal znowu zacznie mulić, obiecuję uroczyście zamknąć buzię i nie wracać do sprawy. Przez jakiś czas.
Odpowiedzi mogę spróbować
Odpowiedzi mogę spróbować przywrócić, ale ten blok jest istotny, to był prosty w obsłudze wskaźnik tętna na portalu. Z tym “new” nie mam pojęcia o co chodzi, bo w tym nic nie grzebałem, skoro znikło, to pewnie jest z czymś powiązane. Tak czy siak PHP-owiec jest niezbędny, sam Drupal daję rade nie z takimi portalami jak Kontrowersje, problem polega na tym, że “magik” od zabaw z trollami nadbudował oryginalne skrypty, aby zaimponować humanitarną zabawką, a to się teraz odzywa i to w kilku miejscach. Po wyłączeniu bloku portal hula, aż miło. Ale to jeszcze nie jest to co powinno, jeszcze się odzywają jakieś odwołania do tego skryptu w czerwonych komunikatach na stronie.
Z~5 lat temu wyrzuciłem z mózgu. Nic w systemie, ściągnę.
Dziwnie niegramatycznie mi wygląda ale może być chytre. Odpowiem za parę godzin.
Prześlij na e-mail ~+/- z A4 przed i za fragmentem.
Odpowiedziałem odnośnie przesłanego fragmentu.
.
Tak dostałem dzięki za pomoc
Tak dostałem dzięki za pomoc Tobie i tetrykowi. Na razie niech pochodzi zobaczymy.
Bardz dziękuję
teraz jest dużo lepiej, nowe odpowiedzi łatwiej wyłapać, bo pojawiają się “od góry” lub “na końcach” gałęzi drzewka. Znaczniki “New” dałyby jeszcze więcej wygody, ale jak na razie się nie da, to trudno.
Mnie ani specjalnie dziękować
Mnie ani specjalnie dziękować nie trzeba, ani prosić, po prostu chcę, żeby to chodziło jak najlepiej, a ponieważ jestem sam jak palec w kiszce stolcowej ze wszystkim, to zgaduję w czym rzecz. Mnie nie przeszkadzają funkcje dla użytkowników, w ogóle się tym nie zajmuję, problem polega na tym, że takie ustalanie przyczyny to zgadywanie, nawet wśród fachowców. Jeśli będzie chodzić z ustawieniami komentarzy, to znaczy, że to nie jest powód mulenia portalu i funkcja wróci. Na pewno komentarze są powodem, co konkretnie, to musiałby ktoś kumaty ustalić.
Quackie, cześć.
Ja mam NEW w komentarzach pod wpisem.
O?
A ja nie. Może jakiś restart przeglądarki… albo kompa… być może na chwilę zniknę…
Edit: przeglądarka chyba nie. Może inna. Albo komputer.
Edit2: Jestem po restarcie, edytuję, żeby przetestować…
Edit3: Nie bangla. Dam sobie spokój.
Edit 4: Osz kurde. Pod Chromem widać znaczniki! Chyba zmienię przeglądarkę…
Na początek:
pierwsze i trzecie wywołanie funkcji ereg_replace jest niedomknięte ( wymagane są trzy argumenty i nawias zamykający, a po nim średnik).
Wywołania ereg_replace pomiędzy :
ereg_replace(“August”, “Sierpień”, $right);
a
ereg_replace(‘Ostatnio dodane odpowiedzi’, ”,$right);
są bezużyteczne, mogą być usunięte – dla pewności na początek zakomentuj stawiając // na początku każdej linii lub obejmij je /* i */
Jeżeli zmienna $comments_priv nie jest wcześniej inicjalizowana, błędem jest inicjalizacja przez .= ; w takiej sytuacji powinno być = bez kropki.
Jakiej wersji PHP używasz?
c.d.n.(b.m.)
Niestety nie mam pojęcia o
Niestety nie mam pojęcia o czym do mnie mówisz. Znacznie prościej po prostu poprawić te znaczniki i wkleić w komentarzu poprawiony kod. Ale to co piszesz to jest chyba kosmetyka, bo do bazy cały czas idą zapytania dotyczące tego fragmentu, co kasuje wpisy trolli z SG. Z tą wersją PHP nie wiem gdzie tego szukać, ale coś takiego znalazłem Wersja klienta MySQL: 5.0.84
Raczej faktycznie kosmetyka
edytor graficzny popieprzył mi poprawki. :(((
Ale popieprzone nawiasy mogą zakłócić następujący po nich kod…
Spróbuj tak:
‘, $right);
/*$right=ereg_replace(‘
‘, ‘
‘, $right);
*/
$right=ereg_replace(“December”, “Grudzień”, $right);
$right=ereg_replace(“November”, “Listopad”, $right);
$right=ereg_replace(“September”, “Wrzesień”, $right);
$right=ereg_replace(“October”, “Październik”, $right);
$right=ereg_replace(“January”, “Styczeń”, $right);
$right=ereg_replace(“February”, “Luty”, $right);
$right=ereg_replace(“March”, “Marzec”, $right);
$right=ereg_replace(“April”, “Kwiecień”, $right);
$right=ereg_replace(“May”, “Maj”, $right);
$right=ereg_replace(“Juni”, “Czerwiec”, $right);
$right=ereg_replace(“July”, “Lipiec”, $right);
$right=ereg_replace(“August”, “Sierpień”, $right);
/*$right=ereg_replace(‘ ndz.
‘, ‘ ndz.
‘,$right);
$right=ereg_replace(‘
‘, ‘
‘,$right);
$right=ereg_replace(‘
‘, ‘
‘,$right);
*/
$right=ereg_replace(‘Ostatnio dodane odpowiedzi’, ”,$right);
$right=ereg_replace(‘zaktualizowany’, ”,$right);
$right=ereg_replace(‘Szybka odpowiedź’, ”,$right);
if (!$user->roles[2]) $right=ereg_replace(‘Mój blog
# Pisz bloga
‘, ”,$right);
print $right;
$profile = profile_load_profile($user);
$ostatnie_odpowiedzi = $user->profile_ostatnie_odpowiedzi;
if($ostatnie_odpowiedzi < 5) $ostatnie_odpowiedzi = 5; $ignorowani = ''; $ignorowani .= " AND (UPPER(comments.name) != UPPER('Lustro')) "; $ignorowani .= " AND (UPPER(comments.name) != UPPER('MaciekS')) "; $ignorowani .= " AND (UPPER(comments.name) != UPPER('Leyte')) "; //$ignorowani .= " AND (UPPER(comments.name) != UPPER('zlotousty_klamca')) "; $query = "SELECT node.nid AS nid, node.uid as uid FROM {node} node LEFT JOIN {term_node} term_node_174 ON node.vid = term_node_174.vid AND term_node_174.tid = 174 WHERE (term_node_174.tid = 174) and node.nid >50″;
$queryResult = db_query($query);
$comments_priv = ”;
while ($nodescount = db_fetch_object($queryResult)) {
$comments_priv .= ” and comments.nid<>“.$nodescount->nid.” “;
}
$query=”SELECT comments.cid AS cid,
comments.subject AS comments_subject,
comments.nid AS comments_nid,
comments.pid As comments_pid,
comments.timestamp AS comments_timestamp,
comments.name AS comments_name,
comments.uid AS comments_uid,
comments.homepage AS comments_homepage,
comments.comment AS comments_comment,
comments.format AS comments_format,
history_user.timestamp AS history_user_timestamp,
history_user.nid AS history_user_nid,
node_comments.created AS node_comments_created,
node_comments.changed AS node_comments_changed,
node_comments__node_comment_statistics.last_comment_timestamp AS node_comments__node_comment_statistics_last_comment_timestamp,
node_comments.nid AS node_comments_nid
FROM root_comments comments
LEFT JOIN root_node node_comments ON comments.nid = node_comments.nid
LEFT JOIN root_history history_user ON node_comments.nid = history_user.nid AND history_user.uid = “.$user->uid.”
LEFT JOIN root_node_comment_statistics node_comments__node_comment_statistics ON node_comments.nid = node_comments__node_comment_statistics.nid and last_comment_uid<>519
WHERE (node_comments.status <> 0 OR node_comments.uid = “.$user->uid.”)”.$ignorowani.$comments_priv.”
ORDER BY comments_timestamp DESC limit “.$ostatnie_odpowiedzi.””;
$queryResult = db_query($query);
?>
edytor kontrowersji zmienił wklejony kod
.
jeżeli poprzednie zadziała
to linie rozpoczynające się od // i zawarte między /* a */ będzie można wywalić.
Włączyłem to co poprawiłeś,
Włączyłem to co poprawiłeś, ale mam wrażenie, że już muli portal. Może to ja jestem przewrażliwiony, niech pochodzi… zobaczymy.
Mulić może nie,
ale CHYBA faktycznie NIECO wolniej chodzi.
Problem polega na tym, że
Problem polega na tym, że portal hula jak burza nawet z tym skryptem, tylko wiesza się wtedy, gdy do bazy idą zapytania o komentarze. Nie wiem jakie komentarze, być może jakieś archiwalne, być może coś jeszcze innego. Tak czy siak jest na bank przyczyna problemów i żaden serwer, nawet dedykowany tego nie wytrzyma.
Na początek:
pierwsze i trzecie wywołanie funkcji ereg_replace jest niedomknięte ( wymagane są trzy argumenty i nawias zamykający, a po nim średnik).
Wywołania ereg_replace pomiędzy :
ereg_replace(“August”, “Sierpień”, $right);
a
ereg_replace(‘Ostatnio dodane odpowiedzi’, ”,$right);
są bezużyteczne, mogą być usunięte – dla pewności na początek zakomentuj stawiając // na początku każdej linii lub obejmij je /* i */
Jeżeli zmienna $comments_priv nie jest wcześniej inicjalizowana, błędem jest inicjalizacja przez .= ; w takiej sytuacji powinno być = bez kropki.
Jakiej wersji PHP używasz?
c.d.n.(b.m.)
Niestety nie mam pojęcia o
Niestety nie mam pojęcia o czym do mnie mówisz. Znacznie prościej po prostu poprawić te znaczniki i wkleić w komentarzu poprawiony kod. Ale to co piszesz to jest chyba kosmetyka, bo do bazy cały czas idą zapytania dotyczące tego fragmentu, co kasuje wpisy trolli z SG. Z tą wersją PHP nie wiem gdzie tego szukać, ale coś takiego znalazłem Wersja klienta MySQL: 5.0.84
Raczej faktycznie kosmetyka
edytor graficzny popieprzył mi poprawki. :(((
Ale popieprzone nawiasy mogą zakłócić następujący po nich kod…
Spróbuj tak:
‘, $right);
/*$right=ereg_replace(‘
‘, ‘
‘, $right);
*/
$right=ereg_replace(“December”, “Grudzień”, $right);
$right=ereg_replace(“November”, “Listopad”, $right);
$right=ereg_replace(“September”, “Wrzesień”, $right);
$right=ereg_replace(“October”, “Październik”, $right);
$right=ereg_replace(“January”, “Styczeń”, $right);
$right=ereg_replace(“February”, “Luty”, $right);
$right=ereg_replace(“March”, “Marzec”, $right);
$right=ereg_replace(“April”, “Kwiecień”, $right);
$right=ereg_replace(“May”, “Maj”, $right);
$right=ereg_replace(“Juni”, “Czerwiec”, $right);
$right=ereg_replace(“July”, “Lipiec”, $right);
$right=ereg_replace(“August”, “Sierpień”, $right);
/*$right=ereg_replace(‘ ndz.
‘, ‘ ndz.
‘,$right);
$right=ereg_replace(‘
‘, ‘
‘,$right);
$right=ereg_replace(‘
‘, ‘
‘,$right);
*/
$right=ereg_replace(‘Ostatnio dodane odpowiedzi’, ”,$right);
$right=ereg_replace(‘zaktualizowany’, ”,$right);
$right=ereg_replace(‘Szybka odpowiedź’, ”,$right);
if (!$user->roles[2]) $right=ereg_replace(‘Mój blog
# Pisz bloga
‘, ”,$right);
print $right;
$profile = profile_load_profile($user);
$ostatnie_odpowiedzi = $user->profile_ostatnie_odpowiedzi;
if($ostatnie_odpowiedzi < 5) $ostatnie_odpowiedzi = 5; $ignorowani = ''; $ignorowani .= " AND (UPPER(comments.name) != UPPER('Lustro')) "; $ignorowani .= " AND (UPPER(comments.name) != UPPER('MaciekS')) "; $ignorowani .= " AND (UPPER(comments.name) != UPPER('Leyte')) "; //$ignorowani .= " AND (UPPER(comments.name) != UPPER('zlotousty_klamca')) "; $query = "SELECT node.nid AS nid, node.uid as uid FROM {node} node LEFT JOIN {term_node} term_node_174 ON node.vid = term_node_174.vid AND term_node_174.tid = 174 WHERE (term_node_174.tid = 174) and node.nid >50″;
$queryResult = db_query($query);
$comments_priv = ”;
while ($nodescount = db_fetch_object($queryResult)) {
$comments_priv .= ” and comments.nid<>“.$nodescount->nid.” “;
}
$query=”SELECT comments.cid AS cid,
comments.subject AS comments_subject,
comments.nid AS comments_nid,
comments.pid As comments_pid,
comments.timestamp AS comments_timestamp,
comments.name AS comments_name,
comments.uid AS comments_uid,
comments.homepage AS comments_homepage,
comments.comment AS comments_comment,
comments.format AS comments_format,
history_user.timestamp AS history_user_timestamp,
history_user.nid AS history_user_nid,
node_comments.created AS node_comments_created,
node_comments.changed AS node_comments_changed,
node_comments__node_comment_statistics.last_comment_timestamp AS node_comments__node_comment_statistics_last_comment_timestamp,
node_comments.nid AS node_comments_nid
FROM root_comments comments
LEFT JOIN root_node node_comments ON comments.nid = node_comments.nid
LEFT JOIN root_history history_user ON node_comments.nid = history_user.nid AND history_user.uid = “.$user->uid.”
LEFT JOIN root_node_comment_statistics node_comments__node_comment_statistics ON node_comments.nid = node_comments__node_comment_statistics.nid and last_comment_uid<>519
WHERE (node_comments.status <> 0 OR node_comments.uid = “.$user->uid.”)”.$ignorowani.$comments_priv.”
ORDER BY comments_timestamp DESC limit “.$ostatnie_odpowiedzi.””;
$queryResult = db_query($query);
?>
edytor kontrowersji zmienił wklejony kod
.
jeżeli poprzednie zadziała
to linie rozpoczynające się od // i zawarte między /* a */ będzie można wywalić.
Włączyłem to co poprawiłeś,
Włączyłem to co poprawiłeś, ale mam wrażenie, że już muli portal. Może to ja jestem przewrażliwiony, niech pochodzi… zobaczymy.
Mulić może nie,
ale CHYBA faktycznie NIECO wolniej chodzi.
Problem polega na tym, że
Problem polega na tym, że portal hula jak burza nawet z tym skryptem, tylko wiesza się wtedy, gdy do bazy idą zapytania o komentarze. Nie wiem jakie komentarze, być może jakieś archiwalne, być może coś jeszcze innego. Tak czy siak jest na bank przyczyna problemów i żaden serwer, nawet dedykowany tego nie wytrzyma.
Na początek:
pierwsze i trzecie wywołanie funkcji ereg_replace jest niedomknięte ( wymagane są trzy argumenty i nawias zamykający, a po nim średnik).
Wywołania ereg_replace pomiędzy :
ereg_replace(“August”, “Sierpień”, $right);
a
ereg_replace(‘Ostatnio dodane odpowiedzi’, ”,$right);
są bezużyteczne, mogą być usunięte – dla pewności na początek zakomentuj stawiając // na początku każdej linii lub obejmij je /* i */
Jeżeli zmienna $comments_priv nie jest wcześniej inicjalizowana, błędem jest inicjalizacja przez .= ; w takiej sytuacji powinno być = bez kropki.
Jakiej wersji PHP używasz?
c.d.n.(b.m.)
Niestety nie mam pojęcia o
Niestety nie mam pojęcia o czym do mnie mówisz. Znacznie prościej po prostu poprawić te znaczniki i wkleić w komentarzu poprawiony kod. Ale to co piszesz to jest chyba kosmetyka, bo do bazy cały czas idą zapytania dotyczące tego fragmentu, co kasuje wpisy trolli z SG. Z tą wersją PHP nie wiem gdzie tego szukać, ale coś takiego znalazłem Wersja klienta MySQL: 5.0.84
Raczej faktycznie kosmetyka
edytor graficzny popieprzył mi poprawki. :(((
Ale popieprzone nawiasy mogą zakłócić następujący po nich kod…
Spróbuj tak:
‘, $right);
/*$right=ereg_replace(‘
‘, ‘
‘, $right);
*/
$right=ereg_replace(“December”, “Grudzień”, $right);
$right=ereg_replace(“November”, “Listopad”, $right);
$right=ereg_replace(“September”, “Wrzesień”, $right);
$right=ereg_replace(“October”, “Październik”, $right);
$right=ereg_replace(“January”, “Styczeń”, $right);
$right=ereg_replace(“February”, “Luty”, $right);
$right=ereg_replace(“March”, “Marzec”, $right);
$right=ereg_replace(“April”, “Kwiecień”, $right);
$right=ereg_replace(“May”, “Maj”, $right);
$right=ereg_replace(“Juni”, “Czerwiec”, $right);
$right=ereg_replace(“July”, “Lipiec”, $right);
$right=ereg_replace(“August”, “Sierpień”, $right);
/*$right=ereg_replace(‘ ndz.
‘, ‘ ndz.
‘,$right);
$right=ereg_replace(‘
‘, ‘
‘,$right);
$right=ereg_replace(‘
‘, ‘
‘,$right);
*/
$right=ereg_replace(‘Ostatnio dodane odpowiedzi’, ”,$right);
$right=ereg_replace(‘zaktualizowany’, ”,$right);
$right=ereg_replace(‘Szybka odpowiedź’, ”,$right);
if (!$user->roles[2]) $right=ereg_replace(‘Mój blog
# Pisz bloga
‘, ”,$right);
print $right;
$profile = profile_load_profile($user);
$ostatnie_odpowiedzi = $user->profile_ostatnie_odpowiedzi;
if($ostatnie_odpowiedzi < 5) $ostatnie_odpowiedzi = 5; $ignorowani = ''; $ignorowani .= " AND (UPPER(comments.name) != UPPER('Lustro')) "; $ignorowani .= " AND (UPPER(comments.name) != UPPER('MaciekS')) "; $ignorowani .= " AND (UPPER(comments.name) != UPPER('Leyte')) "; //$ignorowani .= " AND (UPPER(comments.name) != UPPER('zlotousty_klamca')) "; $query = "SELECT node.nid AS nid, node.uid as uid FROM {node} node LEFT JOIN {term_node} term_node_174 ON node.vid = term_node_174.vid AND term_node_174.tid = 174 WHERE (term_node_174.tid = 174) and node.nid >50″;
$queryResult = db_query($query);
$comments_priv = ”;
while ($nodescount = db_fetch_object($queryResult)) {
$comments_priv .= ” and comments.nid<>“.$nodescount->nid.” “;
}
$query=”SELECT comments.cid AS cid,
comments.subject AS comments_subject,
comments.nid AS comments_nid,
comments.pid As comments_pid,
comments.timestamp AS comments_timestamp,
comments.name AS comments_name,
comments.uid AS comments_uid,
comments.homepage AS comments_homepage,
comments.comment AS comments_comment,
comments.format AS comments_format,
history_user.timestamp AS history_user_timestamp,
history_user.nid AS history_user_nid,
node_comments.created AS node_comments_created,
node_comments.changed AS node_comments_changed,
node_comments__node_comment_statistics.last_comment_timestamp AS node_comments__node_comment_statistics_last_comment_timestamp,
node_comments.nid AS node_comments_nid
FROM root_comments comments
LEFT JOIN root_node node_comments ON comments.nid = node_comments.nid
LEFT JOIN root_history history_user ON node_comments.nid = history_user.nid AND history_user.uid = “.$user->uid.”
LEFT JOIN root_node_comment_statistics node_comments__node_comment_statistics ON node_comments.nid = node_comments__node_comment_statistics.nid and last_comment_uid<>519
WHERE (node_comments.status <> 0 OR node_comments.uid = “.$user->uid.”)”.$ignorowani.$comments_priv.”
ORDER BY comments_timestamp DESC limit “.$ostatnie_odpowiedzi.””;
$queryResult = db_query($query);
?>
edytor kontrowersji zmienił wklejony kod
.
jeżeli poprzednie zadziała
to linie rozpoczynające się od // i zawarte między /* a */ będzie można wywalić.
Włączyłem to co poprawiłeś,
Włączyłem to co poprawiłeś, ale mam wrażenie, że już muli portal. Może to ja jestem przewrażliwiony, niech pochodzi… zobaczymy.
Mulić może nie,
ale CHYBA faktycznie NIECO wolniej chodzi.
Problem polega na tym, że
Problem polega na tym, że portal hula jak burza nawet z tym skryptem, tylko wiesza się wtedy, gdy do bazy idą zapytania o komentarze. Nie wiem jakie komentarze, być może jakieś archiwalne, być może coś jeszcze innego. Tak czy siak jest na bank przyczyna problemów i żaden serwer, nawet dedykowany tego nie wytrzyma.
Witam
Nie da się rozwinąć listy wątkowej w dziale portal poleca. W pozostałych działach działa rozwijanie listy wątkowej. Mam nadzieję, że uda się ponaprawiać to wszystko.
Pozdr.
Dodane
Ps. Dziwne – po wpisaniu tego komentarza lista wątków się automatycznie rozwinęla.
Witam
Nie da się rozwinąć listy wątkowej w dziale portal poleca. W pozostałych działach działa rozwijanie listy wątkowej. Mam nadzieję, że uda się ponaprawiać to wszystko.
Pozdr.
Dodane
Ps. Dziwne – po wpisaniu tego komentarza lista wątków się automatycznie rozwinęla.
Witam
Nie da się rozwinąć listy wątkowej w dziale portal poleca. W pozostałych działach działa rozwijanie listy wątkowej. Mam nadzieję, że uda się ponaprawiać to wszystko.
Pozdr.
Dodane
Ps. Dziwne – po wpisaniu tego komentarza lista wątków się automatycznie rozwinęla.
Kod który przedstawiłeś ma masę blędów składniowych.
Największym jednak problemem jest to, że skrypt jest tylko fragmentem , więc tak naprawdę nie wiele można wywnioskowć. Wiem, że to zabrzmi zbyt technicznie dla Ciebie ale widzę, że w przykładzie wykorzystane zostały “klasy” i “funkcje”, bez których zapoznania sie, przyczynę trudno odkryć.
Również kompozycje SQL mogą powiedzieć coś wiecej o problemie, ale bez wglądu do bazy danych można tylko się domyślać.
Inna sprawa to ‘ereg_replace’, która została już wycofana z ostaniej wersji PHP bo muli serwer. Należałoby użyć ‘preg_replace’.
W podsumowaniu:
– sprawdź skrypt i wyświetl go w całości (może to być jednak nie bardzo bezpieczne dla twojego portalu !).
– odnajdź funkcje i klasy również załącz do skrtyptu (również bezpieczeństwo !).
– sprawdź bazę danych i skrypt SQL
– na czas naprawy zablokuj stronę używając filtra IP w .htaccess. Również włącz “Errors i Warnings” w .htaccess
Na razie załączam poprawiony skrypt z użyciem ‘preg_replace’:
‘, $right);
$right=preg_replace(“/December/”, “Grudzień”, $right);
$right=preg_replace(“/November/”, “Listopad”, $right);
$right=preg_replace(“/September/”, “Wrzesień”, $right);
$right=preg_replace(“/October/”, “Październik”, $right);
$right=preg_replace(“/January/”, “Styczeń”, $right);
$right=preg_replace(“/February/”, “Luty”, $right);
$right=preg_replace(“/March/”, “Marzec”, $right);
$right=preg_replace(“/April/”, “Kwiecień”, $right);
$right=preg_replace(“/May/”, “Maj”, $right);
$right=preg_replace(“/Juni/”, “Czerwiec”, $right);
$right=preg_replace(“/July/”, “Lipiec”, $right);
$right=preg_replace(“/August/”, “Sierpień”, $right);
$right=preg_replace(‘/Ostatnio dodane odpowiedzi/’, ”,$right);
$right=preg_replace(‘/zaktualizowany/’, ”,$right);
$right=preg_replace(‘/Szybka odpowiedź/’, ”,$right);
if (!$user->roles[2]) $right=preg_replace(‘/Mój blog Pisz bloga/’, ”,$right);
print $right;
$profile = profile_load_profile($user);
$ostatnie_odpowiedzi = $user->profile_ostatnie_odpowiedzi;
if($ostatnie_odpowiedzi < 5) $ostatnie_odpowiedzi = 5; $ignorowani = " AND (UPPER(comments.name) != UPPER('Lustro')) AND (UPPER(comments.name) != UPPER('MaciekS')) AND (UPPER(comments.name) != UPPER('Leyte')) AND (UPPER(comments.name) != UPPER('zlotousty_klamca')) "; $query = "SELECT node.nid AS nid, node.uid as uid FROM {node} node LEFT JOIN {term_node} term_node_174 ON node.vid = term_node_174.vid AND term_node_174.tid = 174 WHERE (term_node_174.tid = 174) and node.nid >50″;
$queryResult = db_query($query);
while ($nodescount = db_fetch_object($queryResult)) {$comments_priv .= ” and comments.nid<>“.$nodescount->nid.” “;}
$query=”SELECT comments.cid AS cid,
comments.subject AS comments_subject,
comments.nid AS comments_nid,
comments.pid As comments_pid,
comments.timestamp AS comments_timestamp,
comments.name AS comments_name,
comments.uid AS comments_uid,
comments.homepage AS comments_homepage,
comments.comment AS comments_comment,
comments.format AS comments_format,
history_user.timestamp AS history_user_timestamp,
history_user.nid AS history_user_nid,
node_comments.created AS node_comments_created,
node_comments.changed AS node_comments_changed,
node_comments__node_comment_statistics.last_comment_timestamp AS node_comments__node_comment_statistics_last_comment_timestamp,
node_comments.nid AS node_comments_nid
FROM root_comments comments
LEFT JOIN root_node node_comments ON comments.nid = node_comments.nid
LEFT JOIN root_history history_user ON node_comments.nid = history_user.nid AND history_user.uid = “.$user->uid.”
LEFT JOIN root_node_comment_statistics node_comments__node_comment_statistics ON node_comments.nid = node_comments__node_comment_statistics.nid and last_comment_uid<>519
WHERE (node_comments.status <> 0 OR node_comments.uid = “.$user->uid.”)”.$ignorowani.$comments_priv.”
ORDER BY comments_timestamp DESC limit “.$ostatnie_odpowiedzi.””;
$queryResult = db_query($query);
?>
Dzięki za pomoc. Nie widzę
Dzięki za pomoc. Nie widzę przeszkód, aby Ci udostępnić potrzebne loginy i hasła, o ile tylko miałbyś ochotę to poprawić. Dla mnie to czarna magia, połowę z tego zrozumiałem, a to zdaje się akurat tyle, aby narobić porządnego bałaganu.
Wkleiłem Twój kod, niby
Wkleiłem Twój kod, niby wszystko chodzi, nie ma errorów, ani mulenia portalu. Nie wiem jak to od strony bezpieczeństwa teraz wygląda.
Kod który przedstawiłeś ma masę blędów składniowych.
Największym jednak problemem jest to, że skrypt jest tylko fragmentem , więc tak naprawdę nie wiele można wywnioskowć. Wiem, że to zabrzmi zbyt technicznie dla Ciebie ale widzę, że w przykładzie wykorzystane zostały “klasy” i “funkcje”, bez których zapoznania sie, przyczynę trudno odkryć.
Również kompozycje SQL mogą powiedzieć coś wiecej o problemie, ale bez wglądu do bazy danych można tylko się domyślać.
Inna sprawa to ‘ereg_replace’, która została już wycofana z ostaniej wersji PHP bo muli serwer. Należałoby użyć ‘preg_replace’.
W podsumowaniu:
– sprawdź skrypt i wyświetl go w całości (może to być jednak nie bardzo bezpieczne dla twojego portalu !).
– odnajdź funkcje i klasy również załącz do skrtyptu (również bezpieczeństwo !).
– sprawdź bazę danych i skrypt SQL
– na czas naprawy zablokuj stronę używając filtra IP w .htaccess. Również włącz “Errors i Warnings” w .htaccess
Na razie załączam poprawiony skrypt z użyciem ‘preg_replace’:
‘, $right);
$right=preg_replace(“/December/”, “Grudzień”, $right);
$right=preg_replace(“/November/”, “Listopad”, $right);
$right=preg_replace(“/September/”, “Wrzesień”, $right);
$right=preg_replace(“/October/”, “Październik”, $right);
$right=preg_replace(“/January/”, “Styczeń”, $right);
$right=preg_replace(“/February/”, “Luty”, $right);
$right=preg_replace(“/March/”, “Marzec”, $right);
$right=preg_replace(“/April/”, “Kwiecień”, $right);
$right=preg_replace(“/May/”, “Maj”, $right);
$right=preg_replace(“/Juni/”, “Czerwiec”, $right);
$right=preg_replace(“/July/”, “Lipiec”, $right);
$right=preg_replace(“/August/”, “Sierpień”, $right);
$right=preg_replace(‘/Ostatnio dodane odpowiedzi/’, ”,$right);
$right=preg_replace(‘/zaktualizowany/’, ”,$right);
$right=preg_replace(‘/Szybka odpowiedź/’, ”,$right);
if (!$user->roles[2]) $right=preg_replace(‘/Mój blog Pisz bloga/’, ”,$right);
print $right;
$profile = profile_load_profile($user);
$ostatnie_odpowiedzi = $user->profile_ostatnie_odpowiedzi;
if($ostatnie_odpowiedzi < 5) $ostatnie_odpowiedzi = 5; $ignorowani = " AND (UPPER(comments.name) != UPPER('Lustro')) AND (UPPER(comments.name) != UPPER('MaciekS')) AND (UPPER(comments.name) != UPPER('Leyte')) AND (UPPER(comments.name) != UPPER('zlotousty_klamca')) "; $query = "SELECT node.nid AS nid, node.uid as uid FROM {node} node LEFT JOIN {term_node} term_node_174 ON node.vid = term_node_174.vid AND term_node_174.tid = 174 WHERE (term_node_174.tid = 174) and node.nid >50″;
$queryResult = db_query($query);
while ($nodescount = db_fetch_object($queryResult)) {$comments_priv .= ” and comments.nid<>“.$nodescount->nid.” “;}
$query=”SELECT comments.cid AS cid,
comments.subject AS comments_subject,
comments.nid AS comments_nid,
comments.pid As comments_pid,
comments.timestamp AS comments_timestamp,
comments.name AS comments_name,
comments.uid AS comments_uid,
comments.homepage AS comments_homepage,
comments.comment AS comments_comment,
comments.format AS comments_format,
history_user.timestamp AS history_user_timestamp,
history_user.nid AS history_user_nid,
node_comments.created AS node_comments_created,
node_comments.changed AS node_comments_changed,
node_comments__node_comment_statistics.last_comment_timestamp AS node_comments__node_comment_statistics_last_comment_timestamp,
node_comments.nid AS node_comments_nid
FROM root_comments comments
LEFT JOIN root_node node_comments ON comments.nid = node_comments.nid
LEFT JOIN root_history history_user ON node_comments.nid = history_user.nid AND history_user.uid = “.$user->uid.”
LEFT JOIN root_node_comment_statistics node_comments__node_comment_statistics ON node_comments.nid = node_comments__node_comment_statistics.nid and last_comment_uid<>519
WHERE (node_comments.status <> 0 OR node_comments.uid = “.$user->uid.”)”.$ignorowani.$comments_priv.”
ORDER BY comments_timestamp DESC limit “.$ostatnie_odpowiedzi.””;
$queryResult = db_query($query);
?>
Dzięki za pomoc. Nie widzę
Dzięki za pomoc. Nie widzę przeszkód, aby Ci udostępnić potrzebne loginy i hasła, o ile tylko miałbyś ochotę to poprawić. Dla mnie to czarna magia, połowę z tego zrozumiałem, a to zdaje się akurat tyle, aby narobić porządnego bałaganu.
Wkleiłem Twój kod, niby
Wkleiłem Twój kod, niby wszystko chodzi, nie ma errorów, ani mulenia portalu. Nie wiem jak to od strony bezpieczeństwa teraz wygląda.
Kod który przedstawiłeś ma masę blędów składniowych.
Największym jednak problemem jest to, że skrypt jest tylko fragmentem , więc tak naprawdę nie wiele można wywnioskowć. Wiem, że to zabrzmi zbyt technicznie dla Ciebie ale widzę, że w przykładzie wykorzystane zostały “klasy” i “funkcje”, bez których zapoznania sie, przyczynę trudno odkryć.
Również kompozycje SQL mogą powiedzieć coś wiecej o problemie, ale bez wglądu do bazy danych można tylko się domyślać.
Inna sprawa to ‘ereg_replace’, która została już wycofana z ostaniej wersji PHP bo muli serwer. Należałoby użyć ‘preg_replace’.
W podsumowaniu:
– sprawdź skrypt i wyświetl go w całości (może to być jednak nie bardzo bezpieczne dla twojego portalu !).
– odnajdź funkcje i klasy również załącz do skrtyptu (również bezpieczeństwo !).
– sprawdź bazę danych i skrypt SQL
– na czas naprawy zablokuj stronę używając filtra IP w .htaccess. Również włącz “Errors i Warnings” w .htaccess
Na razie załączam poprawiony skrypt z użyciem ‘preg_replace’:
‘, $right);
$right=preg_replace(“/December/”, “Grudzień”, $right);
$right=preg_replace(“/November/”, “Listopad”, $right);
$right=preg_replace(“/September/”, “Wrzesień”, $right);
$right=preg_replace(“/October/”, “Październik”, $right);
$right=preg_replace(“/January/”, “Styczeń”, $right);
$right=preg_replace(“/February/”, “Luty”, $right);
$right=preg_replace(“/March/”, “Marzec”, $right);
$right=preg_replace(“/April/”, “Kwiecień”, $right);
$right=preg_replace(“/May/”, “Maj”, $right);
$right=preg_replace(“/Juni/”, “Czerwiec”, $right);
$right=preg_replace(“/July/”, “Lipiec”, $right);
$right=preg_replace(“/August/”, “Sierpień”, $right);
$right=preg_replace(‘/Ostatnio dodane odpowiedzi/’, ”,$right);
$right=preg_replace(‘/zaktualizowany/’, ”,$right);
$right=preg_replace(‘/Szybka odpowiedź/’, ”,$right);
if (!$user->roles[2]) $right=preg_replace(‘/Mój blog Pisz bloga/’, ”,$right);
print $right;
$profile = profile_load_profile($user);
$ostatnie_odpowiedzi = $user->profile_ostatnie_odpowiedzi;
if($ostatnie_odpowiedzi < 5) $ostatnie_odpowiedzi = 5; $ignorowani = " AND (UPPER(comments.name) != UPPER('Lustro')) AND (UPPER(comments.name) != UPPER('MaciekS')) AND (UPPER(comments.name) != UPPER('Leyte')) AND (UPPER(comments.name) != UPPER('zlotousty_klamca')) "; $query = "SELECT node.nid AS nid, node.uid as uid FROM {node} node LEFT JOIN {term_node} term_node_174 ON node.vid = term_node_174.vid AND term_node_174.tid = 174 WHERE (term_node_174.tid = 174) and node.nid >50″;
$queryResult = db_query($query);
while ($nodescount = db_fetch_object($queryResult)) {$comments_priv .= ” and comments.nid<>“.$nodescount->nid.” “;}
$query=”SELECT comments.cid AS cid,
comments.subject AS comments_subject,
comments.nid AS comments_nid,
comments.pid As comments_pid,
comments.timestamp AS comments_timestamp,
comments.name AS comments_name,
comments.uid AS comments_uid,
comments.homepage AS comments_homepage,
comments.comment AS comments_comment,
comments.format AS comments_format,
history_user.timestamp AS history_user_timestamp,
history_user.nid AS history_user_nid,
node_comments.created AS node_comments_created,
node_comments.changed AS node_comments_changed,
node_comments__node_comment_statistics.last_comment_timestamp AS node_comments__node_comment_statistics_last_comment_timestamp,
node_comments.nid AS node_comments_nid
FROM root_comments comments
LEFT JOIN root_node node_comments ON comments.nid = node_comments.nid
LEFT JOIN root_history history_user ON node_comments.nid = history_user.nid AND history_user.uid = “.$user->uid.”
LEFT JOIN root_node_comment_statistics node_comments__node_comment_statistics ON node_comments.nid = node_comments__node_comment_statistics.nid and last_comment_uid<>519
WHERE (node_comments.status <> 0 OR node_comments.uid = “.$user->uid.”)”.$ignorowani.$comments_priv.”
ORDER BY comments_timestamp DESC limit “.$ostatnie_odpowiedzi.””;
$queryResult = db_query($query);
?>
Dzięki za pomoc. Nie widzę
Dzięki za pomoc. Nie widzę przeszkód, aby Ci udostępnić potrzebne loginy i hasła, o ile tylko miałbyś ochotę to poprawić. Dla mnie to czarna magia, połowę z tego zrozumiałem, a to zdaje się akurat tyle, aby narobić porządnego bałaganu.
Wkleiłem Twój kod, niby
Wkleiłem Twój kod, niby wszystko chodzi, nie ma errorów, ani mulenia portalu. Nie wiem jak to od strony bezpieczeństwa teraz wygląda.
error
Mi właśnie wyskoczył taki warning:
”
user warning: in /home/admin/domains/kontrowersje.net/public_html/modules/commentrss/commentrss.pages.inc on line 181.
”
Poza tym zauwazylem, ze jak nie jestem zalogowany to smiga, a po zalogowaniu , to kaplia – teraz też z resztą tak było.
Znaczy czekanie na otworzenie strony, czy tam mozliwość dodania komentarza, to “ruski miesiąc”
A na czym toto w ogóle jest postawione?
Ktoś Ci to napisał, czy jakiś istniejący szablon dostosował?
pzdr
To Drupal, ale ten dodatkowy
To Drupal, ale ten dodatkowy kod to magik MIki. Też widzę, że znów muli i znów muszę wyciąć ten moduł. Jedno jest pewne, to ten blok z ostatnimi komentarzami muli portal, tylko Bóg wie jak go poprawić.
Jeżeli może być pewność większa niż 100%
to potwierdzam – po zniknięciu bloku z prawej strony portal śmiga.
heh
wszędzie ten drupal i drupal… 😉
Trzeba się cholera nieźle w to pozagłębiać, żeby móc swobodnie nad tym panować. Bo jak nie, to takie niespodzianki się dzieją.
Już lepsze są konstrukcje od zera. W tym jest przynajmniej pełna kontrola.
pozdrawiam
PS. A Miki teraz nie może w to spojrzeć?
Ja mógłbym, ale potrzebne jest całe środowisko, żeby potestować i móc znaleźć sensowne rozwiązanie. Albo i nie móc, bo najsensowniejsze już znalazłeś 😉
error
Mi właśnie wyskoczył taki warning:
”
user warning: in /home/admin/domains/kontrowersje.net/public_html/modules/commentrss/commentrss.pages.inc on line 181.
”
Poza tym zauwazylem, ze jak nie jestem zalogowany to smiga, a po zalogowaniu , to kaplia – teraz też z resztą tak było.
Znaczy czekanie na otworzenie strony, czy tam mozliwość dodania komentarza, to “ruski miesiąc”
A na czym toto w ogóle jest postawione?
Ktoś Ci to napisał, czy jakiś istniejący szablon dostosował?
pzdr
To Drupal, ale ten dodatkowy
To Drupal, ale ten dodatkowy kod to magik MIki. Też widzę, że znów muli i znów muszę wyciąć ten moduł. Jedno jest pewne, to ten blok z ostatnimi komentarzami muli portal, tylko Bóg wie jak go poprawić.
Jeżeli może być pewność większa niż 100%
to potwierdzam – po zniknięciu bloku z prawej strony portal śmiga.
heh
wszędzie ten drupal i drupal… 😉
Trzeba się cholera nieźle w to pozagłębiać, żeby móc swobodnie nad tym panować. Bo jak nie, to takie niespodzianki się dzieją.
Już lepsze są konstrukcje od zera. W tym jest przynajmniej pełna kontrola.
pozdrawiam
PS. A Miki teraz nie może w to spojrzeć?
Ja mógłbym, ale potrzebne jest całe środowisko, żeby potestować i móc znaleźć sensowne rozwiązanie. Albo i nie móc, bo najsensowniejsze już znalazłeś 😉
error
Mi właśnie wyskoczył taki warning:
”
user warning: in /home/admin/domains/kontrowersje.net/public_html/modules/commentrss/commentrss.pages.inc on line 181.
”
Poza tym zauwazylem, ze jak nie jestem zalogowany to smiga, a po zalogowaniu , to kaplia – teraz też z resztą tak było.
Znaczy czekanie na otworzenie strony, czy tam mozliwość dodania komentarza, to “ruski miesiąc”
A na czym toto w ogóle jest postawione?
Ktoś Ci to napisał, czy jakiś istniejący szablon dostosował?
pzdr
To Drupal, ale ten dodatkowy
To Drupal, ale ten dodatkowy kod to magik MIki. Też widzę, że znów muli i znów muszę wyciąć ten moduł. Jedno jest pewne, to ten blok z ostatnimi komentarzami muli portal, tylko Bóg wie jak go poprawić.
Jeżeli może być pewność większa niż 100%
to potwierdzam – po zniknięciu bloku z prawej strony portal śmiga.
heh
wszędzie ten drupal i drupal… 😉
Trzeba się cholera nieźle w to pozagłębiać, żeby móc swobodnie nad tym panować. Bo jak nie, to takie niespodzianki się dzieją.
Już lepsze są konstrukcje od zera. W tym jest przynajmniej pełna kontrola.
pozdrawiam
PS. A Miki teraz nie może w to spojrzeć?
Ja mógłbym, ale potrzebne jest całe środowisko, żeby potestować i móc znaleźć sensowne rozwiązanie. Albo i nie móc, bo najsensowniejsze już znalazłeś 😉
Dość szybko przejrzałem
Dość szybko przejrzałem komentarze powyżej i z kosmetyką oczywiście się zgadzam, ale według mnie przyczyną “mulenia” serwera jest to ostatnie zapytanie w kodzie.
Niezależnie od przypadku zapytanie do relacyjnej bazy, w której łączy się 5 tabel jest zapytaniem z kategorii ciężkich i należy ich unikać. Jeśli aplikacja (portal) wykonuje je często, to niestety oznacza, że schemat bazy mógłby być troszkę inny.
I teraz, co można z tym zrobić. Stosując inżynierskie podejście najpierw trzeba potwierdzić (albo znegować), że wspomniane zapytanie jest problemem. W pierwszym etapie najlepiej zobaczyć, czy to proces bazy danych zajmuje dużo zasobów, jak się serwer muli (CPU i RAM i ewentualnie liczba odczytów z dysku). Na Windowsie wiesz pewnie ja, a na linuxie użyj polecenia ‘top’ – na początek wystarczy.
Jeśli okaże się, że problemem jest baza – możesz spróbować na boku wykonać kilka takich zapytań, jak z kodu i zobaczyć, jak szybko się wykonują. Trzeba tylko pamiętać, że to samo zapytanie wykonywane kilka razy pod rząd nie jest miernikiem, bo bazy (nawet MYSQL) potrafią sobie trzymać w cache’u.
Dotąd myślę, że poradzisz sobie sam i nie zajmie Ci to dłużej niż pół godziny.
Zgaduje, że okaże się, że to zapytanie trwa relatywnie długo i należałoby je zoptymalizować. Nie ma sensu, żebym się rozpisywał, o co chodzi, ale tak dla “lepszego poznania świata”: skoro łączysz pięć tabel po jakichś warunkach (warunek np.: comments.nid = node_comments.nid) to tak, jakbyś mnożył przez siebie 2 zbiory. W najgorszym przypadku powstaje produkt kartezjański. I jeśli to zrobisz 5 razy i warunki połączenia są mało selektywne (jest dużo wierszy spełniających kryteria) może się na końcu okazać, że masz olbrzymi zbiór, z którego ostatecznie wybierasz tylko 5 wpisów – w cholerę roboty, a mało rezultatów.
Żeby stwierdzić, czy tak się dzieje niestety trzeba się trochę pobawić zapytaniami. Chętnie pomogę, ale obawiam się, że ciągu najbliższych kilku dni mogę nie mieć zbyt wiele czasu. Później – chętnie.
Problem jest w bazie na 200%,
Problem jest w bazie na 200%, to już ustalone. Zapytania, które wisiały to właśnie ostatnia wersy kody te uid 519 pojawia się zawsze. Przejrzało to już 4 PHP-owców i żaden nie dał rady, zatem ja nie ma się co za to brać. Jak znajdziesz chwilkę odezwij się.
Dość szybko przejrzałem
Dość szybko przejrzałem komentarze powyżej i z kosmetyką oczywiście się zgadzam, ale według mnie przyczyną “mulenia” serwera jest to ostatnie zapytanie w kodzie.
Niezależnie od przypadku zapytanie do relacyjnej bazy, w której łączy się 5 tabel jest zapytaniem z kategorii ciężkich i należy ich unikać. Jeśli aplikacja (portal) wykonuje je często, to niestety oznacza, że schemat bazy mógłby być troszkę inny.
I teraz, co można z tym zrobić. Stosując inżynierskie podejście najpierw trzeba potwierdzić (albo znegować), że wspomniane zapytanie jest problemem. W pierwszym etapie najlepiej zobaczyć, czy to proces bazy danych zajmuje dużo zasobów, jak się serwer muli (CPU i RAM i ewentualnie liczba odczytów z dysku). Na Windowsie wiesz pewnie ja, a na linuxie użyj polecenia ‘top’ – na początek wystarczy.
Jeśli okaże się, że problemem jest baza – możesz spróbować na boku wykonać kilka takich zapytań, jak z kodu i zobaczyć, jak szybko się wykonują. Trzeba tylko pamiętać, że to samo zapytanie wykonywane kilka razy pod rząd nie jest miernikiem, bo bazy (nawet MYSQL) potrafią sobie trzymać w cache’u.
Dotąd myślę, że poradzisz sobie sam i nie zajmie Ci to dłużej niż pół godziny.
Zgaduje, że okaże się, że to zapytanie trwa relatywnie długo i należałoby je zoptymalizować. Nie ma sensu, żebym się rozpisywał, o co chodzi, ale tak dla “lepszego poznania świata”: skoro łączysz pięć tabel po jakichś warunkach (warunek np.: comments.nid = node_comments.nid) to tak, jakbyś mnożył przez siebie 2 zbiory. W najgorszym przypadku powstaje produkt kartezjański. I jeśli to zrobisz 5 razy i warunki połączenia są mało selektywne (jest dużo wierszy spełniających kryteria) może się na końcu okazać, że masz olbrzymi zbiór, z którego ostatecznie wybierasz tylko 5 wpisów – w cholerę roboty, a mało rezultatów.
Żeby stwierdzić, czy tak się dzieje niestety trzeba się trochę pobawić zapytaniami. Chętnie pomogę, ale obawiam się, że ciągu najbliższych kilku dni mogę nie mieć zbyt wiele czasu. Później – chętnie.
Problem jest w bazie na 200%,
Problem jest w bazie na 200%, to już ustalone. Zapytania, które wisiały to właśnie ostatnia wersy kody te uid 519 pojawia się zawsze. Przejrzało to już 4 PHP-owców i żaden nie dał rady, zatem ja nie ma się co za to brać. Jak znajdziesz chwilkę odezwij się.
Dość szybko przejrzałem
Dość szybko przejrzałem komentarze powyżej i z kosmetyką oczywiście się zgadzam, ale według mnie przyczyną “mulenia” serwera jest to ostatnie zapytanie w kodzie.
Niezależnie od przypadku zapytanie do relacyjnej bazy, w której łączy się 5 tabel jest zapytaniem z kategorii ciężkich i należy ich unikać. Jeśli aplikacja (portal) wykonuje je często, to niestety oznacza, że schemat bazy mógłby być troszkę inny.
I teraz, co można z tym zrobić. Stosując inżynierskie podejście najpierw trzeba potwierdzić (albo znegować), że wspomniane zapytanie jest problemem. W pierwszym etapie najlepiej zobaczyć, czy to proces bazy danych zajmuje dużo zasobów, jak się serwer muli (CPU i RAM i ewentualnie liczba odczytów z dysku). Na Windowsie wiesz pewnie ja, a na linuxie użyj polecenia ‘top’ – na początek wystarczy.
Jeśli okaże się, że problemem jest baza – możesz spróbować na boku wykonać kilka takich zapytań, jak z kodu i zobaczyć, jak szybko się wykonują. Trzeba tylko pamiętać, że to samo zapytanie wykonywane kilka razy pod rząd nie jest miernikiem, bo bazy (nawet MYSQL) potrafią sobie trzymać w cache’u.
Dotąd myślę, że poradzisz sobie sam i nie zajmie Ci to dłużej niż pół godziny.
Zgaduje, że okaże się, że to zapytanie trwa relatywnie długo i należałoby je zoptymalizować. Nie ma sensu, żebym się rozpisywał, o co chodzi, ale tak dla “lepszego poznania świata”: skoro łączysz pięć tabel po jakichś warunkach (warunek np.: comments.nid = node_comments.nid) to tak, jakbyś mnożył przez siebie 2 zbiory. W najgorszym przypadku powstaje produkt kartezjański. I jeśli to zrobisz 5 razy i warunki połączenia są mało selektywne (jest dużo wierszy spełniających kryteria) może się na końcu okazać, że masz olbrzymi zbiór, z którego ostatecznie wybierasz tylko 5 wpisów – w cholerę roboty, a mało rezultatów.
Żeby stwierdzić, czy tak się dzieje niestety trzeba się trochę pobawić zapytaniami. Chętnie pomogę, ale obawiam się, że ciągu najbliższych kilku dni mogę nie mieć zbyt wiele czasu. Później – chętnie.
Problem jest w bazie na 200%,
Problem jest w bazie na 200%, to już ustalone. Zapytania, które wisiały to właśnie ostatnia wersy kody te uid 519 pojawia się zawsze. Przejrzało to już 4 PHP-owców i żaden nie dał rady, zatem ja nie ma się co za to brać. Jak znajdziesz chwilkę odezwij się.
Na zwyczajowym różowym tle
widzę coś takiego (w miejscu pomiędzy zakładką “Wszystkie ostatnio dodane” a listą wpisów):
user warning: Nieznana kolumna ‘node_comments__node_comment_statistics.last_comment_timestamp’ w field list query: SELECT comments.cid AS cid, comments.subject AS comments_subject, comments.nid AS comments_nid, comments.pid As comments_pid, comments.timestamp AS comments_timestamp, comments.name AS comments_name, comments.uid AS comments_uid, comments.homepage AS comments_homepage, comments.comment AS comments_comment, comments.format AS comments_format, history_user.timestamp AS history_user_timestamp, history_user.nid AS history_user_nid, node_comments.created AS node_comments_created, node_comments.changed AS node_comments_changed, node_comments__node_comment_statistics.last_comment_timestamp AS node_comments__node_comment_statistics_last_comment_timestamp, node_comments.nid AS node_comments_nid FROM root_comments comments LEFT JOIN root_node node_comments ON comments.nid = node_comments.nid LEFT JOIN root_history history_user ON node_comments.nid = history_user.nid AND history_user.uid = 279 ORDER BY comments_timestamp DESC limit 5 in /home/admin/domains/kontrowersje.net/public_html/themes/kontrowersje/page.tpl.php on line 911.
To samo albo coś bardzo podobnego jest NAD tytułem niniejszego wpisu.
Na zwyczajowym różowym tle
widzę coś takiego (w miejscu pomiędzy zakładką “Wszystkie ostatnio dodane” a listą wpisów):
user warning: Nieznana kolumna ‘node_comments__node_comment_statistics.last_comment_timestamp’ w field list query: SELECT comments.cid AS cid, comments.subject AS comments_subject, comments.nid AS comments_nid, comments.pid As comments_pid, comments.timestamp AS comments_timestamp, comments.name AS comments_name, comments.uid AS comments_uid, comments.homepage AS comments_homepage, comments.comment AS comments_comment, comments.format AS comments_format, history_user.timestamp AS history_user_timestamp, history_user.nid AS history_user_nid, node_comments.created AS node_comments_created, node_comments.changed AS node_comments_changed, node_comments__node_comment_statistics.last_comment_timestamp AS node_comments__node_comment_statistics_last_comment_timestamp, node_comments.nid AS node_comments_nid FROM root_comments comments LEFT JOIN root_node node_comments ON comments.nid = node_comments.nid LEFT JOIN root_history history_user ON node_comments.nid = history_user.nid AND history_user.uid = 279 ORDER BY comments_timestamp DESC limit 5 in /home/admin/domains/kontrowersje.net/public_html/themes/kontrowersje/page.tpl.php on line 911.
To samo albo coś bardzo podobnego jest NAD tytułem niniejszego wpisu.
Na zwyczajowym różowym tle
widzę coś takiego (w miejscu pomiędzy zakładką “Wszystkie ostatnio dodane” a listą wpisów):
user warning: Nieznana kolumna ‘node_comments__node_comment_statistics.last_comment_timestamp’ w field list query: SELECT comments.cid AS cid, comments.subject AS comments_subject, comments.nid AS comments_nid, comments.pid As comments_pid, comments.timestamp AS comments_timestamp, comments.name AS comments_name, comments.uid AS comments_uid, comments.homepage AS comments_homepage, comments.comment AS comments_comment, comments.format AS comments_format, history_user.timestamp AS history_user_timestamp, history_user.nid AS history_user_nid, node_comments.created AS node_comments_created, node_comments.changed AS node_comments_changed, node_comments__node_comment_statistics.last_comment_timestamp AS node_comments__node_comment_statistics_last_comment_timestamp, node_comments.nid AS node_comments_nid FROM root_comments comments LEFT JOIN root_node node_comments ON comments.nid = node_comments.nid LEFT JOIN root_history history_user ON node_comments.nid = history_user.nid AND history_user.uid = 279 ORDER BY comments_timestamp DESC limit 5 in /home/admin/domains/kontrowersje.net/public_html/themes/kontrowersje/page.tpl.php on line 911.
To samo albo coś bardzo podobnego jest NAD tytułem niniejszego wpisu.
To już kaszanka
pojawiła się jakaś dziwna ramka z tekstem zaczynającym się od:
“user warning: Nieznana kolumna ”
Chyba potrzebny fachowiec…
To już kaszanka
pojawiła się jakaś dziwna ramka z tekstem zaczynającym się od:
“user warning: Nieznana kolumna ”
Chyba potrzebny fachowiec…
To już kaszanka
pojawiła się jakaś dziwna ramka z tekstem zaczynającym się od:
“user warning: Nieznana kolumna ”
Chyba potrzebny fachowiec…
user warning: Nieznana kolumna
Czepia się prawdopodobnie literówki w nazwie wyspecyfikowanej kolumny; niesposób określić bez dostępu do tablic MySQLa. Na intuicję : nie podoba mi się podwójne podkreślenie w aliasie “node_comments__node_comment_statistics” – ale to oczywiście zgadywanka.
Ponoć to ( czy może podobne ?) wyciąłeś po poprzedniej dyskusji; może zakres wykomentowania nieprawidłowy? Lepiej byłoby chyba wyciąć cały segment “Ostatnie odpowiedzi” (wraz z tytułem) niż tylko ich zawartość.
user warning: Nieznana kolumna
Czepia się prawdopodobnie literówki w nazwie wyspecyfikowanej kolumny; niesposób określić bez dostępu do tablic MySQLa. Na intuicję : nie podoba mi się podwójne podkreślenie w aliasie “node_comments__node_comment_statistics” – ale to oczywiście zgadywanka.
Ponoć to ( czy może podobne ?) wyciąłeś po poprzedniej dyskusji; może zakres wykomentowania nieprawidłowy? Lepiej byłoby chyba wyciąć cały segment “Ostatnie odpowiedzi” (wraz z tytułem) niż tylko ich zawartość.
user warning: Nieznana kolumna
Czepia się prawdopodobnie literówki w nazwie wyspecyfikowanej kolumny; niesposób określić bez dostępu do tablic MySQLa. Na intuicję : nie podoba mi się podwójne podkreślenie w aliasie “node_comments__node_comment_statistics” – ale to oczywiście zgadywanka.
Ponoć to ( czy może podobne ?) wyciąłeś po poprzedniej dyskusji; może zakres wykomentowania nieprawidłowy? Lepiej byłoby chyba wyciąć cały segment “Ostatnie odpowiedzi” (wraz z tytułem) niż tylko ich zawartość.
Nie wiem czy ta informacja
Nie wiem czy ta informacja się przyda i czy jest tak u wszystkich. Sławna różowa tabelka pokazuje mi się nad tekstem E_Krakowskiego, tutaj nie. Było tego dużo, teraz pozostało tylko:
user warning: in /home/admin/domains/kontrowersje.net/public_html/modules/block/block.module on line 407.
Nie wiem czy ta informacja
Nie wiem czy ta informacja się przyda i czy jest tak u wszystkich. Sławna różowa tabelka pokazuje mi się nad tekstem E_Krakowskiego, tutaj nie. Było tego dużo, teraz pozostało tylko:
user warning: in /home/admin/domains/kontrowersje.net/public_html/modules/block/block.module on line 407.
Nie wiem czy ta informacja
Nie wiem czy ta informacja się przyda i czy jest tak u wszystkich. Sławna różowa tabelka pokazuje mi się nad tekstem E_Krakowskiego, tutaj nie. Było tego dużo, teraz pozostało tylko:
user warning: in /home/admin/domains/kontrowersje.net/public_html/modules/block/block.module on line 407.