Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Plugin System, molim pomoc

[es] :: PHP :: Plugin System, molim pomoc

[ Pregleda: 1028 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Marshall2056
Student, Web dizajn i programiranje

Član broj: 207291
Poruke: 8
*.adsl.net.t-com.hr.

Sajt: www.mmedija.org


Profil

icon Plugin System, molim pomoc12.02.2010. u 10:15 - pre 173 meseci
Pozdrav svima,

Radim jedan CMS, ali htio bi da on ima podrsku za pluginove da bi cim lakse mogao inastalirati neke dodatke ili preinake sustava, bez da neka treca strana ne treba prckati po kôdu CMS-a.

Naime, sistem bi trebao raditi preko XML-a tj. ja bi trebao imati jednu stranicu u admin sucelju za modifikacije te unutar te stranice treba biti jedan input type="file", kada se odabere file podaci bi se trebali ucitati u formu kao npr. naziv plugina, verzija, autor, opis itd.. prilikom spremanja tj potvrdjivanja modifikacije skripta bi trebala napraviti svoje kako je definirano u XML-u

<plugin>
<naziv></naziv>
<autor></autor>
<opis></opis>
<baza>
// ovdje ide jedan obicni query ..npr create table, insert into ..etc
</baza>
<file dat="index.php">
<trazi>$nekaVarijabla = 1;</trazi>
<dodajprije>$nekaVarijabla2 = 0;</dodajprije>
</file>
</plugin>

e sada mene zanima, naime kako pronaci jedan red u datoteci (npr dat="index.php") te pomaknuti sve za jedan red dolje pa vratiti ponter za 1 i dodati novi red koji je definiran kao <dodajprije> tagom

nadam se da sam bio dosta jasan sto bi htio napraviti

Hvala svima na pomoci
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
91.148.86.*

Sajt: norway.dakipro.com


+190 Profil

icon Re: Plugin System, molim pomoc12.02.2010. u 10:24 - pre 173 meseci
Pogledaj neka od open source resenja kako to rade, tj kako tacno traze takve stringove, mislim da smf forum bas tako radi.
A mozda da nekako drugacije organizujes cms, pa da postoji puno blokova recimo, i da svaki blok dinamicki 'vadi' iz svakog modula (plugina) sta ima da se prikaze i radi. U templejtu imas recimo neka kljucna mesta za prikaze, a u kodu koji radi logiku, imas akcije pre - posle akcije, pozovi sve pluginove koji imaju nesto za odraditi.
To je po meni mnogo bolje resenje nego da menjas php i template fajlove. Jer uvek moze nesto krenuti po zlu na sred ubacivanja plugina/modula, i ceo fajl ostane neupotrebljiv.
 
Odgovor na temu

Marshall2056
Student, Web dizajn i programiranje

Član broj: 207291
Poruke: 8
*.adsl.net.t-com.hr.

Sajt: www.mmedija.org


Profil

icon Re: Plugin System, molim pomoc12.02.2010. u 13:29 - pre 173 meseci
Da smf radi tako nekako..doduse ja znam kako naci neki string u fajlu i zamjeniti ga, ali mi nije jasno kako pomaknuti neki red u fajlu dolje pa pointer -1 da bi mogao ubaciti novi red :S

pa ako bi iko mogao napraviti bilo kakav primjer ubacivanja reda prije i poslje bio bi mu zahvalan (primjer ne mora citati xml)

 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Plugin System, molim pomoc12.02.2010. u 14:33 - pre 173 meseci
Možda ovako nešto:
Code:
$sadrzajNiz = file('putanja/do/fajl.txt');

$noviSadrzaj = array();

foreach ($sadrzajNiz as $i=>$red) {
     if ($i == 7) {
         $noviSadrzaj[] = 'neka dodatna linija';
     }

     $noviSadrzaj[] = $red;
}

file_put_contents('putanja/do/fajl.txt', implode("\n", $noviSadrzaj));

Kao što vidiš u tom primeru sam stavio da se na 8. liniju u tom fajlu umeće neki novi red, ti to naravno možeš da prilagodiš prema svojim potrebama.
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dynamic.dsl.t-2.net.



+18 Profil

icon Re: Plugin System, molim pomoc12.02.2010. u 15:28 - pre 173 meseci
Ja mislim da ne treba tu previse komplikovati. Procitas fajl i samo dodajes "\n" tamo gdje hoces da "pomjeris" podatke.

Evo neki okvirni primjer:

Code:

$string = 'neki string';
$fajl = 'nekifajl.txt';
$new_string = 'drugi string';

$data = file_get_contents($fajl);

$data_new = str_replace($string, "$new_string \n $string", $data);


var_dump($data_new);


Ovim smo dodali $new_string ispred $string, s tim da smo takodje dodali novi red (\n).

[mala napomenica: da bi \n radilo, moraju biti dupli navodnici (") ]
 
Odgovor na temu

Marshall2056
Student, Web dizajn i programiranje

Član broj: 207291
Poruke: 8
*.adsl.net.t-com.hr.

Sajt: www.mmedija.org


Profil

icon Re: Plugin System, molim pomoc12.02.2010. u 17:47 - pre 173 meseci
super hvala puno...eto bas sam iz toga dobio ideju kako dodati prije ili poslje neki red

kako sam si ja to u glavi zamislio :
znaci, pronadjem neki red na $i == 7 npr i dodam mu "\n" na pocetak zatim isto to napravim ali ne pomicem vise red nikuda nego samo ubacim novi red, a isto tako napravim sa dodavanjem posllje primjenim primjer od Nikole

Hvala vam puno svima
 
Odgovor na temu

[es] :: PHP :: Plugin System, molim pomoc

[ Pregleda: 1028 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.