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
Lesezeichen