Posted on: 04/07/06 05:23pm
By: ByteEnable
--- lib-trackback.php 2006-03-05 03:19:11.000000000 -0600 +++ libtrackback.php 2006-04-07 16:19:04.000000000 -0500 @@ -135,7 +135,7 @@ function TRB_makeTrackbackUrl ($id, $typ */ function TRB_filterTitle ($title) { - return htmlspecialchars (COM_checkWords (strip_tags (COM_stripslashes ($tit le)))); + return COM_checkWords (strip_tags (COM_stripslashes ($title))); } /** @@ -504,7 +504,7 @@ function TRB_renderTrackbackComments ($s $template->set_var ('permalink_and_title', $link_and_title); $template->set_var ('trackback_url', $trackback_url); - $result = DB_query ("SELECT cid,url,title,blog,excerpt,ipaddress,UNIX_TIMES TAMP(date) AS day FROM {$_TABLES['trackback']} WHERE sid = '$sid' AND type = '$t ype' ORDER BY date"); + $result = DB_query ("SELECT cid,url,title,blog,excerpt,ipaddress,UNIX_TIMES TAMP(date) AS day FROM {$_TABLES['trackback']} WHERE sid = '$sid' AND approve = 1 and type = '$type' ORDER BY date"); $numrows = DB_numRows ($result); $template->set_var ('trackback_comment_count', $numrows); @@ -646,7 +646,7 @@ function TRB_detectTrackbackUrl ($url) $req =& new HTTP_Request ($url); $req->setMethod (HTTP_REQUEST_METHOD_GET); $response = $req->sendRequest (); if (PEAR::isError ($response)) { @@ -752,4 +752,26 @@ function TRB_sendNotificationEmail ($cid COM_mail ($_CONF['site_mail'], $mailsubject, $mailbody); } +/** +* Deletes a trackback comment and updates count in stories. Checks if the curre nt user has proper +* permissions first. +* +* @param int $id ID of the trackback comment to delete +* +*/ +function TRB_deleteModeration ($id) +{ + global $_TABLES; + + $cid = addslashes ($id); + $result = DB_query ("SELECT sid,type FROM {$_TABLES['trackback']} WHERE cid = '$cid'"); + list ($sid, $type) = DB_fetchArray ($result); + if (TRB_allowDelete ($sid, $type)) { + TRB_deleteTrackbackComment ($id); + if ($type == 'article') { + DB_query ("UPDATE {$_TABLES['stories']} SET trackbacks = trackbacks - 1 WHERE (sid = '$sid')"); + } + } +} ?>
--- moderation.php 2006-03-05 03:19:17.000000000 -0600 +++ mod.php 2006-04-07 16:00:48.000000000 -0500 @@ -38,6 +38,8 @@ require_once ('auth.inc.php'); require_once ($_CONF['path_system'] . 'lib-user.php'); require_once ($_CONF['path_system'] . 'lib-story.php'); +require_once ($_CONF['path_system'] . 'lib-trackback.php'); // Uncomment the line below if you need to debug the HTTP variables being passe d // to the script. This will sometimes cause errors but it will allow you to se e @@ -79,7 +81,6 @@ function commandcontrol() global $_CONF, $_TABLES, $LANG01, $LANG29, $_IMAGE_TYPE; $retval = ''; - $admin_templates = new Template($_CONF['path_layout'] . 'admin/moderation') ; $admin_templates->set_file (array ('cc' => 'moderation.thtml', 'ccrow' => 'ccrow.thtml', @@ -215,12 +216,60 @@ function commandcontrol() $retval .= userlist (); } } - + if ($_CONF['trackback_enabled']) { + $retval .= PendingTrackBacks(); + } $retval .= PLG_showModerationList(); return $retval; } +function PendingTrackBacks() +{ + global $_CONF, $_TABLES, $LANG24, $LANG29, $LANG_ADMIN; + $retval = ''; + + $result = DB_query ("SELECT cid AS id,date,url,ipaddress,title,blog,excerpt FROM {$_TABLES['trackback']} WHERE (approve = 0)" . COM_getTopicSQL ('AND') . C OM_getPermSQL ('AND', 0, 3) . " ORDER BY date ASC"); + $nrows = DB_numRows($result); + $data_arr = array(); + + for ($i = 0; $i < $nrows; $i++) { + $A = DB_fetchArray($result); + $A['row'] = $i; + $A['title'] = stripslashes($A['title']); + $data_arr[$i] = $A; + } + + $header_arr = array( + array('text' => "Date", 'field' => 'date'), + array('text' => "URL", 'field' => 'url'), + array('text' => "IP Address", 'field' => 'ipaddress'), + array('text' => "Title", 'field' => 'title'), + array('text' => "Blog", 'field' => 'blog'), + array('text' => "Excerpt", 'field' => 'excerpt'), + array('text' => $LANG29[2], 'field' => 'delete'), + array('text' => $LANG29[1], 'field' => 'approve')); + + $text_arr = array('has_menu' => false, + 'title' => "TrackBack Submissions", + 'help_url' => '', + 'no_data' => $LANG29[39]); + + $table = ADMIN_simpleList("ADMIN_getListField_moderation", $header_arr, $te xt_arr, $data_arr, array()); + if ($nrows > 0) { + $retval .= "nn<form action="{$_CONF['site_admin_url']}/moderation.ph p" method="POST">" + .'<input type="hidden" name="count" value="' . $ nrows . '">' + .'<input type="hidden" name="type" value="trackb ack">' + .'<input type="hidden" name="mode" value="moderation">' + .$table + .'<center><input type="submit" value="' . $LANG_ADMIN['subm it'] . '"></center></form>' . LB; + } else { + $retval .= $table; + } + + return $retval; +} + /** * Diplays items needing moderation * @@ -460,6 +509,11 @@ function moderation ($mid, $action, $typ $submissiontable = $_TABLES['eventsubmission']; $fields = 'eid,title,description,location,address1,address2,city,state, zipcode,datestart,timestart,dateend,timeend,url'; break; + case 'trackback': + $id = 'sid'; + $table = $_TABLES['trackback']; + $fields = 'date,url,ipaddress,title,blog,excerpt'; + break; case 'story': $id = 'sid'; $table = $_TABLES['stories']; @@ -478,7 +532,7 @@ function moderation ($mid, $action, $typ for ($i = 0; $i < $count; $i++) { switch ($action[$i]) { case 'delete': - if (!empty ($type) && ($type <> 'story') && ($type <> 'draft')) { + if (!empty ($type) && ($type <> 'story') && ($type <> 'draft') && ( $type <> 'trackback') ) { // There may be some plugin specific processing that needs to // happen first. $retval .= PLG_deleteSubmission($type, $mid[$i]); @@ -487,9 +541,13 @@ function moderation ($mid, $action, $typ $retval .= COM_errorLog("moderation.php just tried deleting eve rything in table $submissiontable because it got an empty id. Please report thi s immediately to your site administrator"); return $retval; } + if ($type == 'trackback') { + TRB_deleteModeration ($mid[$i]); + } if ($type == 'draft') { STORY_deleteStory($mid[$i]); - } else { + } + if ($type == 'story') { DB_delete($submissiontable,"$id",$mid[$i]); } break; @@ -528,6 +586,8 @@ function moderation ($mid, $action, $typ COM_rdfUpToDateCheck (); COM_olderStuff (); + } else if ($type == 'trackback') { + DB_query ("UPDATE {$_TABLES['trackback']} SET approve = 1 WHERE cid = '{$mid[$i]}'"); } else { // This is called in case this is a plugin. There may be some // plugin specific processing that needs to happen. @@ -587,19 +647,17 @@ function moderateusers ($uid, $action, $ } // MAIN - $display = ''; $display .= COM_siteHeader ('menu', $LANG29[34]); if (isset ($_GET['msg'])) { $display .= COM_showMessage ($_GET['msg']); } - if (isset ($_POST['mode']) && ($_POST['mode'] == 'moderation')) { if ($_POST['type'] == 'user') { $display .= moderateusers ($_POST['id'], $_POST['action'], COM_applyFilter ($_POST['count'], true)); } else { - $display .= moderation ($_POST['id'], $_POST['action'], $_POST['type'], COM_applyFilter ($_POST['count'], true)); + $display .= moderation ($_POST['id'], $_POST['action'], $_POST['type'], COM_applyFilter ($_POST['count'], true)); } } else { $display .= commandcontrol(); @@ -608,5 +666,4 @@ function moderateusers ($uid, $action, $ $display .= COM_siteFooter(); echo $display;
Posted on: 04/26/06 05:14am
By: destr0yr
moderation.php 2006-03-05 03:19:17.000000000 -0600 +++ mod.php 2006-04-07 16:00:48.000000000 -0500 @@ -38,6 +38,8 @@ require_once ('auth.inc.php'); require_once ($_CONF['path_system'] . 'lib-user.php'); require_once ($_CONF['path_system'] . 'lib-story.php'); +require_once ($_CONF['path_system'] . 'lib-trackback.php'); // Uncomment the line below if you need to debug the HTTP variables being passe d // to the script. This will sometimes cause errors but it will allow you to se e @@ -79,7 +81,6 @@ function commandcontrol() global $_CONF, $_TABLES, $LANG01, $LANG29, $_IMAGE_TYPE; $retval = ''; - $admin_templates = new Template($_CONF['path_layout'] . 'admin/moderation') ; $admin_templates->set_file (array ('cc' => 'moderation.thtml', 'ccrow' => 'ccrow.thtml', @@ -215,12 +216,60 @@ function commandcontrol() $retval .= userlist (); } } - + if ($_CONF['trackback_enabled']) { + $retval .= PendingTrackBacks(); + } $retval .= PLG_showModerationList(); return $retval; } +function PendingTrackBacks() +{ + global $_CONF, $_TABLES, $LANG24, $LANG29, $LANG_ADMIN; + $retval = ''; + + $result = DB_query ("SELECT cid AS id,date,url,ipaddress,title,blog,excerpt FROM {$_TABLES['trackback']} WHERE (approve = 0)" . COM_getTopicSQL ('AND') . C OM_getPermSQL ('AND', 0, 3) . " ORDER BY date ASC"); + $nrows = DB_numRows($result); + $data_arr = array(); + + for ($i = 0; $i < $nrows; $i++) { + $A = DB_fetchArray($result); + $A['row'] = $i; + $A['title'] = stripslashes($A['title']); + $data_arr[$i] = $A; + } + + $header_arr = array( + array('text' => "Date", 'field' => 'date'), + array('text' => "URL", 'field' => 'url'), + array('text' => "IP Address", 'field' => 'ipaddress'), + array('text' => "Title", 'field' => 'title'), + array('text' => "Blog", 'field' => 'blog'), + array('text' => "Excerpt", 'field' => 'excerpt'), + array('text' => $LANG29[2], 'field' => 'delete'), + array('text' => $LANG29[1], 'field' => 'approve')); + + $text_arr = array('has_menu' => false, + 'title' => "TrackBack Submissions", + 'help_url' => '', + 'no_data' => $LANG29[39]); + + $table = ADMIN_simpleList("ADMIN_getListField_moderation", $header_arr, $te xt_arr, $data_arr, array()); + if ($nrows > 0) { + $retval .= "nn<form action="{$_CONF['site_admin_url']}/moderation.ph p" method="POST">" + .'<input type="hidden" name="count" value="' . $ nrows . '">' + .'<input type="hidden" name="type" value="trackb ack">' + .'<input type="hidden" name="mode" value="moderation">' + .$table + .'<center><input type="submit" value="' . $LANG_ADMIN['subm it'] . '"></center></form>' . LB; + } else { + $retval .= $table; + } + + return $retval; +} + /** * Diplays items needing moderation * @@ -460,6 +509,11 @@ function moderation ($mid, $action, $typ $submissiontable = $_TABLES['eventsubmission']; $fields = 'eid,title,description,location,address1,address2,city,state, zipcode,datestart,timestart,dateend,timeend,url'; break; + case 'trackback': + $id = 'sid'; + $table = $_TABLES['trackback']; + $fields = 'date,url,ipaddress,title,blog,excerpt'; + break; case 'story': $id = 'sid'; $table = $_TABLES['stories']; @@ -478,7 +532,7 @@ function moderation ($mid, $action, $typ for ($i = 0; $i < $count; $i++) { switch ($action[$i]) { case 'delete': - if (!empty ($type) && ($type <> 'story') && ($type <> 'draft')) { + if (!empty ($type) && ($type <> 'story') && ($type <> 'draft') && ( $type <> 'trackback') ) { // There may be some plugin specific processing that needs to // happen first. $retval .= PLG_deleteSubmission($type, $mid[$i]); @@ -487,9 +541,13 @@ function moderation ($mid, $action, $typ $retval .= COM_errorLog("moderation.php just tried deleting eve rything in table $submissiontable because it got an empty id. Please report thi s immediately to your site administrator"); return $retval; } + if ($type == 'trackback') { + TRB_deleteModeration ($mid[$i]); + } if ($type == 'draft') { STORY_deleteStory($mid[$i]); - } else { + } + if ($type == 'story') { DB_delete($submissiontable,"$id",$mid[$i]); } break; @@ -528,6 +586,8 @@ function moderation ($mid, $action, $typ COM_rdfUpToDateCheck (); COM_olderStuff (); + } else if ($type == 'trackback') { + DB_query ("UPDATE {$_TABLES['trackback']} SET approve = 1 WHERE cid = '{$mid[$i]}'"); } else { // This is called in case this is a plugin. There may be some // plugin specific processing that needs to happen. @@ -587,19 +647,17 @@ function moderateusers ($uid, $action, $ } // MAIN - $display = ''; $display .= COM_siteHeader ('menu', $LANG29[34]); if (isset ($_GET['msg'])) { $display .= COM_showMessage ($_GET['msg']); } - if (isset ($_POST['mode']) && ($_POST['mode'] == 'moderation')) { if ($_POST['type'] == 'user') { $display .= moderateusers ($_POST['id'], $_POST['action'], COM_applyFilter ($_POST['count'], true)); } else { - $display .= moderation ($_POST['id'], $_POST['action'], $_POST['type'], COM_applyFilter ($_POST['count'], true)); + $display .= moderation ($_POST['id'], $_POST['action'], $_POST['type'], COM_applyFilter ($_POST['count'], true)); } } else { $display .= commandcontrol(); @@ -608,5 +666,4 @@ function moderateusers ($uid, $action, $ $display .= COM_siteFooter(); echo $display;
Posted on: 04/27/06 02:50am
By: ByteEnable
Posted on: 04/28/06 04:25am
By: destr0yr
Posted on: 04/28/06 09:49am
By: Anonymous (andyofne)