[PHP] Mediawiki extension variabelen

Pagina: 1
Acties:

Onderwerpen


  • 4POX
  • Registratie: Maart 2000
  • Laatst online: 21:39

4POX

Everybody is wired

Topicstarter
Vol schaamte open ik hier een topic over een probleem waar ik de hele middag al mee bezig ben. Ik heb helaas nog geen kennis over het gebruik van object georienteerd. Ik begrijp de basis van PHP en kan me daar prima in redden.

Ik ben bezig een Mediawiki extensie te schrijven die ruwe data naar de database gaat wegschrijven. Ik beheer een wikipedia systeem voor een bedrijf. Enkele studenten hebben deze ruwe data nodig om een onderzoek te doen met het database programma SPSS. Omdat er nog niet een goede methode bestaat om de data weg te schrijven naar een mysql tabel heb ik besloten om zelf een mediawiki extensie te schrijven die dit gaat doen.

Ik heb nu de grootste vorm van de extension geschreven. De HOOK voert de juiste functie uit. Hij schrijft nu wat standaard $_SERVER variabelen weg. Nu wil ik ook wat standaard Mediawiki informatie wegschrijven. Bijvoorbeeld de username en de info achter de magicword {{CURRENTTIMESTAMP}} . En hier komt het probleem.

Ik kan nergens op een makkelijke manier vinden hoe ik deze informatie naar mijn extension kan krijgen. Er wordt de hele tijd gesproken over deze magicwords. Maar hoe kan ik deze nu toepassen in de php code van de extension. Ik heb veel verschillende methodes gebruikt maar dan krijgt ik in de console php fouten te zien. Sinds vanmiddag ben ik op zoek naar een duidelijke howto die dit mijn kan uitleggen. Na het lezen van vele source code van andere extension heb ik tot heden geen oplossing kunnen vinden :(

AKA Rinkel weblog


Acties:
  • 0 Henk 'm!

  • 4POX
  • Registratie: Maart 2000
  • Laatst online: 21:39

4POX

Everybody is wired

Topicstarter
Je mag toch kicken na een week ? :p

Ik ben weer verder gegaan met bovenstaande probleem stelling. Na het doorlezen van enkele extension source codes heb ik weer een paar problemen kunnen oplossen.

user ID en user naam kan ik opvragen met behulp van $userId = $wgUser->mId; $userName = $wgUser->mName; Blijft erg jammer dat dit niet goed wordt aangegeven op http://www.mediawiki.org/wiki/Manual:$wgUser

Nu ben ik op zoek hoe ik achter de mediawiki tijd kan komen en bijvoorbeeld de pagina id en nummer.

AKA Rinkel weblog


Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Als je die pagina bekijkt, begrijp je denk ik dat je die user.php moet includen om de $wgUser object te verkrijgen? Tenminste, zo lees ik het.

Overigens geeft MediaWiki aan dat Globals evil zijn

Wellicht staat op de help nog het een en ander waar je naar toe kan voor hulp. En anders is er hun Forum nog.

Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Ik vermoed dat {{CURRENTTIMESTAMP}} de huidige tijd bevat. Die kun je in PHP opvragen met date() of time() en in MySQL met bijvoorbeeld NOW().

SQL:
1
INSERT INTO tabel (timestamp) VALUES(NOW());


Dit zal de huidige tijd in de tabel stoppen.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Zijn ze niet, je moet alleen weten waar en wanneer ze wel en niet geschikt zijn en ze alleen daar waar het nut heeft toepassen.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 19:24

Patriot

Fulltime #whatpulsert

HuHu schreef op maandag 09 maart 2009 @ 14:26:
Ik vermoed dat {{CURRENTTIMESTAMP}} de huidige tijd bevat. Die kun je in PHP opvragen met date() of time() en in MySQL met bijvoorbeeld NOW().

SQL:
1
INSERT INTO tabel (timestamp) VALUES(NOW());


Dit zal de huidige tijd in de tabel stoppen.
offtopic:
Let wel op dat de drie door HuHu genoemde functies allemaal iets anders doen. Date() laat je een unix timestamp formatten, time() geeft een unix timestamp terug en NOW() geeft gewoon de datum en de tijd)

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Patriot schreef op maandag 09 maart 2009 @ 15:05:
[...]


offtopic:
Let wel op dat de drie door HuHu genoemde functies allemaal iets anders doen. Date() laat je een unix timestamp formatten, time() geeft een unix timestamp terug en NOW() geeft gewoon de datum en de tijd)
En daarbij moet je, als MySQL op een andere server draait, drommels goed oppassen dat de tijd gelijk staat; in de zelfde tijdzone etc. etc.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1