$host = str_replace("www.","",$_SERVER[SERVER_NAME]); //ini_set("session.cookie_domain", ".".$host); session_start(); require('blaze.php'); $d = array(); $d['domain'] = $host; $d['d']='mixgrotto'; get('/', 'index_page'); // get('/about', 'about_page'); get('/artist', 'list_users_page'); get('/artist/:name', 'view_user_page'); getpost('/user/', 'user_page'); getpost('/user', 'user_page'); getpost('/user/login', 'login_page'); get('/user/logout', 'logout_page'); getpost('/user/delete/:key', 'delete_page'); get('/user/dtag/:key','detag_page'); getpost('/user/register', 'reg_page'); getpost('/user/settings', 'settings_page'); getpost('/user/post', 'user_post_page'); getpost('/user/edit/:key', 'user_edit_page'); get('/user/save/:key','user_save_page'); get('/user/saved','user_saved_list_page'); getpost('/view/:key', 'view_page'); get('/list', 'list_page'); get('/list/*', 'list_page'); getpost('/input','input_page'); get('/*','index_page'); get('/*/','index_page'); function input_page(){ $msg =$_POST['msg']; echo $msg; require_once "Mail.php"; $from = "Mix Tape Grotto "; $to = "W-ll "; $subject = "MTG Shop"; $body = <<< EOF ------------------------------------ {$msg} =================================== EOF; $host = "smtp.webfaction.com"; $username = "dubayou_osbills"; $password = "account7331"; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo("

" . $mail->getMessage() . "

"); } else { echo("

Message successfully sent!

