Internet: PHP, CGI, stb.

CMS frissítése egyszerűbben?

Sziasztok!

Most ismerkedek Wordpress-szel, előtte Drupalt használtam.

Nincsen elegánsabb, jobb módszer arra, amikor verziófrissítésre, plugin frissítésre/installra, sminkváltásra stb. (tehát az éles odal módosítására) van szükség annál, amit a dokumentációk írnak?

Amikor módosítani kell az éles weboldalt (pl. verziófrissítés), akkor így írják le a procedúrát:
1. Csinálj backupot
2. Először teszteld az adott műveletet (új plugin, frissítés stb.) lokális tesztkörnyezet alatt
3. Ha minden jól ment, tedd offline módba az éles oldalt, másold fel a szükséges fájlokat, végezd le a beállításokat, és ha minden jó, tedd online módba az oldalt

De mi van, ha:
-máshogy van beállítva, más a verziója a lokális tesztkörnyezetnek (Apache, PHP, MySQL), mint az éles szervernek, és emiatt lokálisan nem jön elő az a hiba, ami éles oldalnál igen?
-vmi hiba történik az éles oldal frissítése közben, és helyre kell állítani az adatbázist vagy a fájlokat, de azok nagyon nagy méretűek?
-nem akarom túl sokat offline módban hagyni az oldalt, de a másolgatás, frissítés sok idő?

Nincsen egy olyan módszer, ahol egyáltalán nem kell lokális tesztkörnyezetet használni, hanem az éles szerveren alakítok ki egy tesztoldalt (az éles oldal pontos mása), azon végzem el az oldal módosítását, majd szinkronizálom az éles- és a tesztoldalt?

Szóval egy olyan progi kéne, ami ezeket tudja:
1. Gombnyomásra klónozza az éles weboldal fájlait és adatbázisát mondjuk a dev.example.com címre (example.com az éles oldal). De ugye a dev.example.com egészét jelszóval kell védeni, hogy ne indexeljék a keresők, és ne lássák a látogatók
2. Ezen a klónozott oldalon végzem el az éppen szükséges fejlesztést, pl. verziófrissítés, designváltás, olyan plugin installálása, ami adatbázisváltozást is okoz, és összeakadhat más pluginekkel stb. Ha vmit elrontok, gombnyomással visszaállítható az eredeti állapot a tesztoldalon.
3. Ha kész vagyok a fejlesztéssel és minden jól működik, akkor a program automatikusan szinkronizálja a tesztoldal és az éles oldal fájlait és adatbázisát. Ugyanis amíg dolgoztam a tesztoldalon, addig az éles oldalnak módosulhattak a fájlai és az adatbázisa is, pl. új felhasználók regisztráltak, a felhasználok új fórumtémákat/hozzászólásokat írtak stb. Tehát a programnak vhogy automatikusan felül kéne írnia a régi, éles oldal adatbázisát és fájlait úgy, hogy ne vesszen el a felhasználók által időközben létrehozott tartalom, meg az új regisztrált felhasználók adatai stb. Továbbá ismerje fel, hogy a tesztoldal más domain alatt futott, mint az éles, ezt is intézze el magától.

Így minimálisra lehetne csökkenteni az állásidőt, ha gyors a szerver, akkor akár csak néhány percig lenne offline az oldal.

Tudtok vmi ilyesmi megoldást?

Joomla 1.5 költöztetés

A teszt helyen php 5.2.x és mysql 5.0.xx van, ahol összeraktam a weblapot. A cél szerveren viszont mysql 4.0.25 és php 4.3.10 van.

show variables szerint:

character_set latin1
character_sets latin1 big5 czech euc_kr gb2312 gbk latin1_de sjis...

Ha simán kiimportálom mysql40 formátummal akkor az ékezetek kivételével oké minden. Csak gáz a sok kocka, illetve hogy kézzel kell latin1-re kapcsolgatni a böngészőt. Viszont ilyenkor a "keresés" és a többi, lesz "ékezetlen". Van valami módszer az utf-8 használatára ebben a felállásban is?

