k2blog V1.0

Alles über die Anwendung und Entwicklung von AddOns.

k2blog V1.0

Beitragvon michaelKeller » 29. Mär 2010, 09: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
michaelKeller
 
Beiträge: 58
Registriert: 28. Jul 2009, 07:49
Wohnort: Rosenheim

tinyMCE Problem mit k2blog v1.0

Beitragvon Poetter » 28. Jul 2010, 16: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
Poetter
 
Beiträge: 13
Registriert: 23. Feb 2010, 15:44
Wohnort: Alpnach Dorf

Beitragvon nuxx » 29. Jul 2010, 13:53

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

Viele Grüße
nuxx
nuxx
 
Beiträge: 85
Registriert: 16. Dez 2005, 17:45

Beitragvon michaelKeller » 5. Aug 2010, 10: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
michaelKeller
 
Beiträge: 58
Registriert: 28. Jul 2009, 07:49
Wohnort: Rosenheim

Beitragvon nuxx » 5. Aug 2010, 11: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
nuxx
 
Beiträge: 85
Registriert: 16. Dez 2005, 17:45

Beitragvon michaelKeller » 5. Aug 2010, 12: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
michaelKeller
 
Beiträge: 58
Registriert: 28. Jul 2009, 07:49
Wohnort: Rosenheim

Beitragvon Poetter » 6. Aug 2010, 11:33

danke für die Antworten...ich werde demfall auf die neue version warten. :D
Benutzeravatar
Poetter
 
Beiträge: 13
Registriert: 23. Feb 2010, 15:44
Wohnort: Alpnach Dorf

Beitragvon Solander » 8. Sep 2010, 12: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
Benutzeravatar
Solander
 
Beiträge: 115
Registriert: 14. Apr 2007, 23:58
Wohnort: Konstanz

Beitragvon su2pect » 17. Okt 2010, 16: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
su2pect
 
Beiträge: 4
Registriert: 17. Okt 2010, 16:39

Re: k2blog V1.0

Beitragvon Rune » 6. Mär 2011, 18: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, 16:50

GELÖST - k2blog V1.0

Beitragvon Rune » 6. Mär 2011, 18: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);
?> 


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

Re: k2blog V1.0

Beitragvon bb_web » 14. Jun 2011, 15: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?
bb_web
 
Beiträge: 18
Registriert: 28. Jul 2007, 07:56

Re: k2blog V1.0

Beitragvon cukabeka » 3. Jan 2012, 14:23

Viele Grüße
cukabeka
Benutzeravatar
cukabeka
 
Beiträge: 634
Registriert: 30. Mai 2006, 23:01
Wohnort: Aschaffenburg


Zurück zu AddOns [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste