PowerNews Changelog

Inhalt
2.5.4 » 2.5.5 [ top ]
Datei Änderung
pninc/lang/german-du.php
pninc/lang/german-sie.php
Neu in Zeile 65-67
define("L_NEWS_RL_TITLE", "Titel");
define("L_NEWS_RL_URL", "URL");
define("L_NEWS_RL_TARGET", "Ziel");
						
pnadmin/news_add.inc.php Veränderung in Zeile 221 & 228
<?PHP
						
Veränderung in Zeile 115
          ?><option value="<?PHP echo ++$this_year; ?>"><?PHP echo $this_year; ?></option><?
            
pninc/functions.inc.php Neu in Zeile 1096-1109
      if ($pnconfig[relatedlinks] == "YES") {
        for ($i = 0; $i < count($pn_config[rltargets]); $i++) {
          $targets .= '<option value="'.$pn_config[rltargets][$i].'">'.$pn_config[rltargets][$i].'</option>';
        }
        $relatedlinks = '<table border="0" cellpadding="3" cellspacing="0" width="100%"><tr><td><b>'.L_NEWS_RL_TITLE.'</b></td><td><b>'.L_NEWS_RL_URL.'</b></td><td><b>'.L_NEWS_RL_TARGET.'</b></td></tr>';
        /* List forms for related links */
        for ($i = 0; $i < $pnconfig[relatedlinks_num]; $i++) {
          $relatedlinks .= '<tr><td><input name="pndata[rl_title][]" size="25" maxlength="50"></td><td><input name="pndata[rl_url][]" size="25" maxlength="250"></td><td><select name="pndata[rl_target][] size="1">';
          $relatedlinks .= $targets;
          $relatedlinks .= '</select></td></tr>';
          }
        $relatedlinks .= '</table>';
      }
      $sendnewsform = preg_replace("!{RELATEDLINKS}!", $relatedlinks, $sendnewsform);
						
Überarbeitete Funktion ab Zeile 322
  // User sendnews
  function sendnews () {
    global $pn_config, $pnconfig, $pnuser, $pn_handler;

    $template = new pn_template;

    if ($pnconfig[sendnews] == "YES") {
      // Check if categories are enabled and generate selectbox
      if ($pnconfig[categories] == "YES") {
        $catresult = mysql_query("SELECT * FROM $pn_config[cattable] WHERE status = 'Activated'", $pn_handler);
        $catnum = mysql_num_rows($catresult);
        if ($catnum > 0) {
          $catselect = "<select name=\"pndata[catid]\" size=\"1\">\n";
          $catselect .= "<option value=\"\">".L_NEWS_CHOOSECAT."</option>\n";
          while ($catrow = mysql_fetch_array($catresult)) {
            $catselect .= "<option value=\"$catrow[id]\">".stripslashes($catrow[name])."</option>\n";
          }
          $catselect .= "</select>";
        } else {
          $catselect = L_NEWS_NOCATS;
        }
      } else {
        $catselect = L_NEWS_CATSDEACTIVATED;
      }

      // Prepare title, text and related links
      $title = addslashes($_POST[pndata][title]);
      $text = addslashes($_POST[pndata][text]);
      $moretext = addslashes($_POST[pndata][moretext]);
      $catid = $_POST[pndata][catid];

      for ($i = 0; $i < count($_POST[pndata][rl_title]); $i++) {
        if (trim($_POST[pndata][rl_title][$i]) AND trim($_POST[pndata][rl_url][$i])) {
          $relatedlinks .= $_POST[pndata][rl_title][$i]."!@!@!".$_POST[pndata][rl_url][$i]."!@!@!".$_POST[pndata][rl_target][$i]."\n";
        }
      }

			// Check who can send news
      if ($pnconfig[newssending] == "Registered" AND $pnuser[loggedin] == "NO") {
      	$template->message(L_NEWS_CANNOTSENDNEWS, $pn_config[userfile]."?page=login");
      } else {
        if ($_GET[pndata][send] == "YES") {
          if (!trim($title) OR !trim($text) OR ($pnconfig[categories] == "YES" AND !$catid)) {
            $template->message(L_ALL_FILLALL, "javascript:history.back()");
          } else {
            $now = time();
            mysql_query("INSERT INTO $pn_config[newstable] (userid, time, catid, title, text, moretext, status, relatedlinks) VALUES('$pnuser[id]', '$now', '$catid', '$title', '$text', '$moretext', 'Unchecked', '$relatedlinks')", $pn_handler);
            $template->message(L_NEWS_NEWSSENTIN, $pn_config[newsfile]);
          }
        } else {
          if ($pnuser[loggedin] == "YES") {
            $user = "<a href=\"mailto:$pnuser[email]\">$pnuser[nickname]</a>";
          } else {
            $user = "Gast";
          }
          $template->sendnewsform($user, $catselect);
        }
      }

    } else {
        $template->message(L_NEWS_NONEWSSENDIN, $pn_config[newsfile]);
    }

  }
            