css méret határok

Egy olyan gondom lenne, hogy van div, amiben van egy táblázat. A div hátterét megadtam. Amikor a böngésző ablakát egész kicsire teszem, akkor a div összemegy, és a táblázat kinyúlik a div-ből (több böngészőnél is).
Hogy lehet megadni, hogy a div csak addig menjen össze, amekkora a benne lévő elem.

XPath kerdes - text node

Sziasztok!

Ismet lenne egy XPath kerdesem. Ezt most meg tudnam oldani koddal is (lekerem a parent node-ot, aztan vegigmegyek a leszarmazottain, es kozben szurok), de kivancsi vagyok XPath-al hogy lenne. A kivancsisagon kivul azert is erdekes, mert tobb helyen elojon a problema, es az XPath - azon kivul, hogy erre valo - konnyebben modosithato.

Igy nez ki a kerdeses reszfa:


...
<td eddig_el_tudok_jutni>
  str1_ez_is_jellemzo
  <br/>
  <span >str2</span>
  <br/>
  ...
  <hr />
  ez_a_jellemzo_szoveg
  <br/>
  ez_valtozik_ennek_az_erteke_erdekel
  <br/>
  ...
</td>
...

A td-ig mar kesz. Mondjuk az str2 utani text node erteke sem lenne nehez, mert azt span[text()='str2'] elso szoveges siblingje megadja.
Itt viszont a 'ez_a_jellemzo_szoveg' tartalmu text node utani text node erteke kellene.
Valami olyanra lenne szuksegem, ahol a text node szovegere tudok hivatkozni a feltetelben, de a self(), text() meg hasonlok nem vezettek eredmenyre (nem ismeri a szintaxist). A text()-et csak a td felteteleben hasznalhatom.
A td-ig el tudok jutni, mondjuk igy:
..../td[normalize-space(text())='ez_a_jellemzo_szoveg'
De ez nyilvan a td-t adja vissza, a szoveges node-ot nem tudom meg ettol.
..../text()[ide_mit_irjak='ez_a_jellemzo_szoveg']

A jellemzo szoveg elotti node-ok tipusa/darabszama valtozhat, ugyhogy a [123] nem jo feltetel. A DOM szerkezetet nem valtoztathatom (pont az a lenyeg, hogy ebbol akarom kinyerni a benne tarolt infot).

[megoldva] os detection using javascript

Mint ahogy létezik:


<!--[if IE]>
<font size=4><table width="100%" bgcolor="#eeeeee"><tr /><td />you're browsing with ie<td /><tr /><table /><font />"
<![endif]-->

úgy szeretnék egy os detection-t is html kódban. Csak. Ezt html-ben legjobb tudtommal nem igazán lehet megvalósítani [FIXME]. Szóval javascript. De viszont mégsem működik az, ami talán, esetlegesen 1 a 100-hoz jó lenne:


<html>
<head>
<title>
</title>
</head>
<body>
<script language="JavaScript" type="text/javascript">

	if (navigator.platform.toLowerCase().indexOf("win")!=-1) 

		{ 
			document.write(navigator.platform.toLowerCase());
			document.write("<br />";
			div.innerHTML = "<font size=4><table width="100%" bgcolor="#eeeeee"><tr /><td />you're using windows<td /><tr /><table /><font />";
		}

</script>
</body>
</html>

A cél érthető, de hol lehet a hiba? :)

ui.: html kód a fórumban

[Megoldva] XPath kerdes - az elso reszfa parentje

Sziasztok!

Van egy HTML kodom DOM-ban, ennek egy reszfajahoz keresek megfelelo XPath kifejezest. A HTML-t nem tudom modositani, az adott.
A szerkezete valahogy igy nez ki leegyszerusitve:


...
<tr ez_az_ami_kell_nekem>
  <td tulajdonsag="jo"/>
  <td />
  <td />
  <td tulajdonsag="jo"/>
  <td tulajdonsag="jo"/>
</tr ez_az_ami_kell_nekem>
...
<tr ez_az_ami_NEM_kell_nekem>
  <td tulajdonsag="jo"/>
  <td />
  <td tulajdonsag="jo"/>
  <td />
  <td tulajdonsag="jo"/>
</tr ez_az_ami_NEM_kell_nekem>
...

Szoval van a kodban ket helyen (nem is feltetlenul azonos szinten) egy-egy hasonlo szerkezetu reszfa.
A reszfat onnan ismerem fel, hogy nehany child-janak van egy jol felismerheto attributuma (nem mindnek), de ez sajnos a masodikra is illeszkedik. Nekem csak az elso ilyen fa parentje kell (igazabol nem a parent, de onnan mar tovabb tudok menni). Utana tovabb akarok menni a faban lefele, szoval emiatt nem jo megoldas, hogy lekerem az osszeset, es veszem az elsot a nem-xpath kodbol.

Ez az XPath megadja a parenteket (a rosszat is)
.... //td[@tulajdonsag='jo']/..
Ez viszont nem mukodik (pedig mondjuk a td[13] helyes):
.... //td[@tulajdonsag='jo']/..[1]

Tudnatok segiteni ebben?

szerk:
a megoldas a zarojelezes, hogy a halmazbol vegye az elsot: (ld. 1. komment)
(xpath)[1]
(.... //td[@tulajdonsag='jo']/..)[1]

JavaScript: Weblap letöltés

Üdv!

Szeretnék egy olyan megoldást az egyik weblapomra, hogy egy gombnyomásra egy JS megnyit egy php filet, de HTTP queryvel, mivel a php kimenetelére lenne szükségem, amit utána beolvasok egy változóba, úgy, hogy eközben a weblap ugye nem töltődik újra, és nem lép át másik lapra, etc... Az a baj, hogy nem tudom, hogy hogyan is kereshetnék erre, mi ennek a neve... Gondolom valami AJAXos izébizét keresek. Akinek van valami megoldása, vagy tippje az ne fogja vissza magát :)

köszi ;]

