Wikipedia:Mentorenprogramm/Scripting

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

ColdFusion-Scripting der DB-startseite[Quelltext bearbeiten]

...eine der wichtigsten funktionen der startseite ist der vergleich zwischen den DB-tabellensummen (oberer frame: mentoren, neulinge) mit den geparseden PAGESINCATEGORY-werten (im unteren hauptframe auf gelbem grund). gesamtsumme unten ist immer neulinge+archivierte.

beispiel A: falls mentoren oben größer als unten, so hat sich vermutlich einer der mentoren mit einem inaktiv-baustein entkategorisiert.

beispiel B: falls neulinge oben wesentlich kleiner als unten, könnte dies auf ein klemmen des bots hindeuten... kleinere differenzen sind eher vom besuchszyklus des bots abhängig (alle 20 minuten).


.../WP_MP/MP.CFM:[Quelltext bearbeiten]

<CFFILE ACTION="APPEND" FILE="***serverpfad***\LogFiles\#DateFormat(Now(), 'dd_mm_yy')#.log" OUTPUT="#CGI.REMOTE_ADDR#, #TimeFormat(Now(), 'HH:MM:SS')#, #CGI.REQUEST_METHOD#, direktaufruf: #CGI.PATH_INFO#, #CGI.HTTP_USER_AGENT#">
.
.
.

<FRAMESET COLS="176,*" BORDER=0>
<FRAME  NAME="INDEX_pub" SRC="/WP_MP/INDEX.CFM">
<FRAMESET ROWS="55,*" BORDER=0>
<FRAME NAME="oben" SCROLLING="no" NORESIZE SRC="/WP_MP/OBEN.CFM">
<FRAME NAME="unten" SCROLLING="auto" SRC="/WP_MP/start_mp.cfm">
</FRAMESET>

.../WP_MP/INDEX.CFM:[Quelltext bearbeiten]

<CFSET #sort# = 1>
[<A HREF="/WP_MP/artikel.cfm?sort=<CFOUTPUT>#sort#</CFOUTPUT>" TARGET="unten">"<B>erste artikel</B>"</A>]

[<A HREF="/WP_MP/search_MP.cfm" TARGET="unten"><B>suchfunktion</B></A>]<IMG SRC="/IMG/NEU.GIF" BORDER=0 ALT="zur direktsuche">

.../WP_MP/OBEN.CFM:[Quelltext bearbeiten]

<CFQUERY NAME="GetInfo0" DATASOURCE="***DB-Pfad***">
        SELECT * FROM wp_mentoren
        WHERE mentoren_status = '-'
</CFQUERY>

<CFQUERY NAME="GetInfo1" DATASOURCE="***DB-Pfad***">
        SELECT * FROM wp_neulinge
        WHERE neulinge_status = 'w'
</CFQUERY>

<CFQUERY NAME="GetInfo2" DATASOURCE="***DB-Pfad***">
	SELECT * FROM wp_neulinge
        WHERE neulinge_status = 'a'
</CFQUERY>

<CFQUERY NAME="GetInfo3" DATASOURCE="***DB-Pfad***">
	SELECT * FROM wp_mentoren
        WHERE mentoren_status = 'b' OR
        mentoren_status = 'i'
</CFQUERY>

<CFQUERY NAME="GetArch1Info" DATASOURCE="***DB-Pfad***">
	SELECT * FROM wp_neulinge
        WHERE neulinge_status = 'a'
        AND neulinge_out = 0
</CFQUERY>

<CFQUERY NAME="GetArch2Info" DATASOURCE="***DB-Pfad***">
	SELECT * FROM wp_neulinge
        WHERE neulinge_status = 'w'
        AND neulinge_out > 0
</CFQUERY>

<CFIF GetArch1Info.RecordCount GT 0>
<CFQUERY NAME="SetArch1Info" DATASOURCE="***DB-Pfad***">
	UPDATE wp_neulinge SET neulinge_status = 'w'
        WHERE neulinge_status = 'a'
        AND neulinge_out = 0
</CFQUERY>
</CFIF>

<CFIF GetArch2Info.RecordCount GT 0>
<CFQUERY NAME="SetArch2Info" DATASOURCE="***DB-Pfad***">
	UPDATE wp_neulinge SET neulinge_status = 'a'
        WHERE neulinge_status = 'w'
        AND neulinge_out > 0
</CFQUERY>
</CFIF>


