$user['name'], 'email'=>$user['email'] ); if($LOGGEDIN){ $context['key'] = true; $context['user'] = userObj($_SESSION['username']); }; $ret['context'] = $context; retj($ret,'User - '.$context['name']); break; case 'group': // TODO - handle group requests break; case 'issue': // TODO - handle issue requests break; case 'scrum': // TODO - handle scrum requests break; case 'project': if(!isset($_GET['template'])){ $ret['template'] = file_get_contents(PATH_DATA.'pages/project.template'); } $context = projectObj($id); $context['user'] = userObj($context['user']); if($LOGGEDIN){ $context['key'] = true; $context['user'] = userObj($_SESSION['username']); }; $ret['context'] = $context; retj($ret,'Project - '.$context['title']); break; case 'admin': // TODO - handle admin requests break; case 'page': if(file_exists(PATH_DATA.'pages/'.$id.'.template')){ if(!isset($_GET['template'])){ $ret['template'] = file_get_contents(PATH_DATA.'pages/'.$id.'.template'); } $context = Array(); if($LOGGEDIN){ $context['key'] = true; $context['user'] = userObj($_SESSION['username']); }; if(file_exists(PATH_DATA.'pages/'.$id.'.options')){ $options = objectToArray(json_decode(file_get_contents(PATH_DATA.'pages/'.$id.'.options'),true)); foreach($options as $key){ switch($key){ case 'users': if($res = query("SELECT name FROM `users`;")){ $context['users'] = fetch_all($res,MYSQLI_ASSOC); } break; case 'projects': if($res = query("SELECT p.title,p.id,p.description,u.name as user FROM `projects` p JOIN `users` u ON u.id = p.u_id")){ $context['projects'] = fetch_all($res,MYSQLI_ASSOC); foreach($context['projects'] as $key => $project){ $context['projects'][$key]['user'] = userObj($project['user']); } } break; } } } $ret['context'] = $context; }else{ $ret['error'] = 'That page does not exist'; } retj($ret,$id); break; case 'action': switch($id){ case 'login': $ret['state'] = Array( 'data'=>Array( 'type'=>'page', 'id'=>'login', ) ); if(isset($_GET['username'])&&isset($_GET['password'])){ $key = login($_GET['username'],$_GET['password']); if($key){ $_SESSION['username'] = $_GET['username']; }else{ $ret['error'] = "Login failed. Username or Password didn't match."; } }else{ $ret['error'] = "Please provide a valid username and password."; } retj($ret,$id); break; case 'register': $ret['state'] = Array( 'data'=>Array( 'type'=>'page', 'id'=>'register' ) ); if(isvalid('username')&&isvalid('password')&&isvalid('password1')&&isvalid('email')&&isvalid('captcha')){ if($_GET['password']==$_GET['password1']){ if(compare_captcha($_GET['captcha'])){ if(addUser($_GET['username'],$_GET['password'],$_GET['email'])){ $key = login($_GET['username'],$_GET['password']); $_SESSION['username'] = $_GET['username']; sendMail('welcome','Welcome!',$_GET['email'],get('email'),Array($_GET['username'],$_GET['password'],get('email'))); }else{ $ret['error'] = "Could not add user. ".$mysqli->error; } }else{ $ret['error'] = "Captcha did not match."; } }else{ $ret['error'] = "Passwords didn't match."; } }else{ $ret['error'] = "Please fill in all the fields."; } retj($ret,$id); break; default: die('invalid action'); } break; default: die("invalid type"); } }else{ die("id missing"); } }else{ die("type missing"); } ?>