Adatbázistábla és változó "egyeztetése"

Sziasztok!

Egy jó barátom megkért, hogy segítsek neki PHP-ban mivel nem ért hozzá és szerinte én igen (nos ez így nem teljesen igaz, most kezdek vele ismerkedni, de megígértem hogy segítek neki amennyit tudok). Adott a következő szituáció:
Felhasználó egy input mezőben megad egy karaktersorozatot, ezt eltárolom egy változóban. Valamint egy adatbázis táblában hasonló karaktersorozatok vannak. A kérdésem az lenne, hogy lehetne ezt ellenőrizni, hogy az felhasználó által megadott karaktersorozat benne van-e az adott táblában.

(FYI: ez egy nyereményjáték lenne az oldalán és a felhasználó vásárlás után kap egy kódot és így tudná meg, hogy nyert-e. Ezt szeretném neki valahogy hasonló módon megoldani.)

Várok mindenféle építőjellegű ötletet, esetleg teljesen más, hatékonyabb megoldást. Tényleg nemrég kezdtem el ismerkedni a PHP-val így a "mekkora láma vagy" és hasonló gondolatok esetén elég ha egy MLV-t írtok. :)

Előre is köszönöm mindenkinek!

javascript kérdés: text mező

Sziasztok

Írok magamnak egy kis tanuló programot. Javascript és PHP alapon.
A problémám a következő: egy text input box-ra telepedtem rá javascript onkeydown() eseménnyel. A dolog működik, de erre szeretnék egy olyan lehetőséget ráépíteni, hogy ha gépelek, akkor, Firefox kereső mező szerűen (jobb felső mező), az input text box alá helyi menüként kifejtse a hasonló szavakat és innen is választhassak, ha van itt megfelelő elem. Kvázi javaslatot téve.
A keresés, az eseménykezelés és minden más megy ehhez, de nem tudom ennek a dolognak, módszernek a nevét, így google-t sem tudom segítségül hívni, hogy összerakjam.
Valaki elindítana a helyes irányba? Egy link is elég lenne, vagy egy név ezzel kapcsolatban...

Köszönöm