Ejemplo n.º 1
0
 private function displayCodeEditor($pid = false)
 {
     $categoryList = (new CategoryController())->getCategoryList();
     $languageList = (new LanguageController())->getLanguageList();
     $showInvisibles = UserPreferencesController::get(PreferenceKeys::CODE_EDITOR_SHOW_INVISIBLE);
     $this->smarty->assign("CATEGORY_LIST", $categoryList);
     $this->smarty->assign("LANGUAGE_LIST", $languageList);
     $this->smarty->assign("LEVEL_LIST", array('Easy', 'Average', 'Difficult'));
     $this->smarty->assign("EDIT_ACTION_NAME", EditorController::EDIT_ACTION_NAME);
     $this->smarty->assign("EDIT_ACTION_VALUE", EditorController::EDIT_ACTION_VALUE);
     $this->smarty->assign("EDITOR_THEME", Utils::getCodeEditorTheme());
     $this->smarty->assign("EDITOR_MODE", Utils::getCodeEditorMode());
     $this->smarty->assign("SHOW_INVISIBLES", $showInvisibles);
     if (!empty($pid)) {
         $programController = new ProgramDetailsController();
         $programInfo = $programController->getProgramListById($pid);
         $storedFileName = $programInfo[ProgramDetails_DBTable::STORED_FILE_NAME];
         $category = $programInfo[ProgramDetails_DBTable::FK_CATEGORY_ID];
         $language = $programInfo[ProgramDetails_DBTable::FK_LANGUAGE_ID];
         $srcFile = Configuration::get(Configuration::CODE_BASE_DIR) . $language . '/' . $category . '/' . $storedFileName;
         $srcCode = @file_get_contents($srcFile);
         $this->smarty->assign("SELECTED_CATEGORY", $programInfo[ProgramDetails_DBTable::FK_CATEGORY_ID]);
         $this->smarty->assign("SELECTED_LANGUAGE", $programInfo[ProgramDetails_DBTable::FK_LANGUAGE_ID]);
         $this->smarty->assign("SELECTED_LEVEL", $programInfo[ProgramDetails_DBTable::LEVEL]);
         $this->smarty->assign("SELECTED_TITLE", $programInfo[ProgramDetails_DBTable::TITLE]);
         $this->smarty->assign("SELECTED_FILENAME", $programInfo[ProgramDetails_DBTable::ACTUAL_FILE_NAME]);
         $this->smarty->assign("SELECTED_DESCRIPTION", $programInfo[ProgramDetails_DBTable::DESCRIPTION]);
         $this->smarty->assign("SELECTED_VERIFIED", $programInfo[ProgramDetails_DBTable::IS_VERIFIED]);
         $this->smarty->assign("SELECTED_SOURCE_CODE", htmlentities($srcCode));
         $this->smarty->assign("IS_UPDATE_REQ", EditorController::IS_UPDATE_VALUE);
         $this->smarty->assign("PROGRAM_CURRENT_ID", $programInfo[ProgramDetails_DBTable::PROGRAM_ID]);
     }
     $this->render($this->currModule);
 }
Ejemplo n.º 2
0
 public function updateCode($formParams)
 {
     $controller = new EditorController();
     $loggedInUser = Session::get(Session::SESS_USER_DETAILS);
     $storedFileName = Utils::getStoredFileName($formParams[ProgramDetails_DBTable::ACTUAL_FILE_NAME]);
     $lang = $formParams[ProgramDetails_DBTable::FK_LANGUAGE_ID];
     $cate = $formParams[ProgramDetails_DBTable::FK_CATEGORY_ID];
     $fileDir = Configuration::get(Configuration::CODE_BASE_DIR) . $lang . "/" . $cate;
     $fileContents = base64_decode($formParams['editorContents']);
     $currentDatetime = Utils::getCurrentDatetime();
     $pid = $formParams['programid'];
     $programController = new ProgramDetailsController();
     $prevProgramInfo = $programController->getProgramListById($pid);
     $fileToUnlink = Configuration::get(Configuration::CODE_BASE_DIR) . $prevProgramInfo[ProgramDetails_DBTable::FK_LANGUAGE_ID] . "/" . $prevProgramInfo[ProgramDetails_DBTable::FK_CATEGORY_ID] . "/" . $prevProgramInfo[ProgramDetails_DBTable::STORED_FILE_NAME];
     unlink($fileToUnlink);
     if ($controller->saveFileOnDisk($fileDir, $storedFileName, $fileContents)) {
         $attribs = array($formParams[ProgramDetails_DBTable::TITLE], $formParams[ProgramDetails_DBTable::FK_LANGUAGE_ID], $formParams[ProgramDetails_DBTable::FK_CATEGORY_ID], $formParams[ProgramDetails_DBTable::ACTUAL_FILE_NAME], $storedFileName, $formParams[ProgramDetails_DBTable::LEVEL], $formParams[ProgramDetails_DBTable::DESCRIPTION], $formParams[ProgramDetails_DBTable::IS_VERIFIED], $currentDatetime, $loggedInUser[Users_DBTable::USER_ID], 0);
         $query = "UPDATE " . ProgramDetails_DBTable::DB_TABLE_NAME . " SET ";
         $query .= ProgramDetails_DBTable::TITLE . "=?,";
         $query .= ProgramDetails_DBTable::FK_LANGUAGE_ID . "=?,";
         $query .= ProgramDetails_DBTable::FK_CATEGORY_ID . "=?,";
         $query .= ProgramDetails_DBTable::ACTUAL_FILE_NAME . "=?,";
         $query .= ProgramDetails_DBTable::STORED_FILE_NAME . "=?,";
         $query .= ProgramDetails_DBTable::LEVEL . "=?,";
         $query .= ProgramDetails_DBTable::DESCRIPTION . "=?,";
         $query .= ProgramDetails_DBTable::IS_VERIFIED . "=?,";
         $query .= ProgramDetails_DBTable::UPDATED_ON . "=?,";
         $query .= ProgramDetails_DBTable::FK_CREATED_BY . "=?,";
         $query .= ProgramDetails_DBTable::IS_DELETED . "=? ";
         $query .= "WHERE " . ProgramDetails_DBTable::PROGRAM_ID . "='" . $pid . "'";
         if (DBManager::executeQuery($query, $attribs, false)) {
             $detailArray = array('isUpdate' => EditorController::IS_UPDATE_VALUE, 'programId' => $pid);
             echo Response::sendResponse(Constants::SUCCESS_RESPONSE, Messages::SUCCESS_CODE_UPDATED, $detailArray);
         } else {
             echo Response::sendResponse(Constants::FAILURE_RESPONSE, Messages::ERROR_CODE_UPDATION_FAILED);
         }
     } else {
         echo Response::sendResponse(Constants::FAILURE_RESPONSE, Messages::ERROR_CODE_UPDATION_FAILED);
     }
     exit;
 }
Ejemplo n.º 3
0
 /**
  * Delete program from system for given PID
  * 
  * @param int $pid
  */
 private function deleteSource($pid)
 {
     $isDeleted = false;
     $programController = new ProgramDetailsController();
     if ($programController->deleteProgram($pid)) {
         Response::sendResponse(Constants::SUCCESS_RESPONSE, Messages::SUCCESS_FILE_DELETION);
         $isDeleted = true;
     } else {
         Response::sendResponse(Constants::SUCCESS_RESPONSE, Messages::ERROR_FILE_DELETION);
     }
 }