+ Antworten
Ergebnis 1 bis 1 von 1

Thema: Anpassung eines Plugins an Joomla 1.5

  1. #1
    Neu an Board Avatar von schmiand
    Registriert seit
    26.08.2005
    Ort
    Berlin
    Beiträge
    23
    Bedankte sich
    6
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard

    Hallo Zusammen,

    ich bin gerade dabei ein bereits funktionierendes Plugin (unter Joomla 1.0) an die neue Joomla 1.5 anzupassen.
    Ursprünglich habe ich das Plugin, so ähnlich nachgebaut wie das JoomPie.

    Weiß aber gar nicht, was ich da ändern muß, damit es in Joomla unter "Native Mode" funktioniert.

    Es geht folgender Maßen:
    Im Content-Artikel schreibt man z.B. das...
    PHP-Code:
    {kursline}
    {
    klmo****inline{/klmo****
    {
    kldata}1949;2.54;20.21|1950;2.51;19.73|1951;2.53;18.43|1952;2.53;18.08{/kldata}
    {
    klwidth}500{/klwidth}
    {
    klheight}400{/klheight}
    {
    kllabel}Current Index{/kllabel}
    {/
    kursline
    oder das...
    PHP-Code:
    {kursline}
    {
    klmo****datex{/klmo****
    {
    klattitu****amline_oi_settings.xml{/klattitu****
    {
    kldatei}oiz_2charts.txt{/kldatei}
    {
    klwidth}630{/klwidth}
    {
    klheight}440{/klheight}
    {
    kllabel}Wertentwicklung Index Notes{/kllabel}
    {/
    kursline
    Diese Datensätzte gehen über Plugin-PHP-Datei in die lokal liegende SWF-Datei von AmCharts.

    Die Plugin-PHP-Datei schaut wie folgt aus:
    PHP-Code:
    <?php
    // no direct access
    defined('_JEXEC') or die("Direct Access Is Not Allowed");

    global 
    $mainframe;
    $mainframe->registerEvent'onPrepareContent''kursline' );

    function 
    klParam$name$tags ) {
        
    $paramregex '/{kl'.$name.'}(.*){\/kl'.$name.'}/s';
        
    $paramresult preg_match($paramregex$tags[1],$result);
        return 
    $result;
    }

    function 
    kursline$published, &$row  ) {
        global 
    $database;
        if (!
    $published) {
            
    $row->text preg_replace'/{kursline}(.*){\/kursline}/s',''$row->text );
            return 
    true;
        }

        
    $version "1.1";
        
    $regex '/{kursline}(.*){\/kursline}/s';
       
       
    // Get Parameters from Content
       
        
    $result preg_match$regex$row->text$tags );
          
        
    $debug klParam("debug"$tags);
        
    $mode klParam("mode"$tags);
        
    $chart klParam("chart"$tags);
        
    $data klParam("data"$tags);
        
    $datei klParam("datei"$tags);
        
    $attitude klParam("attitude"$tags);
        
    $sql klParam("sql"$tags);
        
    $width klParam("width"$tags);
        
    $height klParam("height"$tags);
        
    $colors klParam("colors"$tags);
        
    $basecolor klParam("basecolor"$tags);
        
    $bgcolor klParam("bgcolor"$tags);
        
    $digitsafterdecimal klParam("digitsafterdecimal"$tags);
        
        
        
    // Get Parameters from Backend
       
        
    $query "SELECT id FROM #__mambots WHERE element = 'kursline' AND folder = 'content'";
        
    $database->setQuery$query );
        
    $id $database->loadResult();
        
    $mambot = new mosMambot$database );
        
    $mambot->load$id );
        
    $mambotParams =& new mosParameters$mambot->params );
       
       
    // Use Content-Parameters or Backend-Defaults
       
        
    if($debug[1]==""$debug[1] = $mambotParams->get'debug''0' );
        if(
    $chart[1]==""$chart[1] = $mambotParams->get'chart''default' );
        if(
    $width[1]==""$width[1] = $mambotParams->get'width''500' );
        if(
    $height[1]==""$height[1] = $mambotParams->get'height''500' );
        if(
    $bgcolor[1]==""$bgcolor[1] = $mambotParams->get'bgcolor''#ffffff' );
        if(
    $digitsafterdecimal[1]==""$digitsafterdecimal[1] = $mambotParams->get'digitsafterdecimal''2' );
        
        
    // ...............................
        
        
    if($debug[1] == 1) {
        echo 
    "<pre>";
            
    $row->text print_r($mode);    
            
    $row->text print_r($chart);
            
    $row->text print_r($sql);
            
    $row->text print_r($width);
            
    $row->text print_r($height); 
            
    $row->text print_r($label);
            
    $row->text print_r($basecolor);
            
    $row->text print_r($data);
            
    $row->text print_r($bgcolor);
        echo 
    "</pre>";
        }


       global 
    $mosConfig_live_site;
       
       
    $repl  "\n".'<!-- KURSLINE v'.$version.' START -->'."\n";
        
    $repl .= '<script type="text/javascript" src="';
        
    $repl .= $mosConfig_live_site;
        
    $repl .= '/mambots/content/kursline/amline/swfobject.js"></script>'."\n";
        
    $repl .= '<div id="flashcontent_line"><strong>You need to upgrade your Flash Player</strong></div>';
        
    $repl .= '<script type="text/javascript">'."\n";
        
    $repl .= '    // <![CDATA['."\n";        
        
    $repl .= '    var so = new SWFObject("';
        
    $repl .= $mosConfig_live_site;
        
    $repl .= '/mambots/content/kursline/amline/amline.swf", "amline", "'.$width[1].'", "'.$height[1].'", "8", "'.$bgcolor[1].'");'."\n";
        
    $repl .= '    so.addVariable("path", "';
        
    $repl .= $mosConfig_live_site;
        
    $repl .= '/mambots/content/kursline/amline/");'."\n";
        
        if(
    $mode[1] == "file") {
            
    $repl .= '    so.addVariable("settings_file", "';
            
    $repl .= $mosConfig_live_site;
            
    $repl .= '/mambots/content/kursline/charts/default/amline_settings.xml");'."\n";
            
    $repl .= '    so.addVariable("data_file", "';
            
    $repl .= $mosConfig_live_site;
            
    $repl .= '/mambots/content/kursline/charts/default/amline_data.txt");'."\n";
        }
        
        if(
    $mode[1] == "datex") {
            
    $repl .= '    so.addVariable("settings_file", "';
            
    $repl .= $mosConfig_live_site;
            
    $repl .= '/images/stories/charts/settings/'.$attitude[1].'");'."\n";
            
    $repl .= '    so.addVariable("data_file", "';
            
    $repl .= $mosConfig_live_site;
            
    $repl .= '/images/stories/charts/'.$datei[1].'");'."\n";
        }
            
        if(
    $mode[1] == "inline") {
            if( !empty(
    $data) ) {
                
    $repl .= '    so.addVariable("settings_file", "';
                
    $repl .= $mosConfig_live_site;
                if(empty(
    $chart)) {
                    
    $chart "default";
                }
                else {
                    
    $chart $chart[1];
                }
                
    $data[1] = str_replace("|","\\n",$data[1]);
                
    $repl .= '/mambots/content/kursline/charts/'.$chart.'/amline_settings.xml");'."\n";
                
    $repl .= '    so.addVariable("chart_data", escape("'.$data[1].'"))'."\n";
            }
        }
        
        if(
    $mode[1] == "sql") {
            
    $sql $sql[1];
            
    $database->setQuery$sql );
            
    $sqldata $database->loadRowList();
            foreach(
    $sqldata as $data) {
                if(!empty(
    $data[1])) {
                    
    $sqlitems .= $data[0].";".$data[1].";".'\n';
                }
            }
            
    $repl .= '    so.addVariable("settings_file", "';
            
    $repl .= $mosConfig_live_site;
            if(empty(
    $chart)) {
                
    $chart "default";
            }
            else {
                
    $chart $chart[1];
            }
            
    $repl .= '/mambots/content/kursline/charts/'.$chart.'/amline_settings.xml");'."\n";
            
    $repl .= '    so.addVariable("chart_data", escape("'.$sqlitems.'"))'."\n";
        }
        
        
    $repl .= '    so.addVariable("additional_chart_settings", "';
        
    $repl .= '<settings>';
        
        
        
        
    // Global
        
    $repl .= '<data_type>csv</data_type><font>Arial</font><text_size>'.$textsize[1].'</text_size>';
        if( !empty(
    $digitsafterdecimal) ) {
            
    $repl .= '<digits_after_decimal>'.$digitsafterdecimal[1].'</digits_after_decimal>';
        }
        
        
        
    // ...............................
        
        
        
    $repl .= '<export_as_image><file>../../mambots/content/kursline/amline/export.php</file><color>#69adc1</color><alpha>50</alpha></export_as_image>';
        
    $repl .= '</settings>");'."\n";
        
        
    $repl .= '    so.write("flashcontent_line");'."\n";
        
    $repl .= '    // ]]>'."\n";
        
    $repl .= '</script>'."\n";
        
    $repl .= '<!-- KURSLINE v'.$version.' END -->'."\n"
       
       
    $regex '/{kursline}(.*){\/kursline}/s';
       
    $row->text preg_replace($regex$repl$row->text);
       return 
    true;
    }
    Wäre sehr dankbar wenn jemand mir dabei helfen könnte, dieses Plugin an die neue Joomla zu adoptieren.

    Schöne Grüße und Vielen Dank
    Andrej

    _________________________________________________

    weiß nicht was ich im oberen Post falsch mache, aber es kommen immer Sternchen....hm...

    es sollen natürlich folgende Zeilen aus dem Content-Artikel kommen:
    ....................................

    klmode -> datex
    oder
    klmode -> inline

    Geändert von schmiand (13.03.2009 um 09:58 Uhr) Grund: editierenfunktion nutzen bitte, danke
    *** „Bäume sind Gedichte, die die Erde in den Himmel schreibt. Wir fällen sie und verwandeln sie in Papier, um unsere Leere darauf auszudrücken." Khalil Gibran ***

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein