PDA

Zobacz pełną wersję : Pjirc w joomla, czyli same kłopoty :>



Raffael
05-05-2006, 22:16
Witam ;)

Szukałem dość długo komponentu umożliwiającego wstawienie apletu irc na stronie. Gdy wreszcie znalazłem odpowiedni, zwaliły się na mnie kłopociki ;]
Zacznijmy od początku. Mam Joomla 1.8 PL, z najnowszymi łatkami oraz PJirc ( http://www.pjirc.com/main.php ) wersję 2.1.1
Z samą funkcjonalnością Pjirc'a większych problemów nie miałem, uporałem się z tym i tamtym, i poczyniłem kroki, by połączyć ten skrypt z joomla!.
Pomyślałem o wrapperze, pomysł okazał się nietrafiony. Owszem, wczytywało pjirc'a, ale nie wczytywał pliku konfiguracyjnego (co za tym idzie -> niemożność edycji skryptu).
Zmieniłem tok myślenia o 180 stopni, odpaliłem wszechmocne google.com. Miła niespodzianka, ktoś już pomyślał i zrobił z Pjirc'a komponent do mambo. Projekt porzucony, ale gdziestam znalazłem werjsę do ściągnięcia (no dobrze, przyznaję - wyolbrzymiam, to gdzieśtam było w zasadzie pod ręką -> http://mamboxchange.com/projects/mospjirc/ )
Euforia trwała krótko. Gdy ściągnałem pjirc'a zrobiłem od razu swoją skórkę, pasującą do strony, wgrałem kilka pluginów, a w mospjirc'u nie ma takiej mozliwości (czyt. ja nie znalazłem -> podmieniałem pliki ze skinami, ba kasowałem je, a komponent dalej działał... wynikiem moich badań jest stwierdzenie, iż skin jest opisany w pliku pixx.jar lub irc.jar, który podczas edycji wysypuje śmieszne krzaczki, co uniemozliwia mi, laikowi, edycję :>).

Postanowiłem więc wrócić do wcześniejszych przemyśleń i na ich bazie wymyśleć coś fajnego :> -> mianowicie, zewnętrzny skrypt zaincludować jako moduł. Niestety, na dzień dobry otrzymuje błędy, pewnie dlatego, że jestem nowicjuszem :)

Parse error: syntax error, unexpected T_STRING in http://www.mojastrona.com/irc/irc.php on line 1Tak prezentuje się początek mojego pliczku irc.php:

<?
define ('IN_PLP', TRUE);

include 'config.php';
include 'include/functions.php';

$cookie_name = str_replace(" ", "_", $cookie_name);
$cookie_lifetime = math_lifetime($cookie_lifetime);

$self = $_SERVER['PHP_SELF'];

$delete = isset($_GET['delete']) ? $_GET['delete'] : '';
$load = isset($_GET['load']) ? $_GET['load'] : '';
$save = isset($_REQUEST['save']) ? $_REQUEST['save'] : '';

$jsenabled = isset($_REQUEST['jsenabled']) ? $_REQUEST['jsenabled'] : '';
$popupenabled = isset($_REQUEST['popupenabled']) ? $_REQUEST['popupenabled'] : '';

if (isset($_COOKIE[$cookie_name])) $cookie_set = TRUE;

if ($delete)
{
$cookie_set = FALSE;
set_cookie_vars('delete');
}

set_vars();
if ($load) set_cookie_vars('load');
if ($save) set_cookie_vars('save');

if ($age == '--' && $sex == '--' && $location == '--') $asl = $altasl;
else $asl = $age.'/'.$sex.'/'.$location;

$java_check = set($java_check);
$layer = set($layer);
$popup = set($popup);
$away_script = set($away_script);

html(0, '<?xml version="1.0"?>');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<title>&gt;&gt;<?php echo $title; ?>&lt;&lt;</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-2" />
<link rel="shortcut icon" href="favicon.ico" />
<link rel="stylesheet" type="text/css" href="script/chat.css" />
<script type="text/javascript" src="script/chat.js"></script>


Reszty na razie nie wstawiam, żeby nie przeciążać bazy danych :)

Jestem w kropce. Jeśli ktoś życzliwy miałby pomysł i czas oraz chęć podzielenia się swoją wiedzą ze mną, to byłbym niezmiernie szczęśliwy. Z góry dziękuję za wszelkie sugestie.
Pozdrawiam,
Raffael

zwiastun
05-05-2006, 22:23
dopisz po znaku zapytania w pierwszej lini: php, ot tak:

<?php

Raffael
05-05-2006, 23:20
Efekt niestety dokładnie taki sam.
Wykomentowałem linie:

define ('IN_PLP', TRUE);

include 'config.php';
include 'include/functions.php';
i teraz wyskakuje błąd:
Fatal error: Call to undefined function: math_lifetime() in /home/xxx/public_html/irc/irc.php on line 8

zwiastun
06-05-2006, 02:23
I oczywiście liczysz na zgaduj zgadula? Albo że np. wezmę się teraz za sprawdzanie plik za plikiem, gdzie jeszcze masz krótkie znaczniki w komponencie (a pewno masz niejeden, że zgadnę, jakie masz php i czy to php obsługuję tę funkcję albo czy ta funkcja jest zdefiniowana w plikach, które są właczane.
Jak widzisz po licznych odpowiedziach - wypadło na to, że sam musisz przebrnąć kroczek za kroczkiem, albo zrezygnować.

Rybik
07-05-2006, 00:18
co do krótkich tagów to możesz spokojnie przefiltrować wszystkie pliki podminiając "<? " (ważna spacja) na "<?php "