Newsgroup: it.comp.www.php
Titolo: PHPNuke sotto PostgreSQL

Essendo un vecchio fedayn di PostgreSQL, e volendo provare PHPNuke:
esiste un porting del 5.0, o mi devo rimboccare le maniche? :-)
Leonardo
-- 
Nior thainig ar major i dtus an lae chugainn,
is ni rabhamar fein ann i gcoir na gceart
ach mar sheolfai aoireacht bo gan aoire,
ar thaobh na greine de Sliabh na mBan.

 --
Fallo fallo ... da quel che so non esiste sulla 5 ... ma neanche sulla 4.4
... arriva alla 4.2
Poi me lo mandi? :-)
Cla
--------------------------------------------------------------------------
www.spaghettibrain.com
 PHPNuke Italiano - WEB PORTAL SYSTEM
www.claudioerba.com
 Consulenza web per l'Azienda

Poi me lo mandi? :-)
La cosa interesserebbe anche me, al limite ci organizziamo per
convertirlo? ;-)
--
Un Ciao in DO Maggiore!       -=) Sbaturzio (=-
Un articolo importante:  
http://www.linux.it/GNU/art_44.html

Poi me lo mandi? :-)
OK. Allora io avrei anche finito; e' stato molto piu' semplice del
previsto, anche se ci sono stati vari lavori di bassa macelleria.
Passi necessari:
	1. Sostituzione di NUKE.SQL
	2. Aggiunta dentro mainfile.php di un require per SAL.php,
	   il SQL Abstraction Layer di Gianugo Rabellino, reso, mi
	   sa, irriconoscibile dalle mie "tenere" cure.
	3. Modifica di TUTTI i sorgenti di phpNuke cosi' (Linux):
		for i in *.php *.inc; do
			sed	-e 's/mysql_/SQL_/g' \
				-e 's/mySql_/SQL_/g' \
				-e 's/MySql_/SQL_/g' \
				-e 's/MySQL_/SQL_/g' \
				-e 's/MYSQL_/SQL_/g' \
				< $i > z
			cat z > $i;
		done
		rm -f z
	4. Aggiunta di SAL.php nella directory dove c'e' tutto il
	   resto della fuffa.
	5. Dimenticavo: da qualche parte c'e' un "position", che,
	   pero', e' una reserved word in PostgreSQL. Quindi ecco
	   che si deve modificare mainfile.php +81, e mettere "_"
	   davanti a "position".
Per i passi 1 e 4 serviranno due files :-), nuke.sql e SAL.php...
in via sperimentale, li ho impacchettati qui:
 
http://www.ctt.it/~lserni/fuffa.tgz



Che faccio? La pubblico su Spaghetti?
Fammi sapere ...
Cla
--------------------------------------------------------------------------
www.spaghettibrain.com
 PHPNuke Italiano - WEB PORTAL SYSTEM
www.claudioerba.com
 Consulenza web per l'Aziendade Sliabh na mBan.

Che faccio? La pubblico su Spaghetti?
Aspetta, ci sono ancora delle rogne: varie queries SQL non sono proprio
100% rispettose dello standard. Per esempio, dentro adminfaq.php:
function FaqCatAdd($categories) {
    global $prefix;
    $categories = stripslashes(FixQuotes($categories));
    SQL_query("insert into $prefix"._faqCategories." ( categories )
values ('$ca
tegories')");
    Header("Location: admin.php?op=FaqAdmin");
}
...sono tutti errorucci da nulla, sicche' ora li correggo man mano che
capitano.
Pero', e' chiaro che a questo punto dovro' creare un super-tarball con
dentro tutti i sorgenti gia' corretti (sigh).
*Pareva* troppo facile :-)


	   davanti a "position".
Lo stesso anche in:
admin/modules/blocks.php quasi ovunque :-)
upgrades/upgrade44-50.php:33
A proposito:
language/lang-english.php:1041    "Admini_S_tration" :-)
...sono gia' cinque minuti che non trovo altri bugs - a parte che,
*secondo me*, nel tema "LinuxDeveloper", in theme.php. la funzione
themeheader() dovrebbe essere (riga 42 circa):
?>
<SCRIPT LANGUAGE="JavaScript" SRC="themes/LinuxDeveloper/rollover.js">
</SCRIPT>
<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"
bgcolor="#ffffff" text="#000000" link="#3661a1" vlink="#6f6c81"
alink="#d5ae83">


... User unknown
...sicche', se tutto va bene, reperisci il grosso pacco qui:
 
http://www.ctt.it/~lserni/nukegres.tgz
*
* IMPORTANT DISCLAIMER:
*
* Siccome e' la versione di debug messa su per le prove, questo e' uno
* snapshot e c'e' dentro di tutto (per es., il theme LinuxDeveloper, e
* con alcune fix).
*
* Uno script "sed" che converte da PHPNuke a PHPNuke/SAL, che poi puo'
* essere usato sia con MySQL come prima, sia con PostgreSQL, cambiando
* solo una riga nel config [1], e' in preparazione.
*
Le istruzioni sono semplici:
- installazione da zero: unpack :-)
- upgrade: modificare tutte le istruzioni "mysql_" nel PHP in "SQL_"
  	    modificare i riferimenti al campo "position" in "_position"
	    modificare gli auto-insert come descritto nel file
docs/POSTGRES
BUGS: vedi file docs/POSTGRES
* COMING (prima o poi): selective-z-caching module, che dovrebbe dare
* alcuni vantaggi; piu' velocita', e soprattutto minor ricorso a SQL,
* sempre se il DB non cambia ovviamente (o negli intervalli durante i
* quali non cambia), per cui il sito funziona anche se il DB e' down.
Leonardo
[1] e gia' che ci sono, su suggerimento di Mirko, lo script prendera'
    in considerazione l'errore di "too many connections", tentando se
    possibile di rimediarvi (yes, it should be possible ;-) ).



SI si ... un fulmine aveva fatto fuori il Cobalt di spaghetti ... ora
funzione
(Si si , problemi col copia incolla ... he he he)
Grazie mille
Claudio
--------------------------------------------------------------------------
