2 if(isset($_POST['pastecontent'])){ //User has submitted a new paste.
3 //Let's check the latest inserted paste ID.
4 $fp = fopen('private/currid.txt','rwb+') or die('fopen');
5 for($i=0;!flock($fp,LOCK_EX
)&&$i<100;$i++
){ //Do not allow multiple checks at same time.
9 $currId = fread($fp,2048) or die('fread');
10 $pasteId = $currId +
1;
11 ftruncate($fp,0) or die('ftruncate');
12 fseek($fp,0) and die('fseek');
13 fwrite($fp, $pasteId) or die('fwrite');
14 fclose($fp) or die('fclose');
16 //Well.. now we just have to save the paste :o)
17 $pasteFiletype = $_POST['pastefiletype'];
18 $allowedFiletypes = array('php','html','asp','txt');
19 if (!in_array($pasteFiletype,$allowedFiletypes)){
20 $pasteFiletype = 'txt';
22 switch ($_POST['expire']){
24 $pasteExpire = strtotime("now +1 day");
27 $pasteExpire = strtotime("now +1 month");
33 if (isset($_POST['prev']) && is_numeric($_POST['prev'])){
34 $prev = $_POST['prev'];
37 $pasteName = $pasteId.'_'.$pasteFiletype.'_'.$pasteExpire.'_'.$prev; //FINISH THIS
38 if (file_exists('pastes/'.$pasteName)){
41 $fp = fopen('pastes/'.$pasteName,'wb') or die('error fopen');
42 fwrite($fp,$_POST['pastecontent']) or die('error fwrite');
43 fclose($fp) or die('fclose');
45 <div
><?php
echo $_POST['pastecontent']; ?
></div
>
46 <textarea rows
=6 cols
=30><?php
echo $_POST['pastecontent']; ?
></textarea
>
51 <form action
="" method
="post">
52 <select name
="pastefiletype">
53 <option value
="plain">Plain Text
</option
>
54 <option value
="php" selected
="selected">PHP
</option
>
56 <textarea name
="pastecontent" style
="width:400px;height:200px;"></textarea
><br
/>
57 I want my paste to expire after
58 <input type
="radio" name
="expire" value
="day" id
="day"> <label
for="day">a day
</label
>
59 <input type
="radio" name
="expire" value
="month" id
="month"> <label
for="month">a month
</label
>
60 <input type
="radio" name
="expire" value
="never" id
="never" checked
="checked"> <label
for="never">never
</label
>
62 <input type
="submit" value
="Paste me!" />