Hallo liebe Redaxo Gemeinde!
Nach längerer Abwesenheit hier nun eine erfreuliche Nachricht:
Die Version 1.0 des k2Blog Addons ist endlich verfügbar.
Neu in dieser Version ist das URL-Rewriting und die extra implementierte Modulunterstützung. Ausserdem wurden zahlreiche Optimierungen und Bugfixes eingearbeitet.
Wir möchten an dieser Stelle allen danken die sich an der Weiterentwicklung des Addons beteiligt haben. Ganz besonders möchte ich mich bei Andreas Tietz bedanken der sich sehr stark an der Weiterentwicklung beteiligt hat!
Bitte schaut auf unsere Seite, dort findet Ihr das angepasste URL-Rewriting Addon und eine Beschreibung. http://webdesigns-rosenheim.de/78-0-k2b ... edaxo.html
Viel Spaß damit!
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
- michaelKeller
- Beiträge: 58
- Registriert: 28. Jul 2009, 08:49
- Wohnort: Rosenheim
- Kontaktdaten: Website
k2blog V1.0
Webdesign aus Rosenheim www.webdesigns-rosenheim.de
tinyMCE Problem mit k2blog v1.0
Hallo Michael
Ich hab mir heute mal den k2blog in der neusten Version angeschaut. Richtig geil das Ding! Danke vielmal dafür…
Nun habe ich allerdings ein kleines Problem und eventuell kannst du mir da weiterhelfen. Im Backend funktioniert der "tinyMCE" nicht, sprich er wird nicht angezeigt beim erstellen eines Blogartikels. "Textile" funktnioniert einwandfrei. Auch das eintragen des "k2blog" in der "tinyMCE - konfiguration" hat nicht geholfen. Hast du da ne idee?
Besten Grüsse
Raphi
Ich hab mir heute mal den k2blog in der neusten Version angeschaut. Richtig geil das Ding! Danke vielmal dafür…
Nun habe ich allerdings ein kleines Problem und eventuell kannst du mir da weiterhelfen. Im Backend funktioniert der "tinyMCE" nicht, sprich er wird nicht angezeigt beim erstellen eines Blogartikels. "Textile" funktnioniert einwandfrei. Auch das eintragen des "k2blog" in der "tinyMCE - konfiguration" hat nicht geholfen. Hast du da ne idee?
Besten Grüsse
Raphi
- michaelKeller
- Beiträge: 58
- Registriert: 28. Jul 2009, 08:49
- Wohnort: Rosenheim
- Kontaktdaten: Website
Der ist derzeit noch deaktiviert. Musst im Moment noch Twitter benutzen. RSS wird mit der nächsten Version aktiviert, die dann auch für das aktuelle Redaxo freigegeben sein wird!
Grüße aus Rosenheim
Grüße aus Rosenheim
Webdesign aus Rosenheim www.webdesigns-rosenheim.de
- michaelKeller
- Beiträge: 58
- Registriert: 28. Jul 2009, 08:49
- Wohnort: Rosenheim
- Kontaktdaten: Website
Das ist derzeit nicht vorgesehen. Müsste man mal schauen in wiefern das generisch lösbar ist, damit jeder den rewriter einsetzen kann, den er gerne hätte.
Grüße
Grüße
Webdesign aus Rosenheim www.webdesigns-rosenheim.de
Hallo, schönes Addon!
Leider funktionieren bei mir ein paar Sachen nicht.
- TinyMCE (obwohl ich unter Konfiguration "content, metainfo, rexblog, k2blog" eingetragen habe)
- Obwohl der Artikel erscheint, erscheint er nicht in der Kategorie
- Die Überschrift eines Artikels kann nachträglich nicht mehr verändert werden (soll das so sein??)
Wäre super, wenn jemand eine Idee hätte wieso
€ habe es jetzt doch geschafft rexblog zum Laufen zu bringen, eine Antowrt ist also nicht mehr so wichtig
Leider funktionieren bei mir ein paar Sachen nicht.
- TinyMCE (obwohl ich unter Konfiguration "content, metainfo, rexblog, k2blog" eingetragen habe)
- Obwohl der Artikel erscheint, erscheint er nicht in der Kategorie
- Die Überschrift eines Artikels kann nachträglich nicht mehr verändert werden (soll das so sein??)
Wäre super, wenn jemand eine Idee hätte wieso
€ habe es jetzt doch geschafft rexblog zum Laufen zu bringen, eine Antowrt ist also nicht mehr so wichtig
Hallo,
Tabelle: rex_582_entries, Spalte: entry_cat
Mein Setup:
REDAXO: 4.3.1
PHP: 5.3.1
k2blog 1.0
Hat jemand eine Lösung für das Problem?
Grüße
Su2pect
Dasselbe Problem habe ich auch entdeckt. Der Grund dafür ist wohl, dass die Kategorie nicht korrekt in die DB geschrieben wird. Die Artikel haben stets die Kategorie ID 0. Wenn man über myphpadmin dort eine valide Kategorie-ID einträgt, funktioniert auch die Anzeige korrekt.Solander hat geschrieben: - Obwohl der Artikel erscheint, erscheint er nicht in der Kategorie
Tabelle: rex_582_entries, Spalte: entry_cat
Mein Setup:
REDAXO: 4.3.1
PHP: 5.3.1
k2blog 1.0
Hat jemand eine Lösung für das Problem?
Grüße
Su2pect
Re: k2blog V1.0
gleiches Problem hier und habe mich etwas auf die Suche gemacht.
dort wird scheinbar die variable wieder mit einem leeren Value überschrieben.
Warum dort ganz viele Hiddenfelder sind, die gleich heißen kann ich mir nicht erklären.
Ein Löschen dieser Zeile schafft aber keine Abhilfe
Code: Alles auswählen
echo '<select class="k2blog_select" id="sc" name="selected_cat">'."\n";
foreach($cats as $cat)
echo '<option value="'.$cat['cat_id'].'" >'.$cat['cat_name'].'</option>'."\n";
echo '</select>'."\n";
Code: Alles auswählen
echo '<input type="input" id="esc" name="selected_cat" value="" />'."\n";
Warum dort ganz viele Hiddenfelder sind, die gleich heißen kann ich mir nicht erklären.
Ein Löschen dieser Zeile schafft aber keine Abhilfe
GELÖST - k2blog V1.0
GELÖST
neue entry.inc.php
neue entry.inc.php
Code: Alles auswählen
<?php
/**
* k2blog Addon
*
* @author m[dot]keller[at]k2bytes[dot]de Michael Keller
* @author s[dot]kittel[at]k2bytes[dot]de Stefan Kittel
* @author <a href="http://www.webdesigns-rosenheim.de">www.webdesigns-rosenheim.de</a>
*/
require_once $REX['INCLUDE_PATH'] . '/addons/k2blog/classes/class.twitter.php';
global $I18N_K2BLOG;
global $REX;
//Hier wird die ausgewählte Kategorie abgefragt
$selected_cat = mysql_escape_string(rex_request('selected_cat','string'));
//Hier wird der ausgewählte Blogeintrag abgefragt
$selected_entry = mysql_escape_string(rex_request('selected_entry','string'));
//Hier wird die ausgewählte Funktion abgefragt
$selected_function = mysql_escape_string(rex_request('func','string'));
//Hier wird der Inhalt des TinyMCE abgefragt
//$tiny_content = mysql_escape_string(rex_request('tiny_content','string'));
$tiny_content = mysql_escape_string(rex_request('tiny_content','string'));
if(k2blog_getSetting('used_editor')=='textile')
{
if ($REX['ADDON']['status']['textile']!=1)
echo '<div class="rex-message"><div class="rex-warning"><p><span>'.$I18N_K2BLOG->msg('explain_wrong_editor_textile')."</span></p></div></div>\n";
}
else if(k2blog_getSetting('used_editor')=='markitup')
{
if ($REX['ADDON']['status']['markitup']!=1)
echo '<div class="rex-message"><div class="rex-warning"><p><span>'.$I18N_K2BLOG->msg('explain_wrong_editor_markitup')."</span></p></div></div>\n";
}
else if(k2blog_getSetting('used_editor')=='tiny' || k2blog_getSetting('used_editor')=='')
{
if ($REX['ADDON']['status']['tinymce']!=1)
echo '<div class="rex-message"><div class="rex-warning"><p><span>'.$I18N_K2BLOG->msg('explain_wrong_editor_tiny')."</span></p></div></div>\n";
}
//Hier wird der Header des Blogeintrags abgefragt
$entry_header = mysql_escape_string(rex_request('entry_header','string'));
//Sortiermethode
$sort_method = mysql_escape_string(rex_request('sort','string'));
//Kommentare generell erlaubt?
$comments_allowed = mysql_escape_string(rex_request('comments_allowed','string'));
//Anzahl der anzuzeigenden artikel
$count = mysql_escape_string(rex_request('count','string'));
//start bei artikel
$start = mysql_escape_string(rex_request('start','string'));
if($count=="")
$count="all";
if($start=="")
$start="0";
if($sort_method=="")
$sort_method = "date";
//Umwandeln des on-Wertes in 0==false und 1==true
if($comments_allowed == "on")
$comments_allowed = "1";
else
$comments_allowed = "0";
/*****************************************************************************************************/
/* Funktion zur Eingabe eines neuen Eintrags
/*****************************************************************************************************/
if(!function_exists(newEntry))
{
function newEntry($content)
{
global $I18N_K2BLOG;
global $REX;
if(is_null($_sql))
$_sql = new rex_sql;
$cats = $_sql->getArray("SELECT * FROM ".$REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_categories");
echo '<table class="k2blog_table">'."\n";
echo '<th class="k2blog_table_header"><h1>'.$I18N_K2BLOG->msg('entries_table_header').'</h1></th><th class="k2blog_table_header"></th>'."\n";
echo '<tr class="k2blog_hdr_row">'."\n";
echo '<td class="k2blog_row_value2">'."\n";
echo $I18N_K2BLOG->msg('create_entry')."\n";
echo '</td><td></td>'."\n";
echo '</tr>'."\n";
echo '<tr class="k2blog_table_row4">'."\n";
echo '<td class="k2blog_row_value2">'."\n";
echo $I18N_K2BLOG->msg('add_header')."\n";
echo '</td>'."\n";
echo '<td class="k2blog_row_value2">'."\n";
echo '<form name="myform" id="K2FORM" action="" method="post" >'."\n";
echo '<input class="k2blog_form_text" type="text" id="header_text" maxlength="200" value="" />';
echo '</td>'."\n";
echo '</tr>'."\n";
echo '<tr class="k2blog_table_row4">'."\n";
echo '<td class="k2blog_row_value2">'."\n";
echo '<label for="selected_cat">'.$I18N_K2BLOG->msg('set_cat').'</label>';
echo '</td>'."\n";
echo '<td class="k2blog_row_value2">'."\n";
echo '<select class="k2blog_select" id="esc" name="selected_cat">'."\n";
foreach($cats as $cat)
echo '<option value="'.$cat['cat_id'].'" >'.$cat['cat_name'].'</option>'."\n";
echo '</select>'."\n";
echo '</td>'."\n";
echo '</tr>'."\n";
echo '<tr class="k2blog_table_row4">'."\n";
//echo '<th >'."\n";
echo '<td colspan="2" class="k2blog_row_value2">'."\n";
echo '<div class="k2blog_form">'."\n";
echo '<fieldset>'."\n";
echo '<input type="hidden" name="page" value="'.$REX['ADDON']['name']['k2blog'].'"/>'."\n";
echo '<input type="hidden" name="selected_entry" value="new" />'."\n";
echo '<input type="hidden" name="subpage" value="entry" />'."\n";
echo '<input type="hidden" name="func" value="uc" />'."\n";
echo '<input type="hidden" id="en_he" name="entry_header" value="" />'."\n";
k2blog_showTiny($content);
echo '<div class="rex-form-row">'."\n";
echo '<p class="rex-form-col-a rex-form-submit">'."\n";
echo '<script type="text/javascript">'."\n";
k2blog_showHTMLTranslation();
echo 'function submitform()'."\n";
echo '{'."\n";
if(k2blog_getSetting('used_editor')=='tiny' || k2blog_getSetting('used_editor')=='')
{
echo 'document.getElementById(\'esc\').value = document.getElementById(\'sc\').value;'."\n";
echo 'document.getElementById(\'tinycontent\').value = tinyMCE.activeEditor.getContent();'."\n";
}
else
{
echo 'document.getElementById(\'tinycontent\').value = htmlentities(document.getElementById(\'tinycontent\').value);';
}
echo 'document.getElementById(\'en_he\').value = htmlentities(document.getElementById(\'header_text\').value);'."\n";
echo 'document.myform.submit();'."\n";
echo '}'."\n";
echo '</script>'."\n";
echo '<input type="button" class="k2blog_button" name="sendit" value="'.$I18N_K2BLOG->msg('button_save_settings').'" onclick="submitform()">'."\n";
echo '</div>'."\n";
if(k2blog_allowComments())
{
echo '<div class="rex-form-row">';
echo '<input class="k2blog_checkbox" type="checkbox" id="allow_comment" name="comments_allowed" checked="checked" />';
echo '<label for="comments_allowed"> '.$I18N_K2BLOG->msg('allow_comment').'</label>';
echo '</div>';
}
else
{
echo "<br/><label>".$I18N_K2BLOG->msg('explain_no_comment')."</label>";
}
echo '</fieldset>'."\n";
echo '</form>'."\n";
echo '</div>'."\n";
echo '</td>'."\n";
//echo '</th>'."\n";
echo '</tr>'."\n";
echo '<tr class="k2blog_table_row2">'."\n";
echo '<td colspan="2" class="k2blog_row_value3">'."\n";
echo '<a href="index.php?page=k2blog&subpage=entry">'.$I18N_K2BLOG->msg('show_all').'</a>'."\n";
echo "</td>\n";
echo '</tr>'."\n";
echo '</table>'."\n";
}
}
/*****************************************************************************************************/
/* Funktion zur Ausgabe der Einträe.
/* $filter gibt den Datenbank Filter an - also das was in der SQL Abfrage hinter WHERE steht
/* $shorten=true gibt an, dass nur Teaser ausgegeben werden, also nicht der ganze Beitragstext
/* $full=true gibt an, dass der Artikel inklusive der dazu gehörigen Kommentare ausgegeben wird
/* $sortBy gibt der Datenbank-Abfrage die Sortierung mit - also das was hinter ORDER BY steht
/* $sort_method gibt an, nach welchem Kriterium die Beiträge sortiert werden sollen hier sind möglich:
/* date = nach Eintragsdatum sortieren vom jüngsten zum ältesten
/* lc = die Einträge mit den jüngsten Kommentaren zuerst
/* bc = nach Kategorie auflisten -> hier ist dann $selected_cat die Categorie, deren Artikel ausgegeben werden
/*****************************************************************************************************/
if(!function_exists(k2blog_getEntries))
{
function k2blog_getEntries($filter,$shorten=true,$full=false,$sortBy='',$sort_method='')
{
global $REX;
global $selected_cat;
global $start;
global $count;
//TODO
if(is_null($I18N_K2BLOG))
$I18N_K2BLOG = new i18n($REX['LANG'],$REX['INCLUDE_PATH'].'/addons/k2blog/lang'); // CREATE LANG OBJ FOR THIS ADDON
if(is_null($_sql))
$_sql = new rex_sql;
$entries = null;
/*Javascript für Form*/
$output = '<script type="text/javascript">';
$output.= 'function submit()'."\n";
$output.= '{'."\n";
$output.= 'document.accept_comment_form.submit()'."\n";
$output.= '}'."\n";
$output.= 'function submit2()'."\n";
$output.= '{'."\n";
$output.= 'document.sort_form.submit()'."\n";
$output.= '}'."\n";
$output.= 'function submit3()'."\n";
$output.= '{'."\n";
$output.= 'var v = document.getElementById("e_count").value;'."\n";
$output.= 'window.location.href="index.php?page='.$REX['ADDON']['name']['k2blog'].'&sort='.$sort_method.'&subpage=entry&count="+v;'."\n";
$output.= '}'."\n";
$output.= '</script>'."\n";
/******************/
$dateSelected="";
$lastSelected="";
$nrSelected="";
if($sort_method=="date")
$dateSelected = "selected";
else if($sort_method=="lc")
$lastSelected = "selected";
else if($sort_method=="bc")
$catSelected = "selected";
/*Sortierfeld*/
$sortfield = '<tr class="k2blog_table_row">';
$sortfield.= '<td class="k2blog_row_value2">';
$sortfield.= $I18N_K2BLOG->msg('label_sort_by');
$sortfield.= '</td>'."\n";
$sortfield.= '<td class="k2blog_row_value2">';
$sortfield.= '<form name="sort_form" action="index.php" method="post">'."\n";
$sortfield.= '<input type="hidden" name="page" value="'.$REX['ADDON']['name']['k2blog'].'" />'."\n";
$sortfield.= '<input type="hidden" name="subpage" value="entry" />'."\n";
$sortfield.= '<input type="hidden" name="count" value="'.$count.'" />'."\n";
$sortfield.= '<input type="hidden" name="start" value="'.$start.'" />'."\n";
/**** SORTIER Art ******/
$sortfield.= '<select name="sort" onchange="submit()">';
$sortfield.= '<option value="date" '.$dateSelected.'>'.$I18N_K2BLOG->msg('by_date').'</option>'."\n";
$sortfield.= '<option value="lc" '.$lastSelected.'>'.$I18N_K2BLOG->msg('by_last_comment').'</option>'."\n";
$sortfield.= '<option value="bc" '.$catSelected.'>'.$I18N_K2BLOG->msg('by_category').'</option>'."\n";
$sortfield.= '</select>';
/** Wenn nach Kategorien, auswahl einblenden **/
if($sort_method=="bc")
{
$sortfield.= "</td>\n";
$sortfield.= "</tr>\n";
$sortfield.= '<tr class="k2blog_table_row">';
$sortfield.= '<td class="k2blog_row_value2">';
$sortfield.= $I18N_K2BLOG->msg('set_cat');
$sortfield.= '<td class="k2blog_row_value2">'."\n";
$sortfield.= '<select id="cat" name="selected_cat" onchange="submit2()">';
$cats = $_sql->getArray("SELECT * FROM ".$REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_categories");
foreach($cats as $cat)
{
if($cat['cat_id']==$selected_cat)
$sortfield.= '<option value="'.$cat['cat_id'].'" selected >'.$cat['cat_name'].'</option>'."\n";
else
$sortfield.= '<option value="'.$cat['cat_id'].'">'.$cat['cat_name'].'</option>'."\n";
}
$sortfield.= '</select>';
}
/***********/
$sortfield.= '</form>';
$sortfield.= "</td>\n";
$sortfield.= "</tr>\n";
/********************/
$output.= '<div class="k2blog_area6">';
$output.= '<table class="k2blog_table">';
$output.= '<th class="k2blog_table_header">';
$output.= '<strong>'.$I18N_K2BLOG->msg('actions').'</strong>';
$output.= '</th><th class="k2blog_table_header"></th>';
/*Sortierfeld einbauen*/
$output.= $sortfield;
/*Neu anlegen button einbauen*/
$output.= '<tr class="k2blog_table_row" onclick="window.location.href=\'index.php?page=k2blog&subpage=entry&func=new_entry\'" onmouseover="this.style.cursor=\'pointer\'" >';
$output.= '<td class="k2blog_row_value2">';
$output.= $I18N_K2BLOG->msg('create_entry');
$output.= '</td><td></td>';
$output.= '</tr>';
$output.= '</table>';
$output.= '</div>';
/******** Tabellen header***************/
$output.= '<table class="k2blog_table">';
$output.= '<th class="k2blog_table_header"><h1>'.$I18N_K2BLOG->msg('entries_table_header').'</h1>';
$output.= '<select id="e_count" name="count" onchange="submit3()">';
if($count=="all")
$output.= '<option value="all" selected >'.$I18N_K2BLOG->msg('all').'</option>'."\n";
else
$output.= '<option value="all" >'.$I18N_K2BLOG->msg('all').'</option>'."\n";
if($count=="1")
$output.= '<option value="1" selected >1</option>'."\n";
else
$output.= '<option value="1" >1</option>'."\n";
if($count=="5")
$output.= '<option value="5" selected >5</option>'."\n";
else
$output.= '<option value="5" >5</option>'."\n";
if($count=="10")
$output.= '<option value="10" selected >10</option>'."\n";
else
$output.= '<option value="10" >10</option>'."\n";
if($count=="20")
$output.= '<option value="20" selected >20</option>'."\n";
else
$output.= '<option value="20" >20</option>'."\n";
if($count=="50")
$output.= '<option value="50" selected >50</option>'."\n";
else
$output.= '<option value="50" >50</option>'."\n";
$output.= '</select>';
$output.= '<label for="count"> '.$I18N_K2BLOG->msg('label_show')."</label>\n";
$output.= "</th>\n";
/*************************************/
if(is_null($_sql))
$_sql = new rex_sql;
/******* Wenn keine Sortierung angegeben wurde dann nach Eintragsreihenfolge sortieren (absteigend)***************/
if($sortBy=='')
$sortBy = "entry_id DESC";
/*******************************************************************************************************/
$limit = "";
if($start=="")
$start = 0;
if($count !="all" && $count != "")
{
$limit = "LIMIT $start,$count";
}
/**************** SQL Abfrage *********************/
if($filter!="")
{
$entries = $_sql->getArray("SELECT * FROM ".$REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_entries WHERE $filter ORDER BY $sortBy $limit");
$counts = $_sql->getArray("SELECT COUNT(*) FROM ".$REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_entries WHERE $filter");
}
else
{
$entries = $_sql->getArray("SELECT * FROM ".$REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_entries ORDER BY $sortBy $limit");
$counts = $_sql->getArray("SELECT COUNT(*) FROM ".$REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_entries");
}
/*************************************************/
$nr_of_entries = $counts[0]['COUNT(*)'];
if($nr_of_entries > 0)
{
foreach($entries as $entry)
{
/*Eintragenden User abfragen*/
$users = $_sql->getArray("SELECT * FROM ".$REX['TABLE_PREFIX']."user WHERE user_id=".$entry['entry_user_id']);
$user = "";
if(count($users)==1)
$user = $users[0]['login'];
unset($users);
/***************/
/*URLs vorbereiten*/
$this_url = "index.php?page=".$REX['ADDON']['name']['k2blog']."&subpage=entry&selected_entry=".$entry['entry_id']."&func=se";
$del_url = "index.php?page=".$REX['ADDON']['name']['k2blog']."&subpage=entry&selected_entry=".$entry['entry_id']."&func=de";
$edit_url = "index.php?page=".$REX['ADDON']['name']['k2blog']."&subpage=entry&selected_entry=".$entry['entry_id']."&func=ed";
$show_all_url = "index.php?page=".$REX['ADDON']['name']['k2blog']."&subpage=entry&selected_entry=".$entry['entry_id']."&func=dw";
$show_com_url = "index.php?page=".$REX['ADDON']['name']['k2blog']."&subpage=comments&id=".$entry['entry_id']."&func=scoe";
$show_nv_com_url = "index.php?page=".$REX['ADDON']['name']['k2blog']."&subpage=comments&id=".$entry['entry_id']."&func=scoenv";
$show_na_com_url = "index.php?page=".$REX['ADDON']['name']['k2blog']."&subpage=comments&id=".$entry['entry_id']."&func=scoena";
$twitter_url = "index.php?page=".$REX['ADDON']['name']['k2blog']."&subpage=entry&selected_entry=".$entry['entry_id']."&func=twitter";
/****************/
/*Kommentare abfragen*/
$comments = $_sql->getArray("SELECT * FROM ".$REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_comments WHERE comment_article_id=".$entry['entry_id']." ORDER BY entry_id DESC");
$_sql->setQuery("SELECT COUNT(*) FROM ".$REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_comments WHERE comment_article_id=".$entry['entry_id']." AND visible!=1");
$nr_of_na_comments = (int)$_sql->getValue(0);
$_sql->setQuery("SELECT COUNT(*) FROM ".$REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_comments WHERE comment_article_id=".$entry['entry_id']." AND verify_id!=''");
$nr_of_nv_comments = (int)$_sql->getValue(0);
$nr_of_comments = count($comments);
/********************/
$thover = 'onclick="window.location.href=\'index.php?page=k2blog&subpage=entry&func=ed&selected_entry='.$entry['entry_id'].'\'" onmouseout="UnTip()" onmouseover="this.style.cursor=\'pointer\'"';
$output.='<tr class="k2blog_hdr_row">';
$output.='<td class="k2blog_row_value2">';
$output.= $I18N_K2BLOG->msg('entered_at')." ".$entry['entry_create_date']." ";
//Wenn Kommentare vorhanden sind
if($nr_of_comments>0)
$output.= '<a style="color:#2a2" href="'.$show_com_url.'">'.$nr_of_comments." ".$I18N_K2BLOG->msg('number_of_comments')."</a>\n";
else
$output.= $nr_of_comments." ".$I18N_K2BLOG->msg('number_of_comments')."\n";
//Wenn nicht verifizierte Kommentare vorhanden sind
if($nr_of_nv_comments>0)
$output.= ' <a style="color:#a22" href="'.$show_nv_com_url.'">'.$nr_of_nv_comments." ".$I18N_K2BLOG->msg('number_of_nv_comments')."</a>\n";
//Wenn nicht genehmigte Kommentare vorhanden sind
if($nr_of_na_comments>0)
$output.= ' <a style="color:#a22" href="'.$show_na_com_url.'">'.$nr_of_na_comments." ".$I18N_K2BLOG->msg('number_of_na_comments')."</a>\n";
$output.= "<br/>\n";
//Eintragsheader ausgeben
$output.= "<strong>".$entry['header']."</strong>";
$output.='</td>';
$output.='</tr>';
$output.='<tr class="k2blog_table_row" '.$thover.'>';
$output.='<td class="k2blog_row_value2">';
$output.='<p>';
//Wenn die Kurzform des Textes ausgegeben werden soll
if($shorten)
$output.= k2blog_getTeaser($entry['entry_text'],$this_url,$I18N_K2BLOG->msg('show_entry'));
//Oder der komplette Text
else
$output.= $entry['entry_text'];
$output.='</p>';
$output.='</td>';
$output.='</tr>';
if($full)
{
if($nr_of_comments>0)
{
foreach($comments as $comment)
{
$chover = 'onclick="window.location.href=\'index.php?page=k2blog&subpage=comments&func=sc&id='.$comment['entry_id'].'\'" onmouseout="UnTip()" onmouseover="this.style.cursor=\'pointer\'"';
$output.= '<tr class="k2blog_hdr2_row">'."\n";
$output.= '<td class="k2blog_row_value4">'."\n";
$output.= '<p>'.$I18N_K2BLOG->msg('comment_from').' \'<strong>'.$comment['comment_user'].'</strong>\' '.$I18N_K2BLOG->msg('entered_at').' '.$comment['comment_create_date'].'</p>'."\n";
$output.="</td>\n";
$output.="</tr>\n";
$output.= '<tr class="k2blog_table_row3" '.$chover.'>'."\n";
$output.= '<td class="k2blog_row_value4">'."\n";
$output.= '<p>'.$comment['comment_text'].'</p>'."\n";
$output.="</td>\n";
$output.="</tr>\n";
}
}
unset($comments);
}
$output.='<tr class="k2blog_table_row2">';
$output.='<td class="k2blog_row_value3"><a href="'.$del_url.'" >';
$output.= $I18N_K2BLOG->msg('delete').'</a>';
$output.= ' | <a href="'.$edit_url.'" >'.$I18N_K2BLOG->msg('edit').'</a>';
if(!$full)
$output.= ' | <a href="'.$show_all_url.'">'.$I18N_K2BLOG->msg('show_whole_entry').'</a>';
if($entry['twittered']!='1' && k2blog_getSetting('use_twitter')=='on')
$output.= ' | <a href="'.$twitter_url.'">'.$I18N_K2BLOG->msg('do_twitter').'</a>';
$output.="</td>\n";
$output.='</tr>';
}
}
//Wenn eine Filterung stattgefunden hat, den "zeige alle" Button einblenden
if($filter!="")
{
$output.='<tr class="k2blog_table_row2">';
$output.='<td class="k2blog_row_value2">';
$output.='<p><a href="index.php?page=k2blog&subpage=entry">'.$I18N_K2BLOG->msg('show_all').'</a></p>';
$output.='</td>';
$output.='</tr>';
}
//wenn eine gewisse anzahl an einträgen angezeigt werden soll und noch nicht alle angezeigt wurden...
if($count!="all")
{
$istart = (int)$start;
$icount = (int)$count;
$output.='<tr class="k2blog_table_row2">';
$output.='<td class="k2blog_row_value2">';
if($istart>0)
{
$pstart = $istart - $icount;
if($pstart<0)
$pstart = 0;
$output.='<a href="index.php?page=k2blog&subpage=entry&start='.$pstart.'&count='.$count.'">'.$I18N_K2BLOG->msg('navi_prev').'</a> ';
}
if($istart + $icount < $nr_of_entries)
{
$nstart = $istart + $icount;
$output.='<a href="index.php?page=k2blog&subpage=entry&start='.$nstart.'&count='.$count.'">'.$I18N_K2BLOG->msg('navi_next').'</a>';
}
$output.='</td>';
$output.='</tr>';
}
$output.='</table>';
return $output;
}
}
/*****************************************************************************************************/
if(is_null($_sql))
$_sql = new rex_sql;
if(is_null($I18N_K2BLOG))
$I18N_K2BLOG = new i18n($REX['LANG'],$REX['INCLUDE_PATH'].'/addons/k2blog/lang'); // CREATE LANG OBJ FOR THIS ADDON
/*****************************************************************************************************/
/*Das hier wird immer ausgegeben
/*****************************************************************************************************/
echo '<div class="rex-addon-content">'."\n";
echo '<div class="rex-addon-output">'."\n";
echo '<h2 class="rex-hl2">'.$I18N_K2BLOG->msg('title_admin')."</h2>\n";
//Nur einen bestimmten Beitrag anzeigen
if($selected_function=="se")
echo k2blog_getEntries("entry_id=$selected_entry",false);
//Beiträge einer bestimmten Kategorie anzeigen
else if($selected_function=="sc")
echo k2blog_getEntries("entry_cat=$selected_cat");
//Einen Beitrag löschen
else if($selected_function=="de")
{
$_sql->setTable($REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_entries");
$_sql->setWhere("entry_id=$selected_entry");
$_sql->delete();
$_sql->setTable($REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_comments");
$_sql->setWhere("comment_article_id=$selected_entry");
$_sql->delete();
echo k2blog_getEntries("");
}
//Einen Beitrag aktualisieren
else if($selected_function=="uc")
{
//Es wird ein neuer Eintrag in der db angelegt
if($selected_entry=="new")
{
if(trim($entry_header)!="")
{
$_sql->setTable($REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_entries");
$_sql->setValue("header",$entry_header);
$_sql->setValue("entry_cat",$selected_cat);
$_sql->setValue("entry_text",$tiny_content);
//$_sql->setValue("entry_user_id",REX_USER_ID);
$_sql->setValue("comments_allowed",$comments_allowed);
echo '<div class="rex-message">';
if($_sql->insert())
{
echo '<span style="color:#2e2;">'.$I18N_K2BLOG->msg('article_success')."</span>\n";
$ne = $_sql->getArray("SELECT * FROM ".$REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_entries ORDER BY entry_id DESC LIMIT 1");
if(count($ne)==1)
{
$selected_entry = $ne[0]['entry_id'];
if(k2blog_getSetting('use_twitter')=='on')
{
if(update_Twitter($selected_entry))
echo '<br/><span style="color:#2e2;">'.$I18N_K2BLOG->msg('twitter_success')."</span>\n";
else
echo '<br/><span style="color:#e22;">'.$I18N_K2BLOG->msg('twitter_error')."</span>\n";
}
}
}
else
echo '<span style="color:#e22;">'.$I18N_K2BLOG->msg('article_error')."</span>\n";
echo "</div>\n";
echo k2blog_getEntries("");
}
else
{
echo '<br/><span style="color:#e22;">'.$I18N_K2BLOG->msg('enter_header')."</span>\n";
newEntry($tiny_content);
}
}
//Es wird ein bestehender Eintrag upgedatet
else
{
$_sql->setTable($REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_entries");
$_sql->setWhere("entry_id=$selected_entry");
$_sql->setValue("entry_text",$tiny_content);
$_sql->setValue("entry_cat",$selected_cat);
$_sql->setValue("comments_allowed",$comments_allowed);
$_sql->update();
echo k2blog_getEntries("");
}
}
//Den gesamten Beitrag - inkl. der Kommentare anzeigen
else if($selected_function=="dw")
{
echo k2blog_getEntries("entry_id=$selected_entry",false,true);
}
//Beitrag editieren
else if($selected_function=="ed")
{
$articles = $_sql->getArray("SELECT * FROM ".$REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_entries WHERE entry_id=$selected_entry");
$content = "";
if(count($articles)==1)
$content = $articles[0]['entry_text'];
$cats = $_sql->getArray("SELECT * FROM ".$REX['TABLE_PREFIX'].$REX['ADDON']['rxid']['k2blog']."_categories");
$del_url = "index.php?page=".$REX['ADDON']['name']['k2blog']."&subpage=entry&selected_entry=$selected_entry&func=de";
$edit_url = "index.php?page=".$REX['ADDON']['name']['k2blog']."&subpage=entry&selected_entry=$selected_entry&func=ed";
$show_all_url = "index.php?page=".$REX['ADDON']['name']['k2blog']."&subpage=entry&selected_entry=$selected_entry&func=dw";
echo '<table class="k2blog_table">'."\n";
echo '<form name="myform" id="K2FORM" action="index.php" method="post" >'."\n";
echo '<th class="k2blog_table_header"><h1>'.$I18N_K2BLOG->msg('entries_table_header').'</h1></th>'."\n";
echo '<tr class="k2blog_hdr_row">'."\n";
echo '<td class="k2blog_row_value2">'."\n";
echo $I18N_K2BLOG->msg('entered_at')." ".$articles[0]['entry_create_date']."<br/>\n";
echo "<strong>".$articles[0]['header']."</strong>";
echo '</td>'."\n";
echo '</tr>'."\n";
echo '<tr class="k2blog_table_row4">'."\n";
echo '<td class="k2blog_row_value2">'."\n";
echo '<select id="sc" name="selected_cat">'."\n";
foreach($cats as $cat)
{
if($articles[0]['entry_cat']==$cat['cat_id'])
echo '<option value="'.$cat['cat_id'].'" selected >'.$cat['cat_name'].'</option>'."\n";
else
echo '<option value="'.$cat['cat_id'].'" >'.$cat['cat_name'].'</option>'."\n";
}
echo '</select>'."\n";
echo "</td>\n";
echo "</tr>\n";
echo '<tr class="k2blog_table_row4">'."\n";
echo '<td class="k2blog_row_value2">'."\n";
echo '<div class="k2blog_form" id="this_form">'."\n";
echo '<fieldset>'."\n";
echo '<input type="hidden" name="page" value="'.$REX['ADDON']['name']['k2blog'].'"/>'."\n";
echo '<input type="hidden" name="selected_entry" value="'.$selected_entry.'" />'."\n";
echo '<input type="hidden" name="subpage" value="entry" />'."\n";
echo '<input type="hidden" name="func" value="uc" />'."\n";
k2blog_showTiny($content);
echo '<div class="rex-form-row">'."\n";
echo '<p class="rex-form-col-a rex-form-submit">'."\n";
echo '<script type="text/javascript">'."\n";
k2blog_showHTMLTranslation();
echo 'function submitform()'."\n";
echo '{'."\n";
if(k2blog_getSetting('used_editor')=='tiny' || k2blog_getSetting('used_editor')=='')
{
echo 'document.getElementById(\'esc\').value = document.getElementById(\'sc\').value;'."\n";
echo 'document.getElementById(\'tinycontent\').value = tinyMCE.activeEditor.getContent();'."\n";
}
else
{
echo 'document.getElementById(\'tinycontent\').value = htmlentities(document.getElementById(\'tinycontent\').value);';
}
echo 'document.myform.submit();'."\n";
echo '}'."\n";
echo '</script>'."\n";
echo '<input type="button" class="k2blog_button" name="sendit" value="'.$I18N_K2BLOG->msg('button_save_settings').'" onclick="submitform()">'."\n";
echo '</div>'."\n";
if(k2blog_allowComments())
{
echo '<div class="rex-form-row">';
if($articles[0]['comments_allowed']=="1")
echo '<input class="k2blog_checkbox" type="checkbox" id="allow_comment" name="comments_allowed" checked="checked" />';
else
echo '<input class="k2blog_checkbox" type="checkbox" id="allow_comment" name="comments_allowed" />';
echo '<label for="comments_allowed"> '.$I18N_K2BLOG->msg('allow_comment').'</label>';
echo '</div>';
}
else
{
echo "<br/><label>".$I18N_K2BLOG->msg('explain_no_comment')."</label>";
}
echo '</fieldset>'."\n";
echo '</form>'."\n";
echo '</div>'."\n";
echo '</td>'."\n";
echo '</tr>'."\n";
echo '<tr class="k2blog_table_row2">'."\n";
echo '<td class="k2blog_row_value3"><a href="'.$del_url.'" >';
echo $I18N_K2BLOG->msg('delete').'</a>';
echo ' | <a href="'.$edit_url.'" >'.$I18N_K2BLOG->msg('edit').'</a>'."\n";
echo ' | <a href="index.php?page=k2blog&subpage=entry">'.$I18N_K2BLOG->msg('show_all').'</a>'."\n";
echo "</td>\n";
echo '</tr>'."\n";
echo '</table>'."\n";
}
//neuer Beitrag
else if($selected_function=="new_entry")
{
newEntry($content);
}
//RSS Feed schreiben
else if($selected_function=="rss")
{
echo "Noch nicht funktionsfähig!";
/*require_once $REX['INCLUDE_PATH']. '/addons/k2blog/classes/class.rss.php';
$rss = new k2blogRSS();
$rss->createRSS();*/
}
//Twittern
else if($selected_function=="twitter")
{
update_Twitter($selected_entry);
echo k2blog_getEntries("");
}
//Alles sonstige - u.a. die Standarddarstellung
else
{
//nach Eintragsdatum sortiert ausgeben
if($sort_method=="" || $sort_method=="date")
echo k2blog_getEntries("");
//nach neuesten Kommentaren sortiert ausgeben
else if($sort_method=="lc")
echo k2blog_getEntries("",true,false,"last_comment DESC",$sort_method);
//nach Kategorie sortiert ausgeben
else if($sort_method=="bc")
{
if(trim($selected_cat)=="")
$selected_cat = "1";
echo k2blog_getEntries("entry_cat=$selected_cat",true,false,"entry_id DESC",$sort_method);
}
}
echo "</div>\n";
echo "</div>\n";
if(!is_null($_sql)) unset($_sql);
?>
Re: k2blog V1.0
hallo leuts --
habe den blog installiert -- kat. und artikel angelegt -- klappt soweit
bekomme bei der artikelasgabe aber die fehlermeldung
jemand ne ahnung wo das problem liegen könnte?
habe den blog installiert -- kat. und artikel angelegt -- klappt soweit
bekomme bei der artikelasgabe aber die fehlermeldung
Code: Alles auswählen
redaxo/include/classes/class.rex_article_base.inc.php(388) : eval()'d code on line 2
Re: k2blog V1.0
Hallo,
würd gern trotzdem dies blog mal ausprobieren.
Gibts da ein Beispiel-Template oder sowas? wie wird es eingebaut?
Auf http://www.webdesigns-rosenheim.de is leider gar nix zu sehen und auf email habe ich bis
jetzt noch keine Anwort erhalten.
Lieben Gruß
würd gern trotzdem dies blog mal ausprobieren.
Gibts da ein Beispiel-Template oder sowas? wie wird es eingebaut?
Auf http://www.webdesigns-rosenheim.de is leider gar nix zu sehen und auf email habe ich bis
jetzt noch keine Anwort erhalten.
Lieben Gruß
- Ruediger.Nitzsche
- Beiträge: 2117
- Registriert: 13. Dez 2005, 09:29
- Wohnort: Coburg
- Kontaktdaten: Website
Re: k2blog V1.0
Du willst ernsthaft ein Addon mit einer publizierten und ungefixten Sicherheitslücke testen? Abgesehen davon steht da auch die Entwicklung still.
Rüdiger
Rüdiger
gn2 netwerk | gn2 hosting | REDAXO Referenzen | Github
Supportanfragen per PN werden gepflegt ignoriert
Supportanfragen per PN werden gepflegt ignoriert