<FONT COLOR=WHITE><FONT FACE="Courier">[<A HREF="../wiki-test/mentoren.cfm" TARGET="unten"><B><CFOUTPUT>#Evaluate(GetInfo0.RecordCount+GetInfo3.RecordCount)#</CFOUTPUT></B> mentoren</A>]  [<A HREF="../WP_MP/neulingsboerse_nz.cfm" TARGET="unten"><B><CFOUTPUT>#GetInfo1.RecordCount#</CFOUTPUT></B> neulinge</A>]    [<A HREF="../WP_MP/neulingsboerse_archiv_az.cfm" TARGET="unten"><B><CFOUTPUT>#GetInfo2.RecordCount#</CFOUTPUT></B> archiviert</A>]    [<A HREF="../WP_MP/statistik.cfm" TARGET="unten"><B>statistiken</B><IMG SRC="/IMG/NEU.GIF" BORDER=0 ALT="zu den statistiken"></A>]    [<A HREF="../WP_MP/rueckblick.cfm#Z" TARGET="unten"><B>rückblick</B></A>]    [<A HREF="../WP_MP/start_mp.cfm" TARGET="unten">home</A>]</FONT></FONT>

.../WP_MP/start_mp.cfm:[Quelltext bearbeiten]

<CFHTTP METHOD="GET" URL="http://de.wikipedia.org/w/index.php title=Spezial:Kategorien&dir=prev&offset=Benutzer_ist_inaktiv&limit=1">

<CFSET mentores = REFind("Benutzer ist Mentor", CFHTTP.FileContent)><CFSET zahl2 = Evaluate(mentores+46)>

<CFQUERY NAME="GetInfoN" DATASOURCE="***DB-Pfad***">
	SELECT * FROM wp_neulinge
</CFQUERY>

<CFFILE ACTION="READ"
        FILE="***serverpfad***\CGI-BIN\MPcounter.dat"
        VARIABLE="MPcounter">
<CFFILE ACTION="WRITE"
        FILE="***serverpfad***\CGI-BIN\MPcounter.dat"
        OUTPUT="#Val(MPcounter+1)#">

<TD ALIGN=CENTER><FONT FACE="Courier New" SIZE="-1"><SMALL><B>seit dem <B>05.12.07:</B> <FONT COLOR=BLUE><CFOUTPUT>#MPcounter#</CFOUTPUT></FONT></B> startseiten-aufrufe bis zum </SMALL><FONT COLOR=DARKRED><CFOUTPUT><B>#DateFormat(Now(), 'dd.mm.yy')#</B></FONT> um <FONT COLOR=DARKRED><B>#TimeFormat(Now(), 'HH:mm')#</B></CFOUTPUT></FONT> uhr</FONT></TD>

<TD BGCOLOR="#EEDD55" ALIGN=CENTER><IMG SRC="/IMG/da_logo.jpg" BORDER=0 ALT="mentorenprogramm" ALIGN=ABSMIDDLE><FONT FACE="Courier New"><FONT COLOR=DARKRED><B>  <CFOUTPUT>#Mid(CFHTTP.FileContent, zahl2, 3)#</CFOUTPUT></B></FONT> <A HREF="http://de.wikipedia.org/wiki/Kategorie:Benutzer_ist_Mentor?action=purge" TARGET="NEW">mentoren</A> betreuen z.zt. <CFHTTP METHOD="GET" URL="http://de.wikipedia.org/w/index.php?title=Spezial:Kategorien&dir=prev&offset=Wirdum&limit=1">

<CFSET mentees = REFind("betreut</a", CFHTTP.FileContent)><CFSET zahl1 = Evaluate(mentees+13)>

<FONT COLOR=DARKRED><CFOUTPUT>#Evaluate(Mid(CFHTTP.FileContent, zahl1, 3))#</CFOUTPUT></B></FONT> <A HREF="http://de.wikipedia.org/wiki/Kategorie:Wird_im_Mentorenprogramm_betreut?action=purge" TARGET="NEW">neulinge</A></FONT></TD>

<TD ALIGN=CENTER><FONT FACE="Verdana" SIZE="-1">bis jetzt wurden insgesamt <B><FONT COLOR=DARKRED><CFOUTPUT>#Left(GetInfoN.RecordCount, 1)#.#Mid(GetInfoN.RecordCount, 2,3)#</CFOUTPUT></FONT></B> neulinge im mentorenprogramm erfasst...</FONT></FONT></TD>

PHP-Scripting (alt)[Quelltext bearbeiten]

  • lokale entwicklungsumgebung:
    • Webserver: Apache 2.2.11 (Win32)
    • PHP 5.3.0
    • MySQL-Client: 5.0.5-dev - 081106 - $Revision: 1.3.2.27

test-mp auf 'artkatalog.net'

(...wird weiter bearbeitet - bitte um etwas geduld! falls dieser link gespeichert werden sollte: bitte mit ...?id=ireas oder merl, euku, carport aufrufen...)

PHP-Scripting (neu)[Quelltext bearbeiten]

Vorschlag


...ergänzungsvorschlag (im sinne eines vergleichs der beiden modelle):
Datenbankstatus:
Die Datenbank ist erst dann aktuell, nachdem ein bot sie upgedated hat (derzeitiger stand: Sa, 29.5.2010)
...aus diesem grund wäre es vielleicht auch sinnvoll, wenn oben drüber stünde:
........... Datenbank(neu)  Datenbank(alt)  Wikipedia(NB)
  Neulinge:	      362	      364   364
archiviert:          2729            2740   2740
    gesamt:          3091            3104   3104
  Mentoren:	       99	       99   99
 ehemalige:            52              52   (k.a.)
    gesamt:           151             151   (k.a.)


...wobei db(alt) von meiner serverstartseite geparsed werden müsste. dann könnte man die allmähliche anpassung sehr schön beobachten... lg, --NB/archiv MP-DB 16:08, 1. Jun. 2010 (CEST)[Beantworten]
...und damit das textparsen nicht allzu heavy wird ;)) : →hier die stets aktuelle mini-datei!