"); } } //user if(!empty($_SESSION['user'])){ $d[user] = explode(";",$_SESSION['user']); }else{ $d[user] =array(0,0,'guest'); } mysql_connect("localhost","dubayou_grotto","2e23b644"); $users_db=new dbobj("dubayou_grotto","users"); $boxs_db=new dbobj("dubayou_grotto","boxs"); $favs_db=new dbobj("dubayou_grotto","favs"); $bins_db=new dbobj("dubayou_grotto","bins"); $tags_db=new dbobj("dubayou_grotto","tags"); mysql_select_db('dubayou_grotto'); blaze(); function user_save_page($args){ global $d; global $favs_db; require_login(); $key = base_convert($args[key],36,10); $x = array('user'=>$d['user'][0],'box'=>$key); $favs_db->add($x); $data['user']=$d[user]; render($d['d'].'/user_save',$data);//widnows path } function list_page($args){ global $d; global $boxs_db; $start=0; $args = $args[segments][0]; $data['page']=1; if(!empty($args[1])){ $start = ($args[1]-1)*30; $data['page']=$args[1]; } $data['type']='all'; if(!empty($args[0]) && $args[0] != 'all'){ $what = $args[0]; $data['type']=$what; if(substr($what,-1,1)=='s'){ $what = substr($what,0,-1); } $data['boxs']= $boxs_db->get_type_vis_owner_range_sort($what,1,$d['owners'],$start,30,'ORDER BY id DESC'); }else if($args[0] == 'all'){ $data['boxs']= $boxs_db->get_vis_owner_range_sort(1,$d['owners'],$start,30,'ORDER BY id DESC'); }else{ if(!empty($args[0])){ $start = ($args[0]-1)*30; $data['page']=$args[0]++; } $data['boxs']= $boxs_db->get_vis_owner_range_sort(1,$d['owners'],$start,30,'ORDER BY id DESC'); } $data['user']=$d[user]; render($d['d'].'/list',$data);//widnows path } function index_page($args){ global $d; global $boxs_db; global $users_db; $data['user']=$d[user]; if(!empty($args[segments])){ $bin = $d['domain'].'/'.implode('/',$args[segments][0]); $data['bin'] = $bin;// '/'.implode('/',$args[segments][0]); }else{ $bin = $d['domain']; $data['bin'] =$bin; } $sql = 'SELECT * FROM boxs,tags WHERE boxs.id = tags.box AND tags.path =\''.$bin.'\' AND boxs.vis = 1 ORDER BY id DESC '; // echo $sql; $ret = mysql_query($sql); if (!$ret) { die('Invalid query: ' . mysql_error()); } $data['boxs'] = array(); while ($row = mysql_fetch_array($ret, MYSQL_ASSOC)) { $data['boxs'][] = $row; } render($d['d'].'/template',$data);//widnows path } function view_user_page($args){ global $d; global $boxs_db; global $users_db; $data['user']=$d[user]; $data['user_info']= $users_db->get_name($args['name']); $data['boxs']=$boxs_db->get_all_vis_owner_sort(1,$data['user_info'][id],'ORDER BY id DESC'); if(!$data['user_info']){ $data['error'] = 'User Does Not Exists'; } //unset($data['user_info']['pass']); render($d['d'].'/view_user',$data);//widnows path } function view_page($args){ global $d; global $boxs_db; global $tags_db; global $bins_db; $id = base_convert($args[key],36,10); $box = $boxs_db->get_id($id); $tagdata = $tags_db->get_all_box($id); /* foreach($tags as $btag) $btags[] = $btag[path]; $tagdata = array(); if($tags) $tagdata = $bins_db->get_all_path($btags); */ // print_r($tagdata); // die(); $data = array('user'=>$d[user],'box'=>$box,'tags'=>$tagdata); proc_hook('pre_view',$data); render($d['d'].'/view',$data); } function detag_page($args){ global $d; global $boxs_db; global $tags_db; $id = base_convert($args[key],36,10); require_login(); if($d[user][1]==9){ $bin = $_GET['bin']; if(!empty($bin) && !$error){ $tags_db->del_box_path($id,$bin); echo ' tag killed'; } } } function delete_page($args){ global $d; global $boxs_db; $id = base_convert($args[key],36,10); $box = $boxs_db->get_id_owner($id,$d[user][0]); if(!$box){ $error = "You cant do that!!!"; } if(isset($_POST[yesido]) && !$error){ $boxs_db->upd_id($id,array('vis'=>0)); header('location:?blaze_path=/user/'); exit(); } $data['user']=$d[user]; $data['box']=$box; $data['error'] = $error; render($d['d'].'/delete',$data); } function settings_page(){ global $d; global $users_db; $data['user']=$d[user]; $data['user_info']= $users_db->get_id($d[user][0]); unset($data['user_info']['pass']); render($d['d'].'/settings',$data);//widnows path } function user_page(){ global $d; global $boxs_db; require_login(); $data['user']=$d[user]; $data['boxs']= $boxs_db->get_all_owner_vis_sort($d[user][0],1,'ORDER BY id DESC'); render($d['d'].'/user',$data);//widnows path } function user_saved_list_page(){ global $d; global $boxs_db; global $favs_db; require_login(); $data['user']=$d[user]; $favs = $favs_db->get_all_user($d[user][0],2); $fun = "get_all_"; $args = array(); foreach($favs as $f){ $fun .= 'id_or_'; $args[] = $f[box]; } $fun = substr($fun,0,-4); $boxs = call_user_func_array(array($boxs_db, $fun),$args); $data['boxs']=$boxs; render($d['d'].'/list_saved',$data); } function user_edit_page($args){ global $d; global $boxs_db; global $bins_db; global $tags_db; require_login(); $id = base_convert($args['key'],36,10); $box = $boxs_db->get_id($id); $ret = mysql_query('SELECT * FROM tags,bins WHERE tags.box = '.$id.' AND tags.path = bins.path'); $tags = array(); while ($row = @mysql_fetch_array($ret, MYSQL_ASSOC)) { $tags[] = $row; } if(isset($_POST[save])){ $upd = array(); $id = base_convert($args['key'],36,10); $key = $args['key']; $box[title] = $upd[title]=$_POST[ptitle]; $box[data] = $upd[data]=$_POST[pdata]; $boxs_db->upd_id($id,$upd); $data[banner] = "Post Saved!"; $pbins = $_POST['pbins']; if(!empty($pbins)){ $tbins = explode(",",$pbins); //print_r($tbins); foreach($tbins as $tb){ $tb = trim($tb); if(empty($tb)) continue; $tb = ("/"==$tb)?$d['domain']:str_replace('//','/',$d['domain'].'/'.$tb); $tb = (substr($tb,-1)=="/")?substr($tb,0,-1):$tb; $pretaged = $tags_db->get_box_path($id,$tb); if(empty($pretaged)){ $bin = @$bins_db->get_path($tb); if(empty($bin)){ $bin[id] = $bins_db->add(array('path'=>$tb)); } $tags_db->add(array('box'=>$id,'path'=>$tb)); } } } } $data['user']=$d[user]; $data['box'] = $box; $data['tags'] = $tags; render($d['d'].'/edit',$data); } function user_post_page(){ global $d; global $boxs_db; global $bins_db; global $tags_db; require_login(); if(!empty($_POST)){ $ptitle = trim($_POST['ptitle']); $pdata = trim($_POST['pdata']); $ptype = $_POST['ptype']; $ppriv = $_POST['ppriv']; $pbins = $_POST['pbins']; if(empty($ptitle)){ $ptitle = time(); } if(empty($pdata)){ $error = 'We need some data'; } //type stuff if('photo'==$ptype || 'song' == $ptype){ $pdata = json_encode(array('path'=>$_POST['pdata'], 'desc'=>$_POST['pdesc'])); } if('gallery'==$ptype){ $c = intval($_POST[pdata]); $g = array(); for($i=0;$i<$c;$i++){ $g[] = array('data'=>$_POST['pdata-'.$i],'cap'=>$_POST['pcap-'.$i]); } $pdata = json_encode($g); } $newbox = array('owner'=>$d[user][0], 'owner_name'=>$d[user][2], 'title'=>$ptitle, 'data'=>$pdata, 'type'=>$ptype, 'birth'=>time()); if(!$error){ if($ptype=='update'){ $newbox['title']=$ptitle=$pdata; } $id = $boxs_db->add($newbox); $key = base_convert($id,10,36); if(!empty($pbins)){ $tbins = explode(",",$pbins); //print_r($tbins); foreach($tbins as $tb){ $tb = trim($tb); if(empty($tb)) continue; $tb = ("/"==$tb)?$d['domain']:str_replace('//','/',$d['domain'].'/'.$tb); $tb = (substr($tb,-1)=="/")?substr($tb,0,-1):$tb; $bin = @$bins_db->get_path($tb); if(empty($bin)){ $bin[id] = $bins_db->add(array('path'=>$tb)); } $tags_db->add(array('box'=>$id,'path'=>$tb)); } //$tags_db->add(array('box'=>$id,'path'=>$d[domain])); } //lets tweet this if(0==1){ tweet('MegaWartron','catdog123',$ptype.': '.$ptitle.' '.jmp_url('http://mixgrotto.com/view/'.$key). " #mixg"); } header('location:?blaze_path=/view/'.$key); } render($d['d'].'/userpost',array('dd'=>$d[domain],'user'=>$d[user],'error'=>$error,'ptitle'=>$ptitle,'pdata'=>$pdata,'ptype'=>$ptype)); }else{ render($d['d'].'/userpost',array('dd'=>$d[domain],'user'=>$d[user],'ptype'=>'update'));//widnows path } } function login_page($args){ global $d; global $users_db; $data=array(); if(!empty($_POST)){ $u = $_POST['name']; $p = $_POST['password']; $tuser = $users_db->get_name_pass($u,$p); if($tuser){ $_SESSION['user']=$tuser[id].';'.$tuser[group].';'.$u; header('location:?blaze_path='.((empty($_GET['ret']))?"/user/":$_GET['ret'])); } } render($d['d'].'/login',$data);//widnows path } function reg_page(){ global $d; global $users_db; if($_GET['p']==1){ $email = $_POST['email']; $name = $_POST['fname']; if(empty($email)){ $errors .= "Need Email!
"; } if(empty($name)){ $errors .= "Need Username!
"; } $data = array('email'=>$email,'name'=>$name,'birth'=>time(),'pass'=>md5($email.$name)); if(empty($errors)){ $users_db->add($data); //require_login(); $data['sucess'] = "sucess"; }else{ $data['errors'] = $errors; } //print_r($data); render($d['d'].'/register',$data); }else{ render($d['d'].'/register');//widnows path } } function about_page(){ global $d; render($d['d'].'/register');//widnows path } function logout_page(){ session_destroy(); header('location:/'); } function require_login(){ global $d; if($d[user][1] == 0){ header('location:?blaze_path=/user/login&ret='.$_GET['blaze_path']); exit(); } } function render_type_update($box){ echo $box[data]; } function render_type_message($box){ echo stripslashes($box[data]); } function render_type_photo($box){ $box[data] = json_decode($box[data],1); echo '

'.$box[data][desc].'
'; } function render_type_gallery($box){ $box[data] = json_decode($box[data],1); echo '
'; $rs=0; foreach($box[data] as $b){ echo ''; $rs++; if($rs==3){ $rs=0; echo '

'; } } echo '

'; } function render_type_song($box){ $box[data] = json_decode($box[data],1); echo 'Play'; echo ''; echo $box[data][desc]; } function render_type_link($box){ echo $box[data]; }