Neu in Zeile 1114 und Veränderung in Zeile 1115
  global $pn_config;
  ?><p align="center" class="copyright"><font size="1">PowerNews <?PHP echo $pn_config[version]; ?> © Copyright 2003 by <a href="http://www.powerscripts.org" target="_blank">PowerScripts</a></font></p><?PHP
            
Veränderung in Zeile 572
                mysql_query("UPDATE $pn_config[usertable] SET nickname = '".$_POST[pndata][nickname]."', email = '".$_POST[pndata][email]."', password = '$password', showemail = '".$_POST[pndata][showemail]."', realname = '".$_POST[pndata][realname]."', city = '".$_POST[pndata][city]."', age = '".$_POST[pndata][age]."', homepage = '".$_POST[pndata][homepage]."', icq = '".$_POST[pndata][icq]."' WHERE id = '$pnuser[id]'", $pn_handler);
            
Neu in Zeile 1017-1021
      $profileform = preg_replace("!{REALNAME}!", "$pnuser[realname]", $profileform);
      $profileform = preg_replace("!{CITY}!", "$pnuser[city]", $profileform);
      $profileform = preg_replace("!{AGE}!", "$pnuser[age]", $profileform);
      $profileform = preg_replace("!{HOMEPAGE}!", "$pnuser[homepage]", $profileform);
      $profileform = preg_replace("!{ICQ}!", "$pnuser[icq]", $profileform);
            
Veränderung in Zeile 226
          $template->message(L_NEWS_COMMENTPOSTED, $pn_config[detailfile]."?newsid=$newsid&showcomments=YES");
            
pnadmin/templates_edit.inc.php Veränderung in Zeile 186
          <small class="info"><?PHP echo L_TEMPL_SENDNEWSFORM_DESC; ?><br>
						
Neu in Zeile 187-191
          <br>
          <b>{USER}</b> - <b>{CATEGORYSELECT}</b> - <b>{RELATEDLINKS}</b><br>
          <br>
          <u><?PHP echo L_TEMPL_FORMTARGET; ?>:</u> <?PHP echo $pn_config[sendnewsfile]; ?>?pndata[send]=YES<br>
          </small>
            
pninc/config.inc.php Neu in Zeile 47
  $pn_config[sendnewsfile] = "sendnews.php";							 // Sendnewsfile
						
Neu in Zeile 61
  $pn_config[version] = "2.5.5";
            
pnadmin/index.php Veränderung in Zeile 126
<small><?PHP echo L_ALL_PAGECREATEDIN; ?> <?PHP echo $outputtime; ?> <?PHP echo L_ALL_SECONDSBY; ?> <a href="http://www.powerscripts.org" target="_powerscripts"><?PHP echo $psdesignscript." ".$pn_config[version]; ?> © 2001-2003 PowerScripts</a></small>
						
pnadmin/functions.inc.php Veränderung in Zeile 1395
          <textarea name="commenttext[]" cols="60" rows="5"><?PHP echo stripslashes($row[text]); ?></textarea>
						
