ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Neues
BeitragVerfasst: 13 Sep 2004, 18:40 
Offline
Obfuscator

Registriert: 20 Jul 2003, 22:14
Beiträge: 597
Ich hab nen "Include System" (oder wie auch immer man das nennen will) eingebaut. Wenn man in verschieden Modul Gruppen gleiche Funktionen benötigt kann man die einfach eine Include-Datei in module.rb hinzufügen:

./config/module.rb


1
2
3
4
5
6
...
@module = {
"index" => { "cache" => 0, "filename" => "board/boards", "include" => "board/include"},
"showforum" => { "cache" => 0, "filename" => "board/showforum", "include" => "board/include"},
"register" => { "cache" => 0, "filename" => "user/register" },
...


Durch wird der Code schön klein:

./module/board/board.rb - macht:http://www.rubybb.org/cgi-bin//index.cgi


1
2
3
4
5
6
7
...
def main
result = @sql.query("SELECT se.id, se.categorie, parent_id, lt.title FROM #{@sql.prefix}structure_elements se LEFT JOIN #{@sql.prefix}lang_texts lt ON se.name_id = lt.id AND lt.lang = #{$user.lang} WHERE parent_id = 0 ORDER BY position")
showcates(result)
@navi.push("<!--index-->","-")
end
...


./module/board/showforum.rb - macht:http://www.rubybb.org/cgi-bin/index.cgi?action=showforum&id=8


1
2
3
4
5
6
7
8
9
...
def show
if !(@web.param.has_key?('id')) then raise "no_id" end
result = @sql.query("SELECT se.id, parent_id, se.categorie, lt.title FROM #{@sql.prefix}structure_elements se LEFT JOIN #{@sql.prefix}lang_texts lt ON se.name_id = lt.id AND lt.lang = #{$user.lang} WHERE se.id = ? ORDER BY position", @web.param["id"])
row = result.clone.fetch_hash
@navi.push(row['title'],"-")
showcates(result, 2)
end
...


Die Funktion showcates ist den beiden Modulen durch die Datei include.rb verfügbar.

mfg Benjamin


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 18 Sep 2004, 18:37 
Offline
Obfuscator

Registriert: 20 Jul 2003, 22:14
Beiträge: 597
Die Navigationbar zeigt jetzt die einzelnen höhren Strukturelemente:
http://www.rubybb.org/cgi-bin/index.cgi?action=showforum&id=9


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 18 Sep 2004, 20:50 
Offline
Ex-Admin
Benutzeravatar

Registriert: 12 Mai 2003, 18:49
Beiträge: 890
Wohnort: Kiel
Moin!

Sieht ja schon gut aus. =)

Verwendest du eigendlich eine Funktion, mit der alle interen Links behandelt werden können, also z. B. Session-ID anhängen oder so? Das wäre nämlich ein guter Ort, um die URLs so wie hier im Forum umzuwandeln, dass sie für Google so aussehen, als ob seien sie HTML-Seiten. Will das Forum ja irgendwann auch hier mal einsetzen. =)

Ich werde mir einfach mal ansehen, was du da fabriziert hast.

Und hast du dich eigendlich mal bei Rubyforge registriert?

iGEL

_________________



# Kein Kommentar!!


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 23 Sep 2004, 11:17 
Offline
Obfuscator

Registriert: 20 Jul 2003, 22:14
Beiträge: 597
Zitat:
Und hast du dich eigendlich mal bei Rubyforge registriert?


Ich bin da schon angemeldet. Aber ich weiß nicht mehr mein Passwort :roll: . Die Emailadresse auf das es geschickt wird, geht zur Zeit auch nicht. Weil ich immer noch nicht den Emailserver am laufen hab.

Zitat:
Verwendest du eigendlich eine Funktion, mit der alle interen Links behandelt werden können, also z. B. Session-ID anhängen oder so? Das wäre nämlich ein guter Ort, um die URLs so wie hier im Forum umzuwandeln, dass sie für Google so aussehen, als ob seien sie HTML-Seiten. Will das Forum ja irgendwann auch hier mal einsetzen. =)


