Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support

r*bot

Mitglied
  • Content count

    34
  • Joined

  • Last visited

Posts posted by r*bot


  1. Ich glaub, ich werds wie Ratman halten. Übung schadet ja nicht.

    Das doofe ist halt, dass wir 4 eigene Skins haben, die halt so bald als möglich nach dem Erscheinen des finalen 2.0 online gehen sollen. Davon mach ich nur einen selbst und hab 3 Leute nebenbei noch zu betreuen. Deswegen will ich eben so bald als möglich durchstarten und such schon zwischen den Buchstaben nach dem Startschuss ;)

    Ach Mann, ich hasse dieses Warten, wenn man genau weiss, dass man später kaum noch Zeit dafür hat...

    :grrrrr:


  2. Ich bin mir nicht sicher, ob das die richtige Ecke ist, doch Werbung für mein Board zu machen...

    Es geht nur um einen kleinen Teil von www.dasproVisorium.de, genauer um den Linuxworkshop.

    Immer wieder haben Admins Probleme mit ihrem Webserver, kommen mit einem ssh oder Verzeichnisrechten nicht klar. Falls es euch interessiert, ihr einen Altrechner übrig habt oder euch parallel ein Linux auf den Rechner installieren wollt: Ihr werdet persönlich bei der Hand genommen und all eure Fragen und Probleme werden geklärt.

    Seht das als nicht als Werbung, eher als Angebot zum Lernen.

    Auch wenn der Originalskin per Default aktiviert ist, so gibt es doch eine brandneue Selbstentwicklung. Im Moment aber nur für registrierte User, bis alle Bugs beseitigt sind.


  3. Hiho,

    ich hab in meinem Board im Header eine Textbox, in der wichtige Bekanntmachungen stehen. Die normalen Bekanntmachungen sind einfach zu unauffällig und werden zu oft überlesen - zudem sind sie nur auf der Frenübersicht zu finden. Das Textfeld sieht im Moment so aus:

    post-11-1074622936.gif

    Bisher hab ich das einfach ins Header-Template reingeschrieben, aber die Zeit naht, in der ich das nicht mehr so einfach tun kann, denn es kommen mehrere Skins, die sich generell sehr stark unterscheiden werden.

    Ich suche nun irgendwie eine Möglichkeit, jedem Skin ein Template für so eine Textbox unterzujubeln. Jeder Skin soll das relativ frei anordnen können, ich brauch dann noch eine zentrale Stelle, um die Texte pflegen zu können.

    Wie stell ich das am Besten an?


  4. Ich hab einen einzigen User, der mir das Leben schwer macht. Für all meine Module muss ich auch englische Sprachpakete anbieten, weil dieser eine Quertreiber ein englisches Interface haben will (obendrein beschwert er sich sogar, dass im englischen Sprachset deutsche Buttons drin sind).

    Kurz und gut - ihm soll der Saft abgedreht werden. Aber das IPB verweigert mir das Entfernen der englischen Sprache.

    Ich kanns per HTML in den Skin-Templates abdrehen - aber gibts nicht einen anderen Weg übers ACP?


  5. Also ich hab ein IPB seit ein paar Monaten laufen, und nutze die safemode-Templates, was ja nichts anderes heisst, als dass die aus der DB kommen.

    Wie das halt so ist, hab ich einiges "on the fly" geändert, was jetzt in der DB aber nicht in den Files zu finden ist. Nur würde ich diesen Stand jetzt auch gerne in den Files haben, da ich das Skinset für ein eigenes Modul erweitert habe und die Dateien von PHP->DB importieren will. Nur dazu müssten die anderen Dateien auf dem aktuellen Stand sein.

    Wie krieg ich es hin, die Templates aus der DB in die Files zu schreiben?

    Der Workaround, das Skinset zu exportieren, als neuen Skin in einem Nichtsafemodeboard zu importieren, die Dateien dann in den anderen Skin-Folder zu kopieren ... neeee. Das ist mir zu umständlich, weil ich es wohl mehr als einmal machen muss.

    Any ideas?


  6. Web-/Fileserver/CVS:

    1.1 Debian 3.0r0 woody

    1.2 nur Konsole (Ich hab noch nicht mal nen Monitor oder ne Tastatur an der Maschine)

    1.3 nixda

    1.4 nixda

    2.1 HauptBS

    2.2 nixda

    Workstation:

    1.1 WinXP

    1.2 Ideal-Standard

    1.3 Firebird (und zum Testen alles, was geht: Lynx, div. Operas, div. Netscapes/Mozillas, IE)

    1.4 Windows-Explorer ;)

    2.1 HauptBS

    2.2 Homesite, DreamWeaver, JBuilder, ... 'n Haufen Zeug halt.


  7. Die relevanten Codezeilen stehen - wie du ja schon weisst - in der index.php (Zeilen 356 .. 389). Interessant ist in diesem Fall aber nur folgender Hauptbaum:

    if (! isset($choice[ $ibforums->input['act'] ]) )
    
    {
    
    	$ibforums->input['act'] = 'idx';
    
    }
    
    
    if ( $ibforums->input['act'] == 'home' )
    
    ...
    
    else if ( $ibforums->input['act'] == 'module' )
    
    ...
    
    else
    
    {
    
    	// Require and run
    
    	require ROOT_PATH."sources/".$choice[ $ibforums->input['act'] ].".php";
    
    }
    Die letzte Else (ja, sie _muss_ weiblich sein!!!) musst du entschärfen. Mit deinem Bsp. act=Members wird hier automatisch sources/Members.php ausgeführt, was ja anders sein soll. Also kommt weit vor der Else eine Anweisung (und zwar direkt vor if ( $ibforums->input['act'] == 'home' )):
    if (( $ibforums->input['act'] == 'Members' ) && ( $ibforums->member['posts'] <= 20  )) {
    
        $ibforums->input['act'] == 'home';
    
    }

    Dazu gibts natürlich mehrere Dinge zu sagen:

    1.) Das ist reine Theorie - keine Funktionsgarantie. Ich habs nicht ausprobiert.

    2.) Es ist ein Hotfix. Keinerlei Einstellungsmöglichkeiten im ACP oder wo auch immer.

    3.) Du musst dich noch entscheiden, wohin deine User umgeleitet werden sollen. Meldungslos auf "Home" umzuleiten ist eigentlich keine gute Idee. Ne Fehlerseite wäre mit Sicherheit besser.

    4.) Wenn du gar nicht an einer Zugriffsbeschränkung an "Members" interessiert bist, ist diese Stelle evtl. nicht relevant. In diesem Falle - Karten auf den Tisch! :ph34r:

    5.) 20 ???

    6.) Frag mich nicht, wie das mit der Fehlerseite geht.

    7.) Ich muss ins Bett.

    8.) Hab ich vergessen ...

    9.) 10. ist wichtig.

    10.) Wenn 4.) zutrifft und du auf 3.) verzichten willst, achte drauf, was mit der zu überschreibenden act in der index.php passiert. Vor dem ersten Aufruf dieser act musst du eingreifen. Und auch vor dem ersten Aufruf der Ausweich-act. In allen nicht in der index.php ausdrücklich erwähnten acts bist du mit der angegebenen Stelle aber gut beraten.

    Gute Nacht,

    r*bot


  8. Ich hab in meinem Dev-Board in den Skins -> Global HTML elements -> Board Header (logo, links, etc) neben der Hilfe diesen Link eingebunden:

    <a href='{ibf.script_url}act=module&module=ibforum_vars'>ibforum vars</a>
    Dann dazu noch das entsprechende Modul in den ./modules-Ordner kopiert. Schau nicht auf den Code, der ist an das Original-Beispiel "drangerotzt". Ich wollte nur wissen, was der Inhalt des Arrays $ibforums ist, und das listet dieses Modul (hoffentlich) komplett. Incl einiger Darstellungsprobleme, weil die Variable z.Teil einfach HTML enthält, um das ich mir keinen Kopf machte. Ist ja nur für mich gewesen ... :rolleyes: Hier noch der Code der Moduldatei, Name ist: mod_ibforum_vars.php
    <?php
    
    /*
    
    +--------------------------------------------------------------------------
    
    |   Invision Power Board v1.2 Module File
    
    |   ========================================
    
    |   by Matthew Mecham
    
    |   (c) 2001 - 2003 [url="https://www.invisionpower.com/clients/index.php?app=nexus&module=promotion&section=referral&id=5636&direct=aHR0cDovL3d3dy5pbnZpc2lvbnBvd2VyLmNvbS8%3D"]Invision Power Services[/url]
    
    |   http://www.invisionpower.com
    
    |   ========================================
    
    |   Web: http://www.invisionboard.com
    
    |   Email: matt@invisionpower.com
    
    |   Licence Info: http://www.invisionboard.com/?license
    
    +---------------------------------------------------------------------------
    
    |   > Example Module Loader File
    
    |   > Module written by Matt Mecham
    
    |   > Date started: 7th July 2003
    
    |
    
    +--------------------------------------------------------------------------
    
    */
    
    
    //=====================================
    
    // Define class, this must be the same
    
    // in all modules
    
    //=====================================
    
    
    class module extends module_loader
    
    {
    
    
    	//=====================================
    
    	// Define vars if required
    
    	//=====================================
    
    
    	var $class  = "";
    
    	var $module = "";
    
    	var $html   = "";
    
    
    	var $result = "";
    
    
    	//=====================================
    
    	// Constructer, called and run by IPB
    
    	//=====================================
    
    
    	function module()
    
    	{
    
      global $ibforums, $DB, $std, $print;
    
      
    
      //=====================================
    
      // Do any set up here, like load lang
    
      // skin files, etc
    
      //=====================================
    
      
    
      $ibforums->lang = $std->load_words($ibforums->lang, 'lang_boards', $ibforums->lang_id);
    
        $this->html     = $std->load_template('skin_boards');
    
        $ibforums->html = $this->html;
    
      
    
      //=====================================
    
      // Set up structure
    
      //=====================================
    
      
    
     	 $this->do_something();
    
      
    
      
    
        $this->list_ibforums();
    
        $ibforums->lang['page_title'] = "ibforums Variablen";
    
        
    
      $print->add_output( $this->result );
    
        $print->do_output( array( 'TITLE' => $ibforums->lang['page_title'], 'JS' => 0, NAV => array( $ibforums->lang['page_title'] ) ) );
    
        
    
      exit();
    
      
    
    	}
    
    
    
    
    	//------------------------------------------
    
    	// do_something
    
    	// 
    
    	// Test sub, show if admin or not..
    
    	//
    
    	//------------------------------------------
    
    
    	function do_something()
    
    	{
    
      global $ibforums, $DB, $std;
    
      
    
      if ( $ibforums->member['mgroup'] == $ibforums->vars['admin_group'] )
    
      {
    
     	 $this->result = "You're an admin!";
    
      }
    
      else
    
      {
    
     	 $this->result = "You're not an admin!";
    
      }
    
    	}
    
    
    	function list_ibforums(){
    
     	 $this->show_var_values("member");
    
     	 $this->show_var_values("input");
    
     	 $this->show_var_values("session_id");
    
     	 $this->show_var_values("base_url");
    
     	 $this->show_var_values("vars");
    
     	 $this->show_var_values("skin_id");     // Skin Dir name
    
     	 $this->show_var_values("skin_rid");      // Real skin id (numerical only)
    
     	 $this->show_var_values("lang_id");
    
     	 $this->show_var_values("skin");
    
     	 $this->show_var_values("lang");
    
     	 $this->show_var_values("server_load");
    
     	 $this->show_var_values("version");
    
     	 $this->show_var_values("lastclick");
    
     	 $this->show_var_values("location");
    
     	 $this->show_var_values("debug_html");
    
     	 $this->show_var_values("perm_id");
    
     	 $this->show_var_values("forum_read");
    
     	 $this->show_var_values("topic_cache");
    
     	 $this->show_var_values("session_type");
    
      }
    
      
    
      function show_var_values( $name ){
    
        global $ibforums;
    
        if( is_array($ibforums->$name)){
    
          $this->result .= "<hr>Array: <strong>".$name."</strong>:<br>";
    
          while( list( $key, $value ) = each($ibforums->$name)){
    
            $this->result .= "&nbsp;<em>".$name."['".$key."']</em>: <tt>".$value."</tt><br>";
    
          }
    
        }
    
        else {
    
          $this->result .= "<hr>Variable <strong>".$name."</strong>:<pre>".$ibforums->$name."</pre><br>";
    
        }
    
      }
    
      
    
    }
    
    
    
    ?>

    Ich hoffe, dir hilft das bei deiner Odyssee.


  9. Ich weiss nicht, ob das der Fehler ist, aber ein Vergleich wird immer mit "==" gemacht.

    Wenn du den Modulweg gehst, hat das Board für dich schon lang die Datenbank-Verbindung aufgemacht (direkt in der index.php des IPB) Wenn deine SMS-Modul-DB diesselbe wie die des IPB ist, kannst du die einfach mitverwenden:

    Verzichte auf alles was die Verbindung herstellt und die DB auswählt und schick deine Statements mit

    $DB->query("SELECT * FROM ibf_hassenichgesehn WHERE blubber=1");

    ab.

    Damit bekommst du deine Statements auch in der Debug-Info angezeigt (wenn du SQL-Debugging im ACP anmachst).

    Die weiteren mySQL-Funktionen, die du durch die boardeigene und automatisch Klasse benutzen kannst findest du in der Datei ./sources/Drivers/mySQL.php

    Noch 2 Anmerkungen:

    - In Queries benutzt du am Besten _IMMER_ Tablenamen mit dem Präfix ibf_. Wenn du in deinen Board-Optionen einen anderen Table-Präfix eingestellt hast, ersetzt die Software das automatisch. Damit sollten deine SMS-Tablenamen mit demselben Präfix wie die des IPB beginnen.

    - Ich lad gleich noch ein Stück Drexcode rauf, mit dem du die zur Verfügung gestellten Variablen incl. Inhalt sehen kannst.

    Wenn schon User helping User, dann User helping User as User helping User can be...

×