Veränderung in Zeile 1426
    function checkcomment ($commentid, $commenttext) {
            
Veränderung in Zeile 1431
        $num = mysql_num_rows(mysql_query("SELECT id FROM ".$pn_config[commenttable]." WHERE id = '".$commentid[$i]."'", $pn_handler));
            
Veränderung in Zeile 1434
        } elseif (!trim($commenttext[$i])) {
            
Neu in Zeile 1363-1365
        $commentid = array();
        $commentdelete = array();
        $commenttext = array();
            
Veränderung in Zeile 1358
      $result = mysql_query("SELECT * FROM ".$pn_config[commenttable]." WHERE newsid = '".$newsid."' ORDER BY id DESC", $pn_handler);
            
Veränderung in Zeile 1373
          <input type="checkbox" name="commentdelete[]" value="<PHP echo $row[id]; ?>">
            
Überarbeitete Funktion in Zeile 1447-1463
    // Edit comment
    function editcomment ($commentid, $commenttext, $commentdelete) {

      global $pn_config, $pn_handler;

      for ($i = 0; $i < count($commentid); $i++) {
        $commenttext[$i] = addslashes($commenttext[$i]);
        mysql_query("UPDATE ".$pn_config[commenttable]." SET text = '".$commenttext[$i]."' WHERE id = '".$commentid[$i]."'") OR $error = L_NEWS_COMMENTEDITERROR;
        for ($i2 = 0; $i2 < count($commentdelete); $i2++) {
          if ($commentdelete[$i2] == $commentid[$i]) {
            mysql_query("DELETE FROM ".$pn_config[commenttable]." WHERE id = '".$commentid[$i]."'", $pn_handler) OR $error = L_NEWS_COMMENTEDITERROR;
          }
        }
      }
      // Return error
      return $error;
    }
            
pnadmin/news_edit.inc.php Veränderung in Zeile 31
            $error = $editnews->checkcomment($_POST[commentid], $_POST[commenttext]);
						
Veränderung in Zeile 35
              $error = $editnews->editcomment($_POST[commentid], $_POST[commenttext], $_POST[commentdelete]);
            
Veränderung in Zeile 147
              ?><option value="<?PHP echo ++$this_year; ?>"><?PHP echo $this_year; ?></option><?
            

Tabelle Änderung
pn_users mySQL Befehle
ALTER TABLE pn_users ADD formathelp ENUM( 'YES', 'NO' ) DEFAULT 'NO' NOT NULL AFTER showemail;
ALTER TABLE pn_users ADD realname VARCHAR(100) NOT NULL,
ADD city VARCHAR(100) NOT NULL,
ADD age INT(2) NOT NULL,
ADD homepage VARCHAR(250) NOT NULL,
ADD icq INT(10) NOT NULL;
						
pn_templates mySQL Befehle
UPDATE pn_templates SET profileform = '<form action="user.php?page=profile&pndata[send]=YES" method="post">
<table border="0" cellpadding="3" cellspacing="0" width="100%">
<tr><td bgcolor="#8C8E8C">
  <b>Profil editieren</b>
</td></tr>
<tr><td bgcolor="#DEDFDE">

  <table border="0" cellpadding="3" cellspacing="3">
  <tr><td>
    <b>Nickname</b>
  </td><td>
    <input name="pndata[nickname]" size="25" maxlength="50" value="{NICKNAME}">
  </td></tr>
  <tr><td>
    <b>eMail</b>
  </td><td>
    <input name="pndata[email]" size="25" maxlength="100" value="{EMAIL}">
  </td></tr>
  <tr><td>
    <b>eMail anzeigen</b>
  </td><td>
    <input type="checkbox" name="pndata[showemail]" value="YES" {SHOWEMAIL}>
  </td></tr>
  <tr><td>
    <b>Passwort</b>
  </td><td>
    <input type="password" name="pndata[password]" value="{PASSWORD}">
    <input type="password" name="pndata[password2]" value="{PASSWORD}">
  </td></tr>
  <tr><td>
    <b>Realname</b>
  </td><td>
    <input name="pndata[realname]" value="{REALNAME}" size="25" maxlength="100">
  </td></tr>
  <tr><td>
    <b>Wohnort</b>
  </td><td>
    <input name="pndata[city]" value="{CITY}" size="25" maxlength="100">
  </td></tr>
  <tr><td>
    <b>Alter</b>
  </td><td>
    <input name="pndata[age]" value="{AGE}" size="3" maxlength="2">
  </td></tr>
  <tr><td>
    <b>Homepage</b>
  </td><td>
    <input name="pndata[homepage]" value="{HOMEPAGE}" size="25" maxlength="250">
  </td></tr>
  <tr><td>
    <b>ICQ</b>
  </td><td>
    <input name="pndata[icq]" value="{ICQ}" size="11" maxlength="10">
  </td></tr>
  <tr><td colspan="2">
    <input type="submit" value="Profil editieren"> <input type="reset" value="Profil zurücksetzten">
  </td></tr>
  </table>

</td></tr>
</table>
</form>' WHERE id = '1';
						


Info [ top ]
In dieser Datei sind alle Änderungen der Quelldateien vermerkt, so dass man die Änderungen für die neue Version auch selbst durchführen kann.
Grundsätzlich ist es nur nötig den angegebenen Code zu kopieren, die Leerzeichen am Zeilenanfang sollten, für eine bessere Lesbarkeit des Codes, mitkopiert werden.

Um den Code an der richtigen Stelle einfügen zu können sind die Zeilen angegeben. Bei den Änderungen sollte in der hier beschriebenen Reinfolge vorgegangen werden, da sonst eventuelle Verschiebungen der Zeilenangaben nicht berücksichtigt werden. Ein sehr guter Editor mit Zeilenangaben ist der Phase 5 Editor.