{"action":"created","comment":{"url":"https://api.github.com/repos/Hackademic/hackademic/pulls/comments/36578521","id":36578521,"diff_hunk":"@@ -1,260 +1,287 @@\n-<?php\r\n-/**\r\n- *\r\n- * Hackademic-CMS/admin/controller/class.AddChallengeController.php\r\n- *\r\n- * Hackademic Add Challenge Controller\r\n- * Class for the Add Challenge page in Backend\r\n- *\r\n- * Copyright (c) 2012 OWASP\r\n- *\r\n- * LICENSE:\r\n- *\r\n- * This file is part of Hackademic CMS (https://www.owasp.org/index.php/OWASP_Hackademic_Challenges_Project).\r\n- *\r\n- * Hackademic CMS is free software: you can redistribute it and/or modify it under the terms of the GNU General Public\r\n- * License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any\r\n- * later version.\r\n- *\r\n- * Hackademic CMS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied\r\n- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more\r\n- * details.\r\n- *\r\n- * You should have received a copy of the GNU General Public License along with Hackademic CMS.  If not, see\r\n- * <http://www.gnu.org/licenses/>.\r\n- *\r\n- *\r\n- * @author Pragya Gupta <pragya18nsit[at]gmail[dot]com>\r\n- * @author Konstantinos Papapanagiotou <conpap[at]gmail[dot]com>\r\n- * @license http://www.gnu.org/licenses/gpl.html\r\n- * @copyright 2012 OWASP\r\n- *\r\n- */\r\n-require_once(HACKADEMIC_PATH.\"admin/model/class.ChallengeBackend.php\");\r\n-require_once(HACKADEMIC_PATH.\"admin/controller/class.HackademicBackendController.php\");\r\n-require_once(HACKADEMIC_PATH.\"model/common/class.Utils.php\");\r\n-\r\n-// -- Class Name : AddChallengeController\r\n-// -- Purpose :\r\n-// -- Created On :\r\n-class AddChallengeController extends HackademicBackendController {\r\n-\r\n-\tpublic $title;\r\n-\tpublic $authors;\r\n-\tpublic $category;\r\n-\tpublic $level;\r\n-\tpublic $duration;\r\n-\tpublic $description;\r\n-\r\n-  private static $action_type = 'add_challenge';\r\n-\r\n-  private static function rrmdir($dir) {\r\n-\t  foreach(glob($dir . '/*') as $file) {\r\n-      if(is_dir($file)) {\r\n-\t      self::rrmdir($file);\r\n-\t    } else {\r\n-\t      unlink($file);\r\n-\t    }\r\n-\t  }\r\n-\t  rmdir($dir);\r\n-  }\r\n-\r\n-  public function installChallenge($file_to_open,$target,$name) {\r\n-\t  $zip = new ZipArchive();\r\n-\t  $x = $zip->open($file_to_open);\r\n-\r\n-    if($x === true) {\r\n-\t    $zip->extractTo($target);\r\n-\t    $zip->close();\r\n-\r\n-\t    unlink($file_to_open);\r\n-\t    #deletes the zip file. We no longer need it.\r\n-\r\n-\t    if (isset($_GET['type']) && $_GET['type'] == \"code\") {\r\n-\t\t    $xml_exists = 1;\r\n-\t    } else {\r\n-\t\t    $xml_exists = file_exists($target.$name.\".xml\");\r\n-\t    }\r\n-\r\n-      if (!file_exists($target.\"index.php\") || !$xml_exists) {\r\n-\t\t    if (!file_exists($target.\"index.php\")) {\r\n-\t\t      $this->addErrorMessage(\"Not a valid challenge! Index.php file doesn't exist\");\r\n-  \t\t    if (isset($_GET['type']) && $_GET['type'] == \"code\") {\r\n-\t\t      \t$this->addToView('step', 'step2');\r\n-\t\t      }\r\n-\t\t    } else {\r\n-\t    \t        if (!file_exists($target.$name.\".xml\") ) {\r\n-\t\t\t    $this->addErrorMessage(\"Zip's filename must be the same with the xml file within <br /> (case-sensitive).\");\r\n-\t   \t        }\r\n-  \t\t  }\r\n-\t\t    self::rrmdir(HACKADEMIC_PATH.\"challenges/\".$name);\r\n-\t\t    return false;\r\n-\t    }\r\n-\r\n-\r\n-      if (isset($_GET['type']) && $_GET['type'] == \"code\") {\r\n-        return $_SESSION['challenge_arr'];\r\n-      }\r\n-\r\n-      $xml = simplexml_load_file($target.$name.\".xml\");\r\n-\r\n-\t    if ( !isset($xml->title) || !isset($xml->author)|| !isset($xml->description)|| !isset($xml->category) ){\r\n-        $this->addErrorMessage(\"The XML file is not valid.\");\r\n-        self::rrmdir(HACKADEMIC_PATH.\"challenges/\".$name);\r\n-        return false;\r\n-      }\r\n-\r\n-      $a = array(\r\n-        'title' => Utils::sanitizeInput($xml->title),\r\n-        'author' => Utils::sanitizeInput($xml->author),\r\n-        'description' => $xml->description,//Todo make sure its only html here and no javascript or other possibly malicious stuff\r\n-        'category' => Utils::sanitizeInput($xml->category),\r\n-        'level' => Utils::sanitizeInput($xml->level),\r\n-        'duration' => Utils::sanitizeInput($xml->duration)\r\n-      );\r\n-      return $a;\r\n-    } else {\r\n-      $this->addErrorMessage(\"There was a problem. Please try again!\");\r\n-      return false;\r\n-\t  }\r\n-  }\r\n-\r\n-  public function go() {\r\n-    $this->setViewTemplate('addchallenge.tpl');\r\n-    $this->cache_values();\r\n-    if(isset($_GET['type']) && $_GET['type'] == \"code\") {\r\n-      $add_type = \"code\";\r\n-    } else {\r\n-      $add_type = \"challenge\";\r\n-    }\r\n-\r\n-    if (isset($_POST['continue'])) {\r\n-      $this->cache_values();\r\n-      if ($_POST['title']=='') {\r\n-        $e_msg = \"Title of the challenge should not be empty\";\r\n-        $error = true;\r\n-      } elseif ($_POST['description']=='') {\r\n-        $e_msg = \"Description should not be empty\";\r\n-        $error = true;\r\n-      } elseif ($_POST['authors']=='') {\r\n-        $e_msg = \"Authors field should not be empty\";\r\n-        $error = true;\r\n-      } elseif ($_POST['category']=='') {\r\n-        $e_msg = \"Category field should not be empty\";\r\n-        $error = true;\r\n-      } elseif ($_POST['level']=='') {\r\n-        $e_msg = \"Level field should not be empty\";\r\n-        $error = true;\r\n-      } elseif ($_POST['duration']=='') {\r\n-        $e_msg = \"Duration field should not be empty\";\r\n-        $error = true;\r\n-      } else {\r\n-        $array = array (\r\n-            'title' => Utils::sanitizeInput($_POST['title']),\r\n-            'description' => $_POST['description'],\r\n-            'authors' => Utils::sanitizeInput($_POST['authors']),\r\n-            'category' => Utils::sanitizeInput($_POST['category']),\r\n-            'level' => Utils::sanitizeInput($_POST['level']),\r\n-            'duration' => Utils::sanitizeInput($_POST['duration'])\r\n-        );\r\n-        $_SESSION['challenge_arr'] = $array;\r\n-        $this->addSuccessMessage(\"Now Please upload the challenge code\");\r\n-        $this->addToView('step', 'step2');\r\n-      }\r\n-\r\n-      $new_msg = $e_msg;\r\n-      if($error) {\r\n-        if(defined('EXAMPLE_CHALLENGE') && EXAMPLE_CHALLENGE != \"\") {\r\n-          $path = SOURCE_ROOT_PATH.EXAMPLE_CHALLENGE;\r\n-          $new_msg = \"<em>\".$e_msg.\"</em> <p>For an example on how to build challenges please consult <a href=\\\" \".$path.\"\\\">The Example Challenge</a></p>\";\r\n-        }\r\n-      }\r\n-      $this->addErrorMessage($new_msg);\r\n-    }\r\n-\r\n-    if(isset($_FILES['fupload'])) {\r\n-      $filename = $_FILES['fupload']['name'];\r\n-      $source = $_FILES['fupload']['tmp_name'];\r\n-      $type = $_FILES['fupload']['type'];\r\n-      $name = explode('.', $filename);\r\n-      $target = HACKADEMIC_PATH.\"challenges/\". $name[0] . '/';\r\n-\r\n-      if(!isset($name[1])) {\r\n-        $this->addErrorMessage(\"Please select a file\");\r\n-        return $this->generateView(self::$action_type);\r\n-      }\r\n-\r\n-      if(isset($name[0])) {\r\n-        $challenge = ChallengeBackend::doesChallengeExist($name[0]);\r\n-        if($challenge==true) {\r\n-          if(isset($_SESSION['challenge_arr'])) {\r\n-            $this->addToView('step', 'step2');\r\n-          } else {\r\n-            $this->addToView('type', $add_type);\r\n-          }\r\n-          $this->addErrorMessage(\"This file already exists!!\");\r\n-          return $this->generateView(self::$action_type);\r\n-        }\r\n-      }\r\n-\r\n-      $okay = strtolower($name[1]) == 'zip' ? true : false;\r\n-\r\n-      if(!$okay) {\r\n-        if(isset($_SESSION['challenge_arr'])) {\r\n-          $this->addToView('step', 'step2');\r\n-        } else {\r\n-          $this->addToView('type', $add_type);\r\n-        }\r\n-        $this->addErrorMessage(\"Please choose a zip file!\");\r\n-        return $this->generateView(self::$action_type);\r\n-      }\r\n-\r\n-      mkdir($target);\r\n-      $saved_file_location = $target . $filename;\r\n-\r\n-      if(move_uploaded_file($source, $target . $filename)) {\r\n-        $data = $this->installChallenge($saved_file_location, $target, $name[0]);\r\n-        if($data == true) {\r\n-          $pkg_name = $name[0];\r\n-          $challenge = new Challenge();\r\n-          $challenge->title = $data['title'];\r\n-          $challenge->pkg_name = $pkg_name;\r\n-          $challenge->description = $data['description'];\r\n-          $challenge->author = $data['author'];\r\n-          $challenge->category = $data['category'];\r\n-          $challenge->date_posted = date(\"Y-m-d H-i-s\");\r\n-          $challenge->level = $data['level'];\r\n-          $challenge->duration = $data['duration'];\r\n-          ChallengeBackend::addChallenge($challenge);\r\n-          header('Location: '.SOURCE_ROOT_PATH.\"?url=admin/challengemanager&action=add\");\r\n-\t  die();\r\n-        }\r\n-      }\r\n-    }\r\n-    $this->addToView('type', $add_type);\r\n-    return $this->generateView(self::$action_type);\r\n-  }\r\n-\r\n-\tpublic function cache_values() {\r\n-\t\tif(isset($_POST['title'])) {\r\n-      $this->title = Utils::sanitizeInput($_POST['title']);\r\n-    }\r\n-\t\tif(isset($_POST['description'])) {\r\n-      $this->description = $_POST['description'];\r\n-    }\r\n-\t\tif(isset($_POST['authors'])) {\r\n-      $this->authors = Utils::sanitizeInput($_POST['authors']);\r\n-    }\r\n-\t\tif(isset($_POST['category'])) {\r\n-      $this->category = Utils::sanitizeInput($_POST['category']);\r\n-    }\r\n-\t\tif(isset($_POST['level'])) {\r\n-      $this->level = Utils::sanitizeInput($_POST['level']);\r\n-    }\r\n-\t\tif(isset($_POST['duration'])) {\r\n-      $this->duration = Utils::sanitizeInput($_POST['duration']);\r\n-    }\r\n-\t\t$this->addToView('cached', $this);\r\n-\t}\r\n-\r\n-}\r\n+<?php\n+/**\n+ * Hackademic-CMS/admin/controller/class.AddChallengeController.php\n+ *\n+ * Hackademic Add Challenge Controller\n+ * Class for the Add Challenge page in Backend\n+ *\n+ * Copyright (c) 2012 OWASP\n+ *\n+ * LICENSE:\n+ *\n+ * This file is part of Hackademic CMS\n+ * (https://www.owasp.org/index.php/OWASP_Hackademic_Challenges_Project).\n+ *\n+ * Hackademic CMS is free software: you can redistribute it and/or modify it under\n+ * the terms of the GNU General Public License as published by the Free Software\n+ * Foundation, either version 2 of the License, or (at your option) any later\n+ * version.\n+ *\n+ * Hackademic CMS is distributed in the hope that it will be useful, but WITHOUT ANY\n+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A\n+ * PARTICULAR PURPOSE.  See the GNU General Public License for more\n+ * details.\n+ *\n+ * You should have received a copy of the GNU General Public License along with\n+ * Hackademic CMS.  If not, see <http://www.gnu.org/licenses/>.\n+ *\n+ * PHP Version 5\n+ *\n+ * @author    Pragya Gupta <pragya18nsit@gmail.com>\n+ * @author    Konstantinos Papapanagiotou <conpap@gmail.com>\n+ * @copyright 2012 OWASP\n+ * @license   GNU General Public License http://www.gnu.org/licenses/gpl.html\n+ */\n+require_once HACKADEMIC_PATH.\"admin/model/class.ChallengeBackend.php\";\n+require_once HACKADEMIC_PATH.\"admin/controller/class.HackademicBackendController.php\";\n+require_once HACKADEMIC_PATH.\"model/common/class.Utils.php\";\n+\n+/**\n+ * Class to handle necessary things associated with adding a challenge.\n+ */\n+class AddChallengeController extends HackademicBackendController\n+{\n+\n+    public $title;\n+    public $authors;\n+    public $category;\n+    public $level;\n+    public $duration;\n+    public $description;\n+\n+    private static $_action_type = 'add_challenge';\n+\n+    /**\n+     * Function to remove directory.\n+     * @param dir $dir Name of directory.\n+     * @return Nothing.\n+     */\n+    private static function _rrmdir($dir)\n+    {\n+        foreach (glob($dir . '/*') as $file) {\n+            if (is_dir($file)) {\n+                self::_rrmdir($file);\n+            } else {\n+                unlink($file);\n+            }\n+        }\n+        rmdir($dir);\n+    }\n+\n+    /**\n+     * Function to install the challenge.\n+     * @param filename $file_to_open Name of the File to be opened.\n+     * @param target   $target       Name of target file.\n+     * @param name     $name         Name.\n+     * @return Nothing.\n+     */\n+    public function installChallenge($file_to_open,$target,$name)\n+    {\n+        $zip = new ZipArchive();\n+        $x = $zip->open($file_to_open);\n+\n+        if ($x === true) {\n+            $zip->extractTo($target);\n+            $zip->close();\n+\n+            unlink($file_to_open);\n+            // deletes the zip file. We no longer need it.\n+\n+            if (isset($_GET['type']) && $_GET['type'] == \"code\") {\n+                $xml_exists = 1;\n+            } else {\n+                $xml_exists = file_exists($target.$name.\".xml\");\n+            }\n+\n+            if (!file_exists($target.\"index.php\") || !$xml_exists) {\n+                if (!file_exists($target.\"index.php\")) {\n+                    $this->addErrorMessage(\"Not a valid challenge! Index.php file doesn't exist\");\n+                    if (isset($_GET['type']) && $_GET['type'] == \"code\") {\n+                        $this->addToView('step', 'step2');\n+                    }\n+                } else {\n+                    if (!file_exists($target.$name.\".xml\") ) {\n+                        $this->addErrorMessage(\"Zip's filename must be the same with the xml file within <br /> (case-sensitive).\");\n+                    }\n+                }\n+                self::_rrmdir(HACKADEMIC_PATH.\"challenges/\".$name);\n+                return false;\n+            }\n+\n+\n+            if (isset($_GET['type']) && $_GET['type'] == \"code\") {\n+                return $_SESSION['challenge_arr'];\n+            }\n+\n+            $xml = simplexml_load_file($target.$name.\".xml\");\n+\n+            if (!isset($xml->title) || !isset($xml->author)|| !isset($xml->description)|| !isset($xml->category) ) {\n+                $this->addErrorMessage(\"The XML file is not valid.\");\n+                self::_rrmdir(HACKADEMIC_PATH.\"challenges/\".$name);\n+                return false;\n+            }\n+\n+            $a = array(\n+            'title' => Utils::sanitizeInput($xml->title),\n+            'author' => Utils::sanitizeInput($xml->author),\n+            //Todo make sure its only html here and no javascript or other possibly\n+            //malicious stuff\n+            'description' => $xml->description,\n+            'category' => Utils::sanitizeInput($xml->category),\n+            'level' => Utils::sanitizeInput($xml->level),\n+            'duration' => Utils::sanitizeInput($xml->duration)\n+            );\n+            return $a;\n+        } else {\n+            $this->addErrorMessage(\"There was a problem. Please try again!\");\n+            return false;\n+        }\n+    }\n+\n+    public function go()\n+    {\n+        $this->setViewTemplate('addchallenge.tpl');\n+        $this->cache_values();","path":"admin/controller/class.AddChallengeController.php","position":404,"original_position":404,"commit_id":"0a0c216e942a31f5d80815eafe21c417a7686430","original_commit_id":"0a0c216e942a31f5d80815eafe21c417a7686430","user":{"login":"pchaigno","id":1764210,"avatar_url":"https://avatars.githubusercontent.com/u/1764210?v=3","gravatar_id":"","url":"https://api.github.com/users/pchaigno","html_url":"https://github.com/pchaigno","followers_url":"https://api.github.com/users/pchaigno/followers","following_url":"https://api.github.com/users/pchaigno/following{/other_user}","gists_url":"https://api.github.com/users/pchaigno/gists{/gist_id}","starred_url":"https://api.github.com/users/pchaigno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pchaigno/subscriptions","organizations_url":"https://api.github.com/users/pchaigno/orgs","repos_url":"https://api.github.com/users/pchaigno/repos","events_url":"https://api.github.com/users/pchaigno/events{/privacy}","received_events_url":"https://api.github.com/users/pchaigno/received_events","type":"User","site_admin":false},"body":"It's `cacheValues` instead of `cache_values` ;)","created_at":"2015-08-08T14:05:56Z","updated_at":"2015-08-08T14:05:56Z","html_url":"https://github.com/Hackademic/hackademic/pull/171#discussion_r36578521","pull_request_url":"https://api.github.com/repos/Hackademic/hackademic/pulls/171","_links":{"self":{"href":"https://api.github.com/repos/Hackademic/hackademic/pulls/comments/36578521"},"html":{"href":"https://github.com/Hackademic/hackademic/pull/171#discussion_r36578521"},"pull_request":{"href":"https://api.github.com/repos/Hackademic/hackademic/pulls/171"}}},"pull_request":{"url":"https://api.github.com/repos/Hackademic/hackademic/pulls/171","id":41949942,"html_url":"https://github.com/Hackademic/hackademic/pull/171","diff_url":"https://github.com/Hackademic/hackademic/pull/171.diff","patch_url":"https://github.com/Hackademic/hackademic/pull/171.patch","issue_url":"https://api.github.com/repos/Hackademic/hackademic/issues/171","number":171,"state":"open","locked":false,"title":"Fix codesniffer errors and warnings","user":{"login":"tapasweni-pathak","id":4143778,"avatar_url":"https://avatars.githubusercontent.com/u/4143778?v=3","gravatar_id":"","url":"https://api.github.com/users/tapasweni-pathak","html_url":"https://github.com/tapasweni-pathak","followers_url":"https://api.github.com/users/tapasweni-pathak/followers","following_url":"https://api.github.com/users/tapasweni-pathak/following{/other_user}","gists_url":"https://api.github.com/users/tapasweni-pathak/gists{/gist_id}","starred_url":"https://api.github.com/users/tapasweni-pathak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tapasweni-pathak/subscriptions","organizations_url":"https://api.github.com/users/tapasweni-pathak/orgs","repos_url":"https://api.github.com/users/tapasweni-pathak/repos","events_url":"https://api.github.com/users/tapasweni-pathak/events{/privacy}","received_events_url":"https://api.github.com/users/tapasweni-pathak/received_events","type":"User","site_admin":false},"body":"* Fixed  model/ , controller/ and admin/model, admin/controller and some more.\r\n* <del>Still need to run phpcbf to fix line ending and tab to space issues in controller/, model/.</del>\r\n* Commits having phpcbf automatic fixes added.","created_at":"2015-08-08T07:02:38Z","updated_at":"2015-08-08T14:05:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":{"login":"pchaigno","id":1764210,"avatar_url":"https://avatars.githubusercontent.com/u/1764210?v=3","gravatar_id":"","url":"https://api.github.com/users/pchaigno","html_url":"https://github.com/pchaigno","followers_url":"https://api.github.com/users/pchaigno/followers","following_url":"https://api.github.com/users/pchaigno/following{/other_user}","gists_url":"https://api.github.com/users/pchaigno/gists{/gist_id}","starred_url":"https://api.github.com/users/pchaigno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pchaigno/subscriptions","organizations_url":"https://api.github.com/users/pchaigno/orgs","repos_url":"https://api.github.com/users/pchaigno/repos","events_url":"https://api.github.com/users/pchaigno/events{/privacy}","received_events_url":"https://api.github.com/users/pchaigno/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/Hackademic/hackademic/pulls/171/commits","review_comments_url":"https://api.github.com/repos/Hackademic/hackademic/pulls/171/comments","review_comment_url":"https://api.github.com/repos/Hackademic/hackademic/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Hackademic/hackademic/issues/171/comments","statuses_url":"https://api.github.com/repos/Hackademic/hackademic/statuses/0a0c216e942a31f5d80815eafe21c417a7686430","head":{"label":"tapasweni-pathak:fix_codesniffer_errors","ref":"fix_codesniffer_errors","sha":"0a0c216e942a31f5d80815eafe21c417a7686430","user":{"login":"tapasweni-pathak","id":4143778,"avatar_url":"https://avatars.githubusercontent.com/u/4143778?v=3","gravatar_id":"","url":"https://api.github.com/users/tapasweni-pathak","html_url":"https://github.com/tapasweni-pathak","followers_url":"https://api.github.com/users/tapasweni-pathak/followers","following_url":"https://api.github.com/users/tapasweni-pathak/following{/other_user}","gists_url":"https://api.github.com/users/tapasweni-pathak/gists{/gist_id}","starred_url":"https://api.github.com/users/tapasweni-pathak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tapasweni-pathak/subscriptions","organizations_url":"https://api.github.com/users/tapasweni-pathak/orgs","repos_url":"https://api.github.com/users/tapasweni-pathak/repos","events_url":"https://api.github.com/users/tapasweni-pathak/events{/privacy}","received_events_url":"https://api.github.com/users/tapasweni-pathak/received_events","type":"User","site_admin":false},"repo":{"id":37541333,"name":"hackademic","full_name":"tapasweni-pathak/hackademic","owner":{"login":"tapasweni-pathak","id":4143778,"avatar_url":"https://avatars.githubusercontent.com/u/4143778?v=3","gravatar_id":"","url":"https://api.github.com/users/tapasweni-pathak","html_url":"https://github.com/tapasweni-pathak","followers_url":"https://api.github.com/users/tapasweni-pathak/followers","following_url":"https://api.github.com/users/tapasweni-pathak/following{/other_user}","gists_url":"https://api.github.com/users/tapasweni-pathak/gists{/gist_id}","starred_url":"https://api.github.com/users/tapasweni-pathak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tapasweni-pathak/subscriptions","organizations_url":"https://api.github.com/users/tapasweni-pathak/orgs","repos_url":"https://api.github.com/users/tapasweni-pathak/repos","events_url":"https://api.github.com/users/tapasweni-pathak/events{/privacy}","received_events_url":"https://api.github.com/users/tapasweni-pathak/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tapasweni-pathak/hackademic","description":"the main hackademic code repository","fork":true,"url":"https://api.github.com/repos/tapasweni-pathak/hackademic","forks_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/forks","keys_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/teams","hooks_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/hooks","issue_events_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/issues/events{/number}","events_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/events","assignees_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/assignees{/user}","branches_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/branches{/branch}","tags_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/tags","blobs_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/git/refs{/sha}","trees_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/statuses/{sha}","languages_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/languages","stargazers_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/stargazers","contributors_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/contributors","subscribers_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/subscribers","subscription_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/subscription","commits_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/commits{/sha}","git_commits_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/git/commits{/sha}","comments_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/comments{/number}","issue_comment_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/issues/comments{/number}","contents_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/contents/{+path}","compare_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/merges","archive_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/downloads","issues_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/issues{/number}","pulls_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/pulls{/number}","milestones_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/milestones{/number}","notifications_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/labels{/name}","releases_url":"https://api.github.com/repos/tapasweni-pathak/hackademic/releases{/id}","created_at":"2015-06-16T16:13:10Z","updated_at":"2015-07-17T15:20:21Z","pushed_at":"2015-08-08T13:55:15Z","git_url":"git://github.com/tapasweni-pathak/hackademic.git","ssh_url":"git@github.com:tapasweni-pathak/hackademic.git","clone_url":"https://github.com/tapasweni-pathak/hackademic.git","svn_url":"https://github.com/tapasweni-pathak/hackademic","homepage":null,"size":39067,"stargazers_count":1,"watchers_count":1,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"next-dev"}},"base":{"label":"Hackademic:tapasweni_scs2015","ref":"tapasweni_scs2015","sha":"5d0aa4d577809201278d7c28639cff2d44695050","user":{"login":"Hackademic","id":2405896,"avatar_url":"https://avatars.githubusercontent.com/u/2405896?v=3","gravatar_id":"","url":"https://api.github.com/users/Hackademic","html_url":"https://github.com/Hackademic","followers_url":"https://api.github.com/users/Hackademic/followers","following_url":"https://api.github.com/users/Hackademic/following{/other_user}","gists_url":"https://api.github.com/users/Hackademic/gists{/gist_id}","starred_url":"https://api.github.com/users/Hackademic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hackademic/subscriptions","organizations_url":"https://api.github.com/users/Hackademic/orgs","repos_url":"https://api.github.com/users/Hackademic/repos","events_url":"https://api.github.com/users/Hackademic/events{/privacy}","received_events_url":"https://api.github.com/users/Hackademic/received_events","type":"User","site_admin":false},"repo":{"id":5924647,"name":"hackademic","full_name":"Hackademic/hackademic","owner":{"login":"Hackademic","id":2405896,"avatar_url":"https://avatars.githubusercontent.com/u/2405896?v=3","gravatar_id":"","url":"https://api.github.com/users/Hackademic","html_url":"https://github.com/Hackademic","followers_url":"https://api.github.com/users/Hackademic/followers","following_url":"https://api.github.com/users/Hackademic/following{/other_user}","gists_url":"https://api.github.com/users/Hackademic/gists{/gist_id}","starred_url":"https://api.github.com/users/Hackademic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hackademic/subscriptions","organizations_url":"https://api.github.com/users/Hackademic/orgs","repos_url":"https://api.github.com/users/Hackademic/repos","events_url":"https://api.github.com/users/Hackademic/events{/privacy}","received_events_url":"https://api.github.com/users/Hackademic/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Hackademic/hackademic","description":"the main hackademic code repository","fork":false,"url":"https://api.github.com/repos/Hackademic/hackademic","forks_url":"https://api.github.com/repos/Hackademic/hackademic/forks","keys_url":"https://api.github.com/repos/Hackademic/hackademic/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Hackademic/hackademic/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Hackademic/hackademic/teams","hooks_url":"https://api.github.com/repos/Hackademic/hackademic/hooks","issue_events_url":"https://api.github.com/repos/Hackademic/hackademic/issues/events{/number}","events_url":"https://api.github.com/repos/Hackademic/hackademic/events","assignees_url":"https://api.github.com/repos/Hackademic/hackademic/assignees{/user}","branches_url":"https://api.github.com/repos/Hackademic/hackademic/branches{/branch}","tags_url":"https://api.github.com/repos/Hackademic/hackademic/tags","blobs_url":"https://api.github.com/repos/Hackademic/hackademic/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Hackademic/hackademic/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Hackademic/hackademic/git/refs{/sha}","trees_url":"https://api.github.com/repos/Hackademic/hackademic/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Hackademic/hackademic/statuses/{sha}","languages_url":"https://api.github.com/repos/Hackademic/hackademic/languages","stargazers_url":"https://api.github.com/repos/Hackademic/hackademic/stargazers","contributors_url":"https://api.github.com/repos/Hackademic/hackademic/contributors","subscribers_url":"https://api.github.com/repos/Hackademic/hackademic/subscribers","subscription_url":"https://api.github.com/repos/Hackademic/hackademic/subscription","commits_url":"https://api.github.com/repos/Hackademic/hackademic/commits{/sha}","git_commits_url":"https://api.github.com/repos/Hackademic/hackademic/git/commits{/sha}","comments_url":"https://api.github.com/repos/Hackademic/hackademic/comments{/number}","issue_comment_url":"https://api.github.com/repos/Hackademic/hackademic/issues/comments{/number}","contents_url":"https://api.github.com/repos/Hackademic/hackademic/contents/{+path}","compare_url":"https://api.github.com/repos/Hackademic/hackademic/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Hackademic/hackademic/merges","archive_url":"https://api.github.com/repos/Hackademic/hackademic/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Hackademic/hackademic/downloads","issues_url":"https://api.github.com/repos/Hackademic/hackademic/issues{/number}","pulls_url":"https://api.github.com/repos/Hackademic/hackademic/pulls{/number}","milestones_url":"https://api.github.com/repos/Hackademic/hackademic/milestones{/number}","notifications_url":"https://api.github.com/repos/Hackademic/hackademic/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Hackademic/hackademic/labels{/name}","releases_url":"https://api.github.com/repos/Hackademic/hackademic/releases{/id}","created_at":"2012-09-23T18:07:17Z","updated_at":"2015-08-03T21:54:31Z","pushed_at":"2015-08-08T13:55:16Z","git_url":"git://github.com/Hackademic/hackademic.git","ssh_url":"git@github.com:Hackademic/hackademic.git","clone_url":"https://github.com/Hackademic/hackademic.git","svn_url":"https://github.com/Hackademic/hackademic","homepage":null,"size":101134,"stargazers_count":53,"watchers_count":53,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":45,"mirror_url":null,"open_issues_count":32,"forks":45,"open_issues":32,"watchers":53,"default_branch":"next"}},"_links":{"self":{"href":"https://api.github.com/repos/Hackademic/hackademic/pulls/171"},"html":{"href":"https://github.com/Hackademic/hackademic/pull/171"},"issue":{"href":"https://api.github.com/repos/Hackademic/hackademic/issues/171"},"comments":{"href":"https://api.github.com/repos/Hackademic/hackademic/issues/171/comments"},"review_comments":{"href":"https://api.github.com/repos/Hackademic/hackademic/pulls/171/comments"},"review_comment":{"href":"https://api.github.com/repos/Hackademic/hackademic/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Hackademic/hackademic/pulls/171/commits"},"statuses":{"href":"https://api.github.com/repos/Hackademic/hackademic/statuses/0a0c216e942a31f5d80815eafe21c417a7686430"}}}}