Subversion Repositories personal-webbase

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. <?php
  2.  
  3. if (!defined('WBLEGAL')) die('Kann nicht ohne Personal WebBase ausgef&uuml;hrt werden.');
  4.  
  5. if ($aktion == 'edit')
  6. {
  7.         // Hat der Dabbes das "http://" vergessen?
  8.         if (!url_protokoll_vorhanden($update_checkurl)) $update_checkurl = 'http://'.$update_checkurl;
  9.         if (!url_protokoll_vorhanden($url)) $url = 'http://'.$url;
  10.  
  11.         // Titel selbstständig hinzufügen
  12.         if ($name == '')
  13.         {
  14.                 if (inetconn_ok())
  15.                 {
  16.                         $dateiinhalt = my_get_contents($url);
  17.                         @preg_match_all('/<title>(.+?)<\/title>/im', $dateiinhalt, $matches);
  18.                         if (isset($matches[1][0]))
  19.                         {
  20.                                 $tmp = $matches[1][0];
  21.                                 if ($tmp != '')
  22.                                         $lname = $matches[1][0];
  23.                                 else
  24.                                         $lname = 'Unbenannte Webseite';
  25.                         }
  26.                         else
  27.                         {
  28.                                 $lname = 'Unbenannte Webseite';
  29.                         }
  30.                 }
  31.                 else
  32.                 {
  33.                         $lname = 'Unbenannte Webseite';
  34.                 }
  35.         }
  36.         else
  37.         {
  38.                 $lname = $name;
  39.         }
  40.  
  41.         // Enthält Check-URL einen Anker? Entfernen
  42.         $update_checkurl = entferne_anker($update_checkurl);
  43.  
  44.         if (!isset($update_enabled)) $update_enabled = '0';
  45.  
  46.         // Ersten Inhalt hinzufügen, sofern Link-Updates aktiviert und Internetverbindung vorhanden
  47.         if (($update_enabled) && (inetconn_ok()))
  48.         {
  49.                 $cont = zwischen_url($update_checkurl, decode_critical_html_characters($update_text_begin), decode_critical_html_characters($update_text_end));
  50.                 // TODO: zwischen_url() === false beachten
  51.                 $cont = md5($cont);
  52.                 $zus = ", `update_lastchecked` = NOW(), `update_lastcontent` = '".db_escape($cont)."'";
  53.         }
  54.         else
  55.         {
  56.                 $zus = '';
  57.         }
  58.  
  59.         // Gehört der Ordner auch dem Benutzer?
  60.         $res = db_query("SELECT `user_cnid` FROM `".$WBConfig->getMySQLPrefix()."folders` WHERE `id` = '".db_escape($folder)."'");
  61.         $row = db_fetch($res);
  62.         if ($row['user_cnid'] != $benutzer['id'])
  63.                 $folder = 0;
  64.  
  65.         // Ausführen
  66.         db_query("UPDATE `".$WBConfig->getMySQLPrefix()."links` SET `name` = '".db_escape($name)."', `folder_cnid` = '".db_escape($folder)."', `url` = '".db_escape($url)."', `update_enabled` = '".db_escape($update_enabled)."', `update_checkurl` = '".db_escape($update_checkurl)."', `update_text_begin` = '".db_escape($update_text_begin)."', `update_text_end` = '".db_escape($update_text_end)."'$zus WHERE `id` = '".db_escape($id)."' AND `user_cnid` = '".$benutzer['id']."'");
  67.         if ($danach == 'A') wb_redirect_now($_SERVER['PHP_SELF'].'?seite=main&modul='.$modul);
  68.         if ($danach == 'B') wb_redirect_now($_SERVER['PHP_SELF'].'?seite=edit&modul='.$modul.'&aktion=new&danach='.$danach);
  69.         if ($danach == 'C') wb_redirect_now($_SERVER['PHP_SELF'].'?seite=edit&modul='.$modul.'&aktion=new&folder='.$folder.'&danach='.$danach);
  70. }
  71.  
  72. if ($aktion == 'new')
  73. {
  74.         // Hat der Dabbes das "http://" vergessen?
  75.         if (!url_protokoll_vorhanden($update_checkurl)) $update_checkurl = 'http://'.$update_checkurl;
  76.         if (!url_protokoll_vorhanden($url)) $url = 'http://'.$url;
  77.  
  78.         // Titel selbstständig hinzufügen
  79.         if ($name == '')
  80.         {
  81.                 if (inetconn_ok())
  82.                 {
  83.                         $dateiinhalt = my_get_contents($url);
  84.                         @preg_match_all('/<title>(.+?)<\/title>/im', $dateiinhalt, $matches);
  85.                         if (isset($matches[1][0]))
  86.                         {
  87.                                 $tmp = $matches[1][0];
  88.                                 if ($tmp != '')
  89.                                         $lname = $matches[1][0];
  90.                                 else
  91.                                         $lname = 'Unbenannte Webseite';
  92.                         }
  93.                         else
  94.                         {
  95.                                 $lname = 'Unbenannte Webseite';
  96.                         }
  97.                 }
  98.                 else
  99.                 {
  100.                         $lname = 'Unbenannte Webseite';
  101.                 }
  102.         }
  103.         else
  104.         {
  105.                 $lname = $name;
  106.         }
  107.  
  108.         // Enthält Check-URL einen Anker? Entfernen
  109.         $update_checkurl = entferne_anker($update_checkurl);
  110.  
  111.         if (!isset($update_enabled)) $update_enabled = '0';
  112.  
  113.         // Ersten Inhalt hinzufügen, sofern Link-Updates aktiviert und Internetverbindung vorhanden
  114.         if (($update_enabled) && (inetconn_ok()))
  115.         {
  116.                 $cont = zwischen_url($update_checkurl, decode_critical_html_characters($update_text_begin), decode_critical_html_characters($update_text_end));
  117.                 // TODO: zwischen_url() === false beachten
  118.                 $cont = md5($cont);
  119.                 $zus1 = "`update_lastchecked`, `update_lastcontent`, ";
  120.                 $zus2 = "NOW(), '".db_escape($cont)."', ";
  121.         }
  122.         else
  123.         {
  124.                 $zus1 = '';
  125.                 $zus2 = '';
  126.         }
  127.  
  128.         // Gehört der Ordner auch dem Benutzer?
  129.         $res = db_query("SELECT `user_cnid` FROM `".$WBConfig->getMySQLPrefix()."folders` WHERE `id` = '".db_escape($folder)."'");
  130.         $row = db_fetch($res);
  131.         if ($row['user_cnid'] != $benutzer['id'])
  132.                 $folder = 0;
  133.  
  134.         if (!isset($update_enabled)) $update_enabled = '0';
  135.  
  136.         // Ausführen
  137.         db_query("INSERT INTO `".$WBConfig->getMySQLPrefix()."links` (`name`, `url`, `folder_cnid`, `update_enabled`, `update_checkurl`, `update_text_begin`, `update_text_end`, $zus1`new_tag`, `broken_tag`, `user_cnid`) VALUES ('".db_escape($lname)."', '".db_escape($url)."', '".db_escape($folder)."', '".db_escape($update_enabled)."', '".db_escape($update_checkurl)."', '".db_escape($update_text_begin)."', '".db_escape($update_text_end)."', $zus2'0', '0', '".$benutzer['id']."')");
  138.         if ($danach == 'A') wb_redirect_now($_SERVER['PHP_SELF'].'?seite=main&modul='.$modul);
  139.         if ($danach == 'B') wb_redirect_now($_SERVER['PHP_SELF'].'?seite=edit&modul='.$modul.'&aktion=new&danach='.$danach);
  140.         if ($danach == 'C') wb_redirect_now($_SERVER['PHP_SELF'].'?seite=edit&modul='.$modul.'&aktion=new&folder='.$folder.'&danach='.$danach);
  141. }
  142.  
  143. if ($aktion == 'delete')
  144. {
  145.         db_query("DELETE FROM `".$WBConfig->getMySQLPrefix()."links` WHERE `id` = '".db_escape($id)."' AND `user_cnid` = '".$benutzer['id']."'");
  146.         if (db_affected_rows() > 0)
  147.                 db_query("OPTIMIZE TABLE `".$WBConfig->getMySQLPrefix()."links`");
  148.  
  149.         wb_redirect_now($_SERVER['PHP_SELF'].'?seite=main&modul='.$modul);
  150. }
  151.  
  152. ?>