123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- <?php
- require_once('php/include.php');
- // TODO - Add API handling.
- $method = $_SERVER['REQUEST_METHOD'];
- $ret = Array();
- if(isset($_GET['type'])){
- if(isset($_GET['id'])){
- $id = $_GET['id'];
- switch($_GET['type']){
- case 'user':
- if(!isset($_GET['template'])){
- $ret['template'] = file_get_contents(PATH_DATA.'pages/user.template');
- }
- $user = userObj($id);
- $context = Array(
- 'name'=>$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);
- 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 title,description,id FROM `projects`;")){
- $context['projects'] = fetch_all($res,MYSQLI_ASSOC);
- }
- 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");
- }
- ?>
|