Scripts
Smiley Parser
Dit is een smiley parser. De smileys worden opgeslagen in de database. Dit is de query: CREATE TABLE `smilies` ( `id` int(6) NOT NULL auto_increment, `code` varchar(7) NOT NULL default '', `img` varchar(30) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM; Je moet nog wel zelf de smiley's in de database invoegen. Je gebruikt het door: smilie($text); te doen. De admin is onbeveiligd, dus dat moet je zelf nog doen. http://www.digitaly.nl/DigiScripts/PHP/smiley Admin: http://www.digitaly.nl/DigiScripts/PHP/smiley/admin.php
smiley-parser
Index.php:
------------------------
<?
// Vergeet geen database connectie te maken!!
function smilie($text)
{
$db_result = mysql_query("SELECT code, img FROM smilies");
$rows = mysql_num_rows($db_result);
for ($i = 0; $list = mysql_fetch_array($db_result); $i++)
{
$sm_text[$i] = $list['code'];
$image[$i] = "<img src='".$list[img]."' border='0'>";
}
if ($rows > 0)
{
$text = str_replace($sm_text, $image, $text);
}
return $text;
}
$text = "hallo, hoe gaat het! Met mij goed :)";
echo smilie($text);
?>
admin.php:
-----------------------------
<script type="text/javascript">
<!-- Submit knop Disabelen -->
var doneit;
function disableForm(theform)
{
if (document.all || document.getElementById)
{
if(doneit != 1)
{
for (i = 0; i < theform.length; i++)
{
var tempobj = theform.elements[i];
if (tempobj.type.toLowerCase() == 'submit' || tempobj.type.toLowerCase() == 'reset')
{
tempobj.style.color = 'gray';
}
}
doneit = 1;
// submit form
return true;
}
else
{
alert('1x klikken is al goed hoor! :D');
return false;
}
}
}
</script>
<?
if(!isset($_GET['actie']))
{
if(!isset($_POST['submit']))
{
?>
Hier kunt u smileys toevoegen!<br />
Deze smiley's zijn reeds toegevoegd:<br />
<table>
<form method="post" onsubmit="return disableForm(this)">
<tr>
<td>Smiley:</td>
<td>Code:</td>
<td>Bewerk:</td>
<td>Verwijder:</td>
</tr>
<?
$query = mysql_query("SELECT * FROM smilies");
while($obj = mysql_fetch_object($query))
{
echo '<tr>';
echo '<td><img src="'.$obj->img.'" alt="Smiley '.$obj->code.'"></td>';
echo '<td>'.$obj->code.'</td>';
echo '<td><a href="admin.php?actie=bewerk&id='.$obj->id.'">Ja</a></td>';
echo '<td><input type="checkbox" name="checkbox[]" value="'.$obj->id.'" /></td>';
echo '</tr>';
}
?>
<tr>
<td></td>
<td></td>
<td></td>
<td align="center"><input type="submit" name="submit" value="verwijder" />
</form>
</table>
<br /><br />
<form method="get" onsubmit="return disableForm(this)">
Smiley's toevoegen:<br />
Voeg <input type="text" value="aantal" name="aantal" /> smileys toe.<br />
<input type="submit" name="actie" value="toevoegen" />
</form>
<?
}
else
{
$id = $_POST['checkbox'];
$id = count($id);
for($i = 1; $i <= $id; $i++)
{
$nr = $i - 1;
$pid = $_POST['checkbox'][$nr];
mysql_query("DELETE FROM smilies WHERE id = '$pid'");
}
header("Location: admin.php");
}
}
elseif($_GET['actie'] == 'toevoegen')
{
if(!isset($_POST['submit']))
{
if(!isset($_GET['aantal']))
{
$aantal = 1;
}
elseif(empty($_GET['aantal']))
{
$aantal = 1;
}
elseif(!is_numeric($_GET['aantal']))
{
$aantal = 1;
}
elseif($_GET['aantal'] > 15 || $_GET['aantal'] < 1)
{
$aantal = 1;
}
else
{
$aantal = $_GET['aantal'];
}
echo '<table>';
echo '<form method="post" action="admin.php?actie=toevoegen" onsubmit="return disableForm(this)">';
echo '<tr><td>Link:</td><td>Code:</td></tr>';
echo '<input type="hidden" name="aantal" value="'.$aantal.'" />';
for($i = 1; $i <= $aantal; $i++)
{
echo '<tr><td><input type="text" value="smileys/" name="smilie[]" /></td>';
echo '<td><input type="text" name="code[]" /></td></tr>';
}
echo '<tr><td colspan="2" align="center"><input type="submit" value="Voeg Toe" name="submit" /></td></tr>';
echo '</form>';
echo '</table>';
}
else
{
$aantal = $_POST['aantal'];
$error = 0;
for($i = 1; $i <= $aantal; $i++)
{
$nr = $i - 1;
if(!isset($_POST['code'][$nr]) OR empty($_POST['code'][$nr]))
{
$error = 1;
}
elseif(!isset($_POST['smilie'][$nr]) OR empty($_POST['smilie'][$nr]) OR $_POST['smilie'][$nr] == "smileys/")
{
$error = 1;
}
if($error !== 0)
{
break;
}
}
if($error !== 0)
{
echo 'U heeft iets niet ingevuld!<br />Ga terug en verbeter het.';
}
else
{
for($i = 1; $i <= $aantal; $i++)
{
$nr = $i - 1;
$code = $_POST['code'][$nr];
$smilie = $_POST['smilie'][$nr];
mysql_query("INSERT INTO smilies (code,img) VALUES ('$code','$smilie')");
header("Location: admin.php");
}
}
}
}
elseif($_GET['actie'] == 'bewerk')
{
if(!isset($_GET['id']) OR empty($_GET['id']) OR !is_numeric($_GET['id']))
{
echo 'Er ging iets fout met het smiley id, probeer het nog eens.';
}
else
{
if(!isset($_POST['bewerk']))
{
$query = mysql_query("SELECT * FROM smilies WHERE id = '".$_GET['id']."'");
$obj = mysql_fetch_object($query);
$smile = $obj->img;
$code = $obj->code;
echo '<table><tr><td>Smiley:</td><td>Code:</td></tr>';
echo '<form method="post" onsubmit="return disableForm(this)">';
echo '<tr><td><input type="text" name="smile" value="'.$smile.'" /></td>';
echo '<td><input type="text" name="code" value="'.$code.'" /></td></tr>';
echo '<tr><td colspan="2" align="center"><input type="submit" value="bewerk" name="bewerk" /></td>';
echo '</tr></form></table>';
}
else
{
if(empty($_POST['code']) OR empty($_POST['smile']))
{
echo 'Iets is niet goed ingevuld!';
}
else
{
mysql_query("UPDATE smilies SET code = '".$_POST['code']."', img = '".$_POST['smile']."' WHERE id = '".$_GET['id']."'");
header("Location: admin.php");
}
}
}
}
?>
Reacties
0