Beim ausgeben von der Seite ($web.out(session)) ersetzt der Driver Web alle <!--url--> durch die Url, außerdem ersetzt er alle ?action durch &session...+action.

Das ist aber nicht so toll.




    body.gsub!("?action=", "?session="+session.value+"&amp;action=")


@murphy: Kannst du mir nen Regulären Ausdruck zaubern der das nur ersetzt wenn das ganze auch in einem Link steht? Also ersetzte wenn:

*<a*href="*?action=*">*
ist. * kann kein, ein oder mehrere beliebiges Zeichen sein.

Ich hab ziemlich viel geändert. Ein paar wichtige Sachen:

1. Die häufig verwendeten Objekte sind jetzt Global verfügbar. Ich werde das bald dokumentieren.
2. Im den Hashs der Config sind die Schlüssel wenn es ging zu Symbolen geworden.
3. Ich hab mit dem Modul topic angefangen: http://www.rubybb.org/cgi-bin/index.cgi?action=showtopic&id=1 Sollte das fetig werden, muss ich erstmal alle Kraft ins fertigstellen des Login&Benutzerverwaltung stecken. Dann können wir das Module für das Hinzufügen von Beiträgen schreiben. D.h. murphys bbcode kommt endlich zum Einsatz.

mfg Benjamin


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 23 Sep 2004, 21:14 
Offline
Böser Admin 2
Benutzeravatar

Registriert: 17 Mär 2004, 17:03
Beiträge: 2544
Wohnort: Berlin
bunny hat geschrieben:
@murphy: Kannst du mir nen Regulären Ausdruck zaubern der das nur ersetzt wenn das ganze auch in einem Link steht? Also ersetzte wenn:
*<a*href="*?action=*">*
ist. * kann kein, ein oder mehrere beliebiges Zeichen sein.
probier' mal



body.gsub(/ (<a [^>]*?) \? (action=) /x, '\1?session=' + session.value + '&amp;\2')

ohne gewähr, ich kenne die zieldaten nicht.

_________________
Ruby-Mine | (almost) murphy.de | rubychan.de


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 24 Sep 2004, 11:22 
Offline
Obfuscator

Registriert: 20 Jul 2003, 22:14
Beiträge: 597
Der macht nichts: :(

Hier ein paar Beispiele:



1
2
3
4
5
<a class="ftitle" href="http://localhost/cgi-bin/trunk/index.cgi?action=showforum&amp;id=7">General Chat</a>
<a href="http://localhost/cgi-bin/trunk/index.cgi?action=index"><b>RubyBB</b></a>

<a class="ftitle" href="http://localhost/cgi-bin/trunk/index.cgi?session=11111111&amp;action=showforum&amp;id=7">General Chat</a>
<a href="http://localhost/cgi-bin/trunk/index.cgi?session=11111111&amp;action=index"><b>RubyBB</b></a>


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 24 Sep 2004, 11:35 
Offline
Böser Admin 2
Benutzeravatar

Registriert: 17 Mär 2004, 17:03
Beiträge: 2544
Wohnort: Berlin
hast du auch gsub! statt gsub benutzt?

_________________
Ruby-Mine | (almost) murphy.de | rubychan.de


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 24 Sep 2004, 11:40 
Offline
Obfuscator

Registriert: 20 Jul 2003, 22:14
Beiträge: 597
Ups, darauf habe ich gar nicht geschaut. Jetzt geht es.

thx Benjamin


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 24 Sep 2004, 11:45 
Offline
Böser Admin 2
Benutzeravatar

Registriert: 17 Mär 2004, 17:03
Beiträge: 2544
Wohnort: Berlin
ok. sorry, ich hatte es zum testen geändert.

_________________
Ruby-Mine | (almost) murphy.de | rubychan.de


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
cron