[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
k2blog V1.0 - REDAXO Forum
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/
Benutzeravatar
michaelKeller
Beiträge: 58
Registriert: 28. Jul 2009, 08:49
Wohnort: Rosenheim
Kontaktdaten: Website

k2blog V1.0

29. Mär 2010, 10:21

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!
Webdesign aus Rosenheim www.webdesigns-rosenheim.de

Benutzeravatar
Poetter
Beiträge: 13
Registriert: 23. Feb 2010, 16:44
Wohnort: Alpnach Dorf
Kontaktdaten: Website

tinyMCE Problem mit k2blog v1.0

28. Jul 2010, 17:09

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

Benutzeravatar
nuxx
Beiträge: 164
Registriert: 16. Dez 2005, 18:45
Wohnort: Kaputtgart 21

29. Jul 2010, 14:53

Hallöchen.
Mich würde interessieren wie man den feed von k2blog zum laufen bekommt.

Viele Grüße
nuxx

Benutzeravatar
michaelKeller
Beiträge: 58
Registriert: 28. Jul 2009, 08:49
Wohnort: Rosenheim
Kontaktdaten: Website

5. Aug 2010, 11:47

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
Webdesign aus Rosenheim www.webdesigns-rosenheim.de

Benutzeravatar
nuxx
Beiträge: 164
Registriert: 16. Dez 2005, 18:45
Wohnort: Kaputtgart 21

5. Aug 2010, 12:59

Oke, vielen Dank für die Antwort.
Wird die nächste Version auch andere Rewriter unterstützen ?
Ich habe bei meinen Projekten meisstens RexSeo und testweise RealUrl2 im Einsatz.
Gruss Nuxx

Benutzeravatar
michaelKeller
Beiträge: 58
Registriert: 28. Jul 2009, 08:49
Wohnort: Rosenheim
Kontaktdaten: Website

5. Aug 2010, 13:26

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
Webdesign aus Rosenheim www.webdesigns-rosenheim.de

Benutzeravatar
Poetter
Beiträge: 13
Registriert: 23. Feb 2010, 16:44
Wohnort: Alpnach Dorf
Kontaktdaten: Website

6. Aug 2010, 12:33

danke für die Antworten...ich werde demfall auf die neue version warten. :D

Benutzeravatar
Solander
Beiträge: 115
Registriert: 15. Apr 2007, 00:58
Wohnort: Konstanz
Kontaktdaten: Website

8. Sep 2010, 13:17

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

su2pect
Beiträge: 4
Registriert: 17. Okt 2010, 17:39

17. Okt 2010, 17:45

Hallo,
Solander hat geschrieben: - Obwohl der Artikel erscheint, erscheint er nicht in der Kategorie
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.

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

Rune
Beiträge: 76
Registriert: 29. Sep 2009, 17:50

Re: k2blog V1.0

6. Mär 2011, 19:25

gleiches Problem hier und habe mich etwas auf die Suche gemacht.

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";
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

Rune
Beiträge: 76
Registriert: 29. Sep 2009, 17:50

GELÖST - k2blog V1.0

6. Mär 2011, 19:32

GELÖST

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">&nbsp;&nbsp;'.$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">&nbsp;&nbsp;'.$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']."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
		  
		  //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.= '&nbsp;&nbsp;&nbsp;&nbsp;<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.= '&nbsp;&nbsp;&nbsp;&nbsp;<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>&nbsp;&nbsp;';
		}
		
		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">&nbsp;&nbsp;'.$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);
?>  
 


bb_web
Beiträge: 29
Registriert: 28. Jul 2007, 08:56

Re: k2blog V1.0

14. Jun 2011, 16:17

hallo leuts --

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
jemand ne ahnung wo das problem liegen könnte?

Benutzeravatar
cukabeka
Beiträge: 821
Registriert: 31. Mai 2006, 00:01
Wohnort: Aschaffenburg

Re: k2blog V1.0

3. Jan 2012, 15:23

Viele Grüße
cukabeka

DePunkt
Beiträge: 154
Registriert: 14. Okt 2009, 20:16
Wohnort: Hamburg

Re: k2blog V1.0

19. Feb 2012, 17:58

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ß

Benutzeravatar
Ruediger.Nitzsche
Beiträge: 2117
Registriert: 13. Dez 2005, 09:29
Wohnort: Coburg
Kontaktdaten: Website

Re: k2blog V1.0

19. Feb 2012, 22:28

Du willst ernsthaft ein Addon mit einer publizierten und ungefixten Sicherheitslücke testen? Abgesehen davon steht da auch die Entwicklung still.

Rüdiger
gn2 netwerk | gn2 hosting | REDAXO Referenzen | Github
Supportanfragen per PN werden gepflegt ignoriert

Zurück zu „Allgemeines [R4]“