예제 #1
0
 /**
  * REST actions
  *
  * This function contains the REST actions with the assignments to
  * the functions.
  */
 public function __construct()
 {
     // runs the CConfig
     $com = new CConfig(DBSetting::getPrefix() . ',course,link', dirname(__FILE__));
     // runs the DBSetting
     if ($com->used()) {
         return;
     }
     $this->_conf = $com;
     // initialize slim
     $this->_app = new \Slim\Slim(array('debug' => true));
     $this->_app->response->headers->set('Content-Type', 'application/json');
     // POST AddCourse
     $this->_app->post('(/:pre)/course', array($this, 'addCourse'));
     // POST DeleteCourse
     $this->_app->delete('(/:pre)/course/:courseid', array($this, 'deleteCourse'));
     // PUT EditSetting
     $this->_app->put('(/:pre)/' . $this->getPrefix() . '/setting/:setid', array($this, 'editSetting'));
     // DELETE DeleteSetting
     $this->_app->delete('(/:pre)/' . $this->getPrefix() . '/setting/:setid', array($this, 'deleteSetting'));
     // POST AddSetting
     $this->_app->post('(/:pre)/' . $this->getPrefix() . '/course/:courseid', array($this, 'addSetting'));
     // GET GetExistsCourseSettings
     $this->_app->get('(/:pre)/link/exists/course/:courseid', array($this, 'getExistsCourseSettings'));
     // GET GetCourseSettings
     $this->_app->get('(/:pre)/' . $this->getPrefix() . '/course/:courseid', array($this, 'getCourseSettings'));
     // GET GetSetting
     $this->_app->get('(/:pre)/' . $this->getPrefix() . '/setting/:setid', array($this, 'getSetting'));
     // GET GetSettingByName
     $this->_app->get('(/:pre)/' . $this->getPrefix() . '/course/:courseid/name/:setname', array($this, 'getSettingByName'));
     // run Slim
     $this->_app->run();
 }
예제 #2
0
 /**
  * REST actions
  *
  * This function contains the REST actions with the assignments to
  * the functions.
  */
 public function __construct()
 {
     // runs the CConfig
     $com = new CConfig(LExtension::getPrefix() . ',course', dirname(__FILE__));
     // runs the LExtension
     if ($com->used()) {
         return;
     }
     $conf = $com->loadConfig();
     // initialize slim
     $this->app = new \Slim\Slim(array('debug' => true));
     $this->app->response->headers->set('Content-Type', 'application/json');
     // initialize component
     $this->_conf = $conf;
     $this->_extension = CConfig::getLinks($conf->getLinks(), "extension");
     //POST AddCourseExtension
     $this->app->post('/link/course/:courseid/extension/:name', array($this, 'addCourseExtension'));
     //DELETE DeleteCourseExtension
     $this->app->delete('/link/course/:courseid/extension/:name', array($this, 'deleteCourseExtension'));
     //DELETE DeleteCourse
     $this->app->delete('/course/:courseid/', array($this, 'deleteCourse'));
     //GET GetExtensionInstalled
     $this->app->get('/link/exists/course/:courseid/extension/:name', array($this, 'getExtensionInstalled'));
     //GET GetInstalledExtensions
     $this->app->get('/link/course/:courseid/extension', array($this, 'getInstalledExtensions'));
     //GET GetExtensions
     $this->app->get('/link/extension(/)', array($this, 'getExtensions'));
     //GET GetExtensionExists
     $this->app->get('/link/exists/extension/:name', array($this, 'getExtensionExists'));
     //GET GetExtension
     $this->app->get('/link/extension/:name', array($this, 'getExtension'));
     //run Slim
     $this->app->run();
 }
예제 #3
0
 /**
  * REST actions
  *
  * This function contains the REST actions with the assignments to
  * the functions.
  */
 public function __construct()
 {
     // runs the CConfig
     $com = new CConfig(DBAttachment2::getPrefix() . ',course,link', dirname(__FILE__));
     // runs the DBAttachment2
     if ($com->used()) {
         return;
     }
     $this->_conf = $com;
     // initialize slim
     $this->_app = new \Slim\Slim(array('debug' => true));
     $this->_app->response->headers->set('Content-Type', 'application/json');
     // POST AddCourse
     $this->_app->post('(/:pre)/course(/)', array($this, 'addCourse'));
     // POST DeleteCourse
     $this->_app->delete('(/:pre)/course/:courseid(/)', array($this, 'deleteCourse'));
     // PUT EditAttachment
     $this->_app->put('(/:pre)/' . $this->getPrefix() . '(/attachment)/:aid(/)', array($this, 'editAttachment'));
     // DELETE DeleteAttachment
     $this->_app->delete('(/:pre)/' . $this->getPrefix() . '(/attachment)/:aid(/)', array($this, 'deleteAttachment'));
     // POST AddAttachment
     $this->_app->post('(/:pre)/' . $this->getPrefix(), array($this, 'addAttachment'));
     // GET GetExistsCourseAttachments
     $this->_app->get('(/:pre)/link/exists/course/:courseid(/)', array($this, 'getExistsCourseAttachments'));
     // GET GetAttachment
     $this->_app->get('(/:pre)/' . $this->getPrefix() . '(/attachment)/:aid(/)', array($this, 'getAttachment'));
     // GET GetExerciseAttachments
     $this->_app->get('(/:pre)/' . $this->getPrefix() . '/exercise/:eid(/)', array($this, 'getExerciseAttachments'));
     // GET GetSheetAttachments
     $this->_app->get('(/:pre)/' . $this->getPrefix() . '/exercisesheet/:esid(/)', array($this, 'getSheetAttachments'));
     // GET GetCourseAttachments
     $this->_app->get('(/:pre)/' . $this->getPrefix() . '/course/:courseid(/)', array($this, 'getCourseAttachments'));
     // run Slim
     $this->_app->run();
 }
예제 #4
0
 /**
  * REST actions
  *
  * This function contains the REST actions with the assignments to
  * the functions.
  */
 public function __construct()
 {
     // runs the CConfig
     $com = new CConfig(LFormProcessor::getPrefix() . ',course,link', dirname(__FILE__));
     // runs the LFormProcessor
     if ($com->used()) {
         return;
     }
     $conf = $com->loadConfig();
     // initialize slim
     $this->app = new \Slim\Slim(array('debug' => true));
     $this->app->response->headers->set('Content-Type', 'application/json');
     // initialize component
     $this->_conf = $conf;
     $this->_formDb = CConfig::getLinks($conf->getLinks(), "formDb");
     $this->_pdf = CConfig::getLinks($conf->getLinks(), "pdf");
     $this->_postProcess = CConfig::getLinks($conf->getLinks(), "postProcess");
     $this->_deleteProcess = CConfig::getLinks($conf->getLinks(), "deleteProcess");
     $this->_getProcess = CConfig::getLinks($conf->getLinks(), "getProcess");
     // POST PostProcess
     $this->app->map('/' . $this->getPrefix() . '(/)', array($this, 'postProcess'))->via('POST');
     // POST AddCourse
     $this->app->post('/course(/)', array($this, 'addCourse'));
     // POST DeleteCourse
     $this->app->delete('/course/:courseid(/)', array($this, 'deleteCourse'));
     // GET GetExistsCourse
     $this->app->get('/link/exists/course/:courseid(/)', array($this, 'getExistsCourse'));
     // run Slim
     $this->app->run();
 }
예제 #5
0
 /**
  * REST actions
  *
  * This function contains the REST actions with the assignments to
  * the functions.
  *
  * @param Component $conf component data
  */
 public function __construct()
 {
     // runs the CConfig
     $com = new CConfig(LCourse::getPrefix(), dirname(__FILE__));
     // runs the LCourse
     if ($com->used()) {
         return;
     }
     $conf = $com->loadConfig();
     // initialize slim
     $this->app = new \Slim\Slim(array('debug' => true));
     $this->app->response->headers->set('Content-Type', 'application/json');
     // initialize component
     $this->_conf = $conf;
     $this->query = CConfig::getLink($conf->getLinks(), "controller");
     $this->_deleteCourse = CConfig::getLinks($conf->getLinks(), "deleteCourse");
     $this->_postCourse = CConfig::getLinks($conf->getLinks(), "postCourse");
     // initialize lURL
     $this->lURL = $this->query->getAddress();
     //POST AddCourse
     $this->app->post('/' . $this->getPrefix() . '(/)', array($this, 'AddCourse'));
     //PUT EditCourse
     $this->app->put('/' . $this->getPrefix() . '/course/:courseid(/)', array($this, 'editCourse'));
     //DELETE DeleteCourse
     $this->app->delete('/' . $this->getPrefix() . '/course/:courseid(/)', array($this, 'deleteCourse'));
     //POST AddCourseMember
     $this->app->post('/' . $this->getPrefix() . '/course/:courseid/user/:userid/status/:status(/)', array($this, 'addCourseMember'));
     //GET GetCourseMember
     $this->app->get('/' . $this->getPrefix() . '/course/:courseid/user(/)', array($this, 'getCourseMember'));
     //GET GetCourses
     $this->app->get('/' . $this->getPrefix() . '/user/:userid(/)', array($this, 'getCourses'));
     //run Slim
     $this->app->run();
 }
예제 #6
0
 /**
  * REST actions
  *
  * This function contains the REST actions with the assignments to
  * the functions.
  */
 public function __construct()
 {
     // runs the CConfig
     $com = new CConfig(LProcessor::getPrefix() . ',submission,course,link', dirname(__FILE__));
     // runs the LProcessor
     if ($com->used()) {
         return;
     }
     $conf = $com->loadConfig();
     // initialize slim
     $this->app = new \Slim\Slim();
     $this->app->response->headers->set('Content-Type', 'application/json');
     // initialize component
     $this->_conf = $conf;
     $this->_submission = CConfig::getLinks($conf->getLinks(), "submission");
     $this->_marking = CConfig::getLinks($conf->getLinks(), "marking");
     $this->_processorDb = CConfig::getLinks($conf->getLinks(), "processorDb");
     $this->_attachment = CConfig::getLinks($conf->getLinks(), "attachment");
     $this->_workFiles = CConfig::getLinks($conf->getLinks(), "workFiles");
     $this->_file = CConfig::getLinks($conf->getLinks(), "file");
     $this->_createCourse = CConfig::getLinks($conf->getLinks(), "postCourse");
     $this->_getExerciseExerciseFileType = CConfig::getLinks($conf->getLinks(), "getExerciseExerciseFileType");
     // POST PostSubmission
     $this->app->map('/submission(/)', array($this, 'postSubmission'))->via('POST');
     // POST AddProcess
     $this->app->map('/' . $this->getPrefix() . '(/)', array($this, 'addProcess'))->via('POST');
     // POST AddCourse
     $this->app->post('/course(/)', array($this, 'addCourse'));
     // POST DeleteCourse
     $this->app->delete('/course/:courseid(/)', array($this, 'deleteCourse'));
     // GET GetExistsCourse
     $this->app->get('/link/exists/course/:courseid(/)', array($this, 'getExistsCourse'));
     // run Slim
     $this->app->run();
 }
예제 #7
0
 /**
  * the component constructor
  */
 public function __construct()
 {
     // runs the CConfig
     $com = new CConfig(CControl::getPrefix() . ',link,definition', dirname(__FILE__));
     // runs the DBSubmission
     if ($com->used()) {
         return;
     }
     // initialize slim
     $this->_app = new \Slim\Slim();
     $this->_app->response->headers->set('Content-Type', 'application/json');
     // POST AddPlatform
     $this->_app->post('/platform', array($this, 'addPlatform'));
     // DELETE DeletePlatform
     $this->_app->delete('/platform', array($this, 'deletePlatform'));
     // GET GetExistsPlatform
     $this->_app->get('/link/exists/platform', array($this, 'getExistsPlatform'));
     // GET GetTableReferences
     $this->_app->get('/tableReferences', array($this, 'getTableReferences'));
     // PUT EditLink
     $this->_app->put('/link/:linkid(/)', array($this, 'editLink'));
     // DELETE DeleteLink
     $this->_app->delete('/link/:linkid(/)', array($this, 'deleteLink'));
     // POST SetLink
     $this->_app->post('/link(/)', array($this, 'setLink'));
     // GET GetLink
     $this->_app->get('/link/:linkid(/)', array($this, 'getLink'));
     // PUT EditComponent
     $this->_app->put('/component/:componentid(/)', array($this, 'editComponent'));
     // DELETE DeleteComponent
     $this->_app->delete('/component/:componentid(/)', array($this, 'deleteComponent'));
     // POST SetComponent
     $this->_app->post('/component(/)', array($this, 'setComponent'));
     // GET GetComponent
     $this->_app->get('/component/:componentid(/)', array($this, 'getComponent'));
     // GET GetComponentDefinitions
     $this->_app->get('/definition(/)', array($this, 'getComponentDefinitions'));
     // GET SendComponentDefinitions
     $this->_app->get('(/definition)/send(/)', array($this, 'sendComponentDefinitions'));
     // GET GetComponentDefinition
     $this->_app->get('/definition/:componentid(/)', array($this, 'getComponentDefinition'));
     // run Slim
     $this->_app->run();
 }
예제 #8
0
 /**
  * REST actions
  *
  * This function contains the REST actions with the assignments to
  * the functions.
  */
 public function __construct()
 {
     // runs the CConfig
     $com = new CConfig('transaction,course,link', dirname(__FILE__));
     // runs the DBTransaction
     if ($com->used()) {
         return;
     }
     $this->_conf = $com;
     // initialize slim
     $this->_app = new \Slim\Slim(array('debug' => true));
     $this->_app->response->headers->set('Content-Type', 'application/json');
     // POST AddCourse
     $this->_app->post('(/:name)/course', array($this, 'addCourse'));
     // POST DeleteCourse
     $this->_app->delete('(/:name)/course/:courseid', array($this, 'deleteCourse'));
     // GET GetExistsCourseTransactions
     $this->_app->get('(/:name)/link/exists/course/:courseid', array($this, 'getExistsCourseTransactions'));
     // DELETE DeleteTransaction
     $this->_app->delete('(/:name)/transaction/authentication/:auid/transaction/:tid', array($this, 'deleteTransaction'));
     // DELETE DeleteTransactionShort
     $this->_app->delete('(/:name)/transaction/transaction/:tid', array($this, 'deleteTransactionShort'));
     // POST AddTransaction
     $this->_app->post('(/:name)/transaction/course/:courseid', array($this, 'addTransaction'));
     // POST AddSheetTransaction
     $this->_app->post('(/:name)/transaction/exercisesheet/:esid', array($this, 'addSheetTransaction'));
     // POST AddExerciseTransaction
     $this->_app->post('(/:name)/transaction/exercise/:eid', array($this, 'addExerciseTransaction'));
     // GET GetTransaction
     $this->_app->get('(/:name)/transaction/authentication/:auid/transaction/:tid', array($this, 'getTransaction'));
     // GET GetTransactionShort
     $this->_app->get('(/:name)/transaction/transaction/:tid', array($this, 'getTransactionShort'));
     // GET GetAmountOfExpiredTransactions
     $this->_app->get('(/:name)/clean/clean/course/:courseid', array($this, 'getAmountOfExpiredTransactions'));
     // DELETE CleanTransactions
     $this->_app->delete('(/:name)/clean/clean/course/:courseid', array($this, 'cleanTransactions'));
     // run Slim
     $this->_app->run();
 }
예제 #9
0
 /**
  * REST actions
  *
  * This function contains the REST actions with the assignments to
  * the functions.
  */
 public function __construct()
 {
     // runs the CConfig
     $com = new CConfig(DBForm::getPrefix() . ',course,link', dirname(__FILE__));
     // runs the DBForm
     if ($com->used()) {
         return;
     }
     $conf = $com->loadConfig();
     // initialize component
     $this->_conf = $conf;
     $this->query = array(CConfig::getLink($conf->getLinks(), 'out'));
     // initialize slim
     $this->_app = new \Slim\Slim();
     $this->_app->response->headers->set('Content-Type', 'application/json');
     // POST AddCourse
     $this->_app->post('/course(/)', array($this, 'addCourse'));
     // POST DeleteCourse
     $this->_app->delete('/course/:courseid(/)', array($this, 'deleteCourse'));
     // PUT EditForm
     $this->_app->put('/' . $this->getPrefix() . '(/form)/:formid(/)', array($this, 'editForm'));
     // DELETE DeleteForm
     $this->_app->delete('/' . $this->getPrefix() . '(/form)/:formid(/)', array($this, 'deleteForm'));
     // POST AddForm
     $this->_app->post('/' . $this->getPrefix() . '(/)', array($this, 'addForm'));
     // GET GetForm
     $this->_app->get('/' . $this->getPrefix() . '(/form)/:formid(/)', array($this, 'getForm'));
     // GET GetCourseForms
     $this->_app->get('/' . $this->getPrefix() . '/course/:courseid(/)', array($this, 'getCourseForms'));
     // GET GetExistsCourseForms
     $this->_app->get('/link/exists/course/:courseid(/)', array($this, 'getExistsCourseForms'));
     // GET GetSheetForms
     $this->_app->get('/' . $this->getPrefix() . '/exercisesheet/:esid(/)', array($this, 'getSheetForms'));
     // GET GetExerciseForms
     $this->_app->get('/' . $this->getPrefix() . '/exercise/:eid(/)', array($this, 'getExerciseForms'));
     // run Slim
     $this->_app->run();
 }
예제 #10
0
 /**
  * REST actions
  *
  * This function contains the REST actions with the assignments to
  * the functions.
  */
 public function __construct()
 {
     // runs the CConfig
     $com = new CConfig(DBChoice::getPrefix() . ',course,link', dirname(__FILE__));
     // runs the DBChoice
     if ($com->used()) {
         return;
     }
     // initialize component
     $this->_conf = $com;
     // initialize slim
     $this->_app = new \Slim\Slim(array('debug' => true));
     $this->_app->response->headers->set('Content-Type', 'application/json');
     // POST AddCourse
     $this->_app->post('(/:preChoice(/:preForm(/:preExercise)))/course', array($this, 'addCourse'));
     // DELETE DeleteCourse
     $this->_app->delete('(/:preChoice(/:preForm(/:preExercise)))/course(/course)/:courseid', array($this, 'deleteCourse'));
     // PUT EditChoice
     $this->_app->put('(/:preChoice(/:preForm(/:preExercise)))/' . $this->getPrefix() . '(/choice)/:choiceid(/)', array($this, 'editChoice'));
     // DELETE DeleteChoice
     $this->_app->delete('(/:preChoice(/:preForm(/:preExercise)))/' . $this->getPrefix() . '(/choice)/:choiceid(/)', array($this, 'deleteChoice'));
     // POST AddChoice
     $this->_app->post('(/:preChoice(/:preForm(/:preExercise)))/' . $this->getPrefix() . '(/)', array($this, 'addChoice'));
     // GET GetChoice
     $this->_app->get('(/:preChoice(/:preForm(/:preExercise)))/' . $this->getPrefix() . '(/choice)/:choiceid(/)', array($this, 'getChoice'));
     // GET GetCourseChoices
     $this->_app->get('(/:preChoice(/:preForm(/:preExercise)))/' . $this->getPrefix() . '/course/:courseid(/)', array($this, 'getCourseChoices'));
     // GET GetExistsCourseChoices
     $this->_app->get('(/:preChoice(/:preForm(/:preExercise)))/link/exists/course/:courseid(/)', array($this, 'getExistsCourseChoices'));
     // GET GetSheetChoices
     $this->_app->get('(/:preChoice(/:preForm(/:preExercise)))/' . $this->getPrefix() . '/exercisesheet/:esid(/)', array($this, 'getSheetChoices'));
     // GET GetExerciseChoices
     $this->_app->get('(/:preChoice(/:preForm(/:preExercise)))/' . $this->getPrefix() . '/exercise/:eid(/)', array($this, 'getExerciseChoices'));
     // GET GetFormChoices
     $this->_app->get('(/:preChoice(/:preForm(/:preExercise)))/' . $this->getPrefix() . '/form/:formid(/)', array($this, 'getFormChoices'));
     // run Slim
     $this->_app->run();
 }
예제 #11
0
 /**
  * REST actions
  *
  * This function contains the REST actions with the assignments to
  * the functions.
  *
  * @param Component $conf component data
  */
 public function __construct()
 {
     // runs the CConfig
     $com = new CConfig(DBAttachment::getPrefix(), dirname(__FILE__));
     // runs the DBAttachment
     if ($com->used()) {
         return;
     }
     $conf = $com->loadConfig();
     // initialize component
     $this->_conf = $conf;
     $this->query = array(CConfig::getLink($conf->getLinks(), 'out'));
     $this->query2 = array(CConfig::getLink($conf->getLinks(), 'out2'));
     // initialize slim
     $this->_app = new \Slim\Slim();
     $this->_app->response->setStatus(409);
     $this->_app->response->headers->set('Content-Type', 'application/json');
     // POST AddPlatform
     $this->_app->post('/platform', array($this, 'addPlatform'));
     // DELETE DeletePlatform
     $this->_app->delete('/platform', array($this, 'deletePlatform'));
     // GET GetExistsPlatform
     $this->_app->get('/link/exists/platform', array($this, 'getExistsPlatform'));
     // PUT EditAttachment
     $this->_app->put('/' . $this->getPrefix() . '(/attachment)/:aid(/)', array($this, 'editAttachment'));
     // DELETE DeleteAttachment
     $this->_app->delete('/' . $this->getPrefix() . '(/attachment)/:aid(/)', array($this, 'deleteAttachment'));
     // DELETE DeleteExerciseAttachments
     $this->_app->delete('/' . $this->getPrefix() . '/exercise/:eid(/)', array($this, 'deleteExerciseAttachment'));
     // DELETE DeleteExerciseFileAttachment
     $this->_app->delete('/' . $this->getPrefix() . '/exercise/:eid/file/:fileid(/)', array($this, 'deleteExerciseFileAttachment'));
     // POST AddAttachment
     $this->_app->post('/' . $this->getPrefix() . '(/)', array($this, 'addAttachment'));
     // GET GetAttachment
     $this->_app->get('/' . $this->getPrefix() . '(/attachment)/:aid(/)', array($this, 'getAttachment'));
     // GET GetAllAttachments
     $this->_app->get('/' . $this->getPrefix() . '(/attachment)(/)', array($this, 'getAllAttachments'));
     // GET GetExerciseAttachments
     $this->_app->get('/' . $this->getPrefix() . '/exercise/:eid(/)', array($this, 'getExerciseAttachments'));
     // GET GetSheetAttachments
     $this->_app->get('/' . $this->getPrefix() . '/exercisesheet/:esid(/)', array($this, 'getSheetAttachments'));
     // run Slim
     $this->_app->run();
 }
예제 #12
0
파일: LOOP.php 프로젝트: sawh/ostepu-system
 /**
  * REST actions
  *
  * This function contains the REST actions with the assignments to
  * the functions.
  */
 public function __construct()
 {
     // runs the CConfig
     $com = new CConfig(LOOP::getPrefix() . ',course,link', dirname(__FILE__));
     // runs the LOOP
     if ($com->used()) {
         return;
     }
     $conf = $com->loadConfig();
     // lädt die Daten der CConfig.json
     // initialize slim
     $this->app = new \Slim\Slim(array('debug' => true));
     $this->app->response->headers->set('Content-Type', 'application/json');
     // initialize component
     // hier werden die Verknüpfungen aus der CConfig.json ausgelesen (entsprechend ihrem Namen)
     $this->_conf = $conf;
     $this->_pdf = CConfig::getLinks($conf->getLinks(), "pdf");
     // wird nicht genutzt, theoretisch koennten hier PDFs erzeugt werden
     // für POST /course zum eintragen als Verarbeitung (wird dann in CreateSheet aufgelistet)
     $this->_postProcess = CConfig::getLinks($conf->getLinks(), "postProcess");
     $this->_deleteProcess = CConfig::getLinks($conf->getLinks(), "deleteProcess");
     // für DELETE /course/xyz
     $this->_getProcess = CConfig::getLinks($conf->getLinks(), "getProcess");
     // GET /link/exists/course/:courseid
     // POST PostProcess
     $this->app->map('/' . $this->getPrefix() . '(/)', array($this, 'postProcess'))->via('POST');
     // POST AddCourse
     // fügt die Komponente der Veranstaltung hinzu (Daten kommen im Anfragekörper)
     $this->app->post('/course(/)', array($this, 'addCourse'));
     // DELETE DeleteCourse
     // entfernt die Komponente aus der Veranstaltung
     $this->app->delete('/course/:courseid(/)', array($this, 'deleteCourse'));
     // GET GetExistsCourse
     // zum Prüfen, ob diese Kompoenten korrekt installiert wurde (existiert Tabelleneintrag, konf-Dateien etc.)
     $this->app->get('/link/exists/course/:courseid(/)', array($this, 'getExistsCourse'));
     // run Slim
     $this->app->run();
 }
예제 #13
0
<?php

require 'Slim/Slim.php';
$app = new Slim();
$app->get('/wines', 'getWines');
$app->get('/wines/:id', 'getWine');
$app->get('/wines/search/:query', 'findByName');
$app->post('/wines', 'addWine');
$app->put('/wines/:id', 'updateWine');
$app->delete('/wines/:id', 'deleteWine');
$app->run();
function getWines()
{
    $sql = "select * FROM wine ORDER BY name";
    try {
        $db = getConnection();
        $stmt = $db->query($sql);
        $wines = $stmt->fetchAll(PDO::FETCH_OBJ);
        $db = null;
        // echo '{"wine": ' . json_encode($wines) . '}';
        echo json_encode($wines);
    } catch (PDOException $e) {
        echo '{"error":{"text":' . $e->getMessage() . '}}';
    }
}
function getWine($id)
{
    $sql = "SELECT * FROM wine WHERE id=:id";
    try {
        $db = getConnection();
        $stmt = $db->prepare($sql);
예제 #14
0
<?php

require dirname(__FILE__) . '/../Slim/Slim.php';
$app = new Slim();
$app->get("/", "getStores");
$app->get("/:id", "getStore");
$app->get("/search/:query", "findByName");
$app->post("/", "addStore");
$app->put("/:id", "updateStore");
$app->delete("/:id", "deleteStore");
$app->run();
function getStores()
{
    $sql = "select * FROM store ORDER BY name";
    try {
        $db = getConnection();
        $stmt = $db->query($sql);
        $stores = $stmt->fetchAll(PDO::FETCH_OBJ);
        $db = null;
        // echo '{"wine": ' . json_encode($wines) . '}';
        echo json_encode($stores);
    } catch (PDOException $e) {
        echo '{"error":{"text":' . $e->getMessage() . '}}';
    }
}
function getStore($id)
{
    $sql = "SELECT * FROM store WHERE id=:id";
    try {
        $db = getConnection();
        $stmt = $db->prepare($sql);
예제 #15
0
파일: SlimTest.php 프로젝트: ntdt/Slim
 /**
  * Test Slim sets DELETE route
  *
  * Pre-conditions:
  * You have initialized a Slim app with a DELETE route.
  *
  * Post-conditions:
  * The DELETE route is returned and its pattern and
  * callable are set correctly.
  */
 public function testSlimDeleteRoute(){
     Slim::init();
     $callable = function () { echo "foo"; };
     $route = Slim::delete('/foo/bar', $callable);
     $this->assertEquals('/foo/bar', $route->getPattern());
     $this->assertSame($callable, $route->getCallable());
 }
예제 #16
0
파일: bootstrap.php 프로젝트: Jud/Slim
//Sample PUT route for PHP >=5.3
Slim::put('/put', function () {
    echo '<p>Here are the details about your PUT request:</p>';
    print_r(Slim::request());
});
//Sample PUT route for PHP <5.3
/*
Slim::put('/put', 'put_example');
function put_example() {
	echo '<br/><br/>Here are the details about your PUT request:<br/><br/>';
	print_r(Slim::request());
}
*/
//Sample DELETE route for PHP >=5.3
Slim::delete('/delete', function () {
    echo '<p>Here are the details about your DELETE request:</p>';
    print_r(Slim::request());
});
//Sample DELETE route for PHP <5.3
/*
Slim::delete('/delete', 'delete_example');
function delete_example() {
	echo '<br/><br/>Here are the details about your DELETE request:<br/><br/>';
	print_r(Slim::request());
}
*/
/*** NAMED ROUTES *****/
Slim::get('/hello/:name', function ($name) {
    echo "<p>Hello, {$name}!</p>";
    echo "<p>This route using name \"Bob\" instead of \"{$name}\" would be: " . Slim::urlFor('hello', array('name' => 'Bob')) . '</p>';
})->name('hello')->conditions(array('name' => '\\w+'));
/*** RUN SLIM ***/
        echo json_encode(array("status" => false, "message" => "Book ID {$id} does not exist"));
    }
});
$app->post("/book", function () use($app, $db) {
    $app->response()->header("Content-Type", "application/json");
    $book = $app->request()->post();
    $result = $db->books->insert($book);
    echo json_encode(array("id" => $result["id"]));
});
$app->put("/book/:id", function ($id) use($app, $db) {
    $app->response()->header("Content-Type", "application/json");
    $book = $db->books()->where("id", $id);
    if ($book->fetch()) {
        $post = $app->request()->put();
        $result = $book->update($post);
        echo json_encode(array("status" => (bool) $result, "message" => "Book updated successfully"));
    } else {
        echo json_encode(array("status" => false, "message" => "Book id {$id} does not exist"));
    }
});
$app->delete("/book/:id", function ($id) use($app, $db) {
    $app->response()->header("Content-Type", "application/json");
    $book = $db->books()->where("id", $id);
    if ($book->fetch()) {
        $result = $book->delete();
        echo json_encode(array("status" => true, "message" => "Book deleted successfully"));
    } else {
        echo json_encode(array("status" => false, "message" => "Book id {$id} does not exist"));
    }
});
$app->run();
예제 #18
0
    $controller = new HelpController();
    $controller->show();
});
$app->get('/search', function () {
    UserHelper::requireProfile();
    $controller = new SearchController();
    $controller->index();
});
$app->post('/inbox', function () {
    fAuthorization::requireLoggedIn();
    $controller = new MailController();
    $controller->create();
});
$app->delete('/inbox/:id', function ($id) {
    fAuthorization::requireLoggedIn();
    $controller = new MailController();
    $controller->delete($id);
});
$app->post('/msgs', function () {
    fAuthorization::requireLoggedIn();
    $controller = new MsgController();
    $controller->create();
});
$app->post('/search', function () {
    fAuthorization::requireLoggedIn();
    $controller = new SearchController();
    $controller->show();
});
$app->delete('/msgs/:id', function ($id) {
    fAuthorization::requireLoggedIn();
    $controller = new MsgController();
예제 #19
0
파일: index.php 프로젝트: ceroberoz/kurs
                <h2>Slim Framework Extras</h2>
                <p>
                    Custom View classes for Smarty, Twig, Mustache, and other template
                    frameworks are available online in a separate repository.
                </p>
                <p><a href="https://github.com/codeguy/Slim-Extras" target="_blank">Browse the Extras Repository</a></p>
            </section>
        </body>
    </html>
EOT;
    echo $template;
});
//POST route
$app->post('/post', function () {
    echo 'This is a POST route';
});
//PUT route
$app->put('/put', function () {
    echo 'This is a PUT route';
});
//DELETE route
$app->delete('/delete', function () {
    echo 'This is a DELETE route';
});
/**
 * Step 4: Run the Slim application
 *
 * This method should be called last. This is responsible for executing
 * the Slim application using the settings and routes defined above.
 */
$app->run();
예제 #20
0
파일: index.php 프로젝트: artemklv/shelfari
<?php

require "includes/index.php";
require_once "Slim/Slim.php";
$data = new Slim();
$data->get('/books/search', function () use($data) {
    $query = $data->request()->params('name');
    findByName($query);
});
$data->get('/books', 'getBooks');
$data->get('/books/:id', 'getBook');
//$data->get('/books/search:query', 'findByName');
$data->post('/books', 'addBook');
$data->put('/books/:id', 'updateBook');
$data->delete('/books/:id', 'deleteBook');
$data->run();
function getBooks()
{
    $sql = "select * FROM books ORDER BY id DESC";
    try {
        $db = getConnection();
        $stmt = $db->query($sql);
        $books = $stmt->fetchAll(PDO::FETCH_OBJ);
        $db = null;
        echo json_encode($books);
    } catch (PDOException $e) {
        echo '{"error":{"text":' . $e->getMessage() . '}}';
    }
}
function getBook($id)
{
예제 #21
0
<?php

require 'Slim/Slim.php';
$app = new Slim();
$app->get('/beers', 'getBeers');
$app->get('/beers/:id', 'getBeer');
$app->get('/beers/search/:query', 'findByName');
$app->post('/beers', 'addBeer');
$app->put('/beers/:id', 'updateBeer');
$app->delete('/beers/:id', 'deleteBeer');
$app->run();
function getBeers()
{
    $sql = "select * FROM wine ORDER BY name";
    try {
        $db = getConnection();
        $stmt = $db->query($sql);
        $beers = $stmt->fetchAll(PDO::FETCH_OBJ);
        $db = null;
        // echo '{"wine": ' . json_encode($beers) . '}';
        echo json_encode($beers);
    } catch (PDOException $e) {
        echo '{"error":{"text":' . $e->getMessage() . '}}';
    }
}
function getBeer($id)
{
    $sql = "SELECT * FROM wine WHERE id=:id";
    try {
        $db = getConnection();
        $stmt = $db->prepare($sql);
예제 #22
0
파일: users.php 프로젝트: octobloc/backhome
}
// Access-Control headers are received during OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) {
        header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");
    }
    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) {
        header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
    }
    exit(0);
}
include 'Slim/Slim.php';
$app = new Slim();
$app->post('/login', 'userLogin');
$app->post('/join', 'userJoin');
$app->delete('/user', 'deleteUser');
$app->put('/user', 'updateUser');
$app->get('/user', 'getUser');
$app->get('/user/:id', 'getUser');
//INCOMPLETE:
//$app->post('/users/search', 'findByParameter');
$app->run();
function userLogin()
{
    $request = Slim::getInstance()->request();
    $user = json_decode($request->getBody());
    //Get Salt
    $sql = "SELECT\n\n        salt\n\n        FROM users WHERE username=:username LIMIT 1";
    try {
        $db = getConnection();
        $stmt = $db->prepare($sql);
예제 #23
0
ActiveRecord\Config::initialize(function ($cfg) {
    $cfg->set_connections(array('development' => 'mysql://root:@localhost/todos'));
});
$app = new Slim();
function reqBody()
{
    global $app;
    return json_decode($app->request()->getBody(), true);
}
$app->get('/json', function () {
    echo json_encode(array_map(function ($todo) {
        return $todo->attributes();
    }, Todo::all()));
});
$app->post('/json', function () {
    $todo = new Todo(reqBody());
    $todo->save();
});
$app->get('/json/:id', function ($id) {
    echo Todo::find($id)->to_json();
});
$app->put('/json/:id', function ($id) {
    Todo::find($id)->update_attributes(reqBody());
});
$app->delete('/json/:id', function ($id) {
    Todo::find($id)->delete();
});
$app->get('/', function () {
    echo file_get_contents('index.html');
});
$app->run();
예제 #24
0
<?php

require 'Slim/Slim.php';
require '../site/functions.php';
$app = new Slim();
$app->get('/accomplishment/:id', 'GetAccomplishment');
$app->get('/allaccomplishment/:id', 'GetAllAccomplishments');
$app->get('/accomplishment/search/:query', 'FinaByAccomplishment');
$app->post('/accomplishment', 'InsertAccomplishment');
$app->put('/accomplishment/:id', 'UpdateAccomplishment');
$app->delete('/accomplishment/:id', 'DeleteAccomplishment');
$app->get('/accomplishment/title/:keyword', 'getTitlesFromCache');
$app->get('/accomplishment/alltitle', 'getAllTitles');
$app->run();
// Generate Guid
function NewGuid()
{
    $s = strtoupper(md5(uniqid(rand(), true)));
    $guidText = substr($s, 0, 8) . substr($s, 8, 4) . substr($s, 12, 4) . substr($s, 16, 4) . substr($s, 20);
    return $guidText;
}
// End Generate Guid
function getWines()
{
    $sql = "select * FROM wine ORDER BY name";
    try {
        $db = getConnection();
        $stmt = $db->query($sql);
        $wines = $stmt->fetchAll(PDO::FETCH_OBJ);
        $db = null;
        echo '{"wine": ' . json_encode($wines) . '}';
예제 #25
0
    $user->getById($id);
});
$app->get('/users/:id/friends', function ($id) use($user) {
    $user->getFriends($id);
});
$app->get('/users/:id/score', function ($id) use($user) {
    $user->getScore($id);
});
$app->get('/users/:id/rewards', function ($id) use($user) {
    $user->getRewards($id);
});
$app->get('/users/search/:name', function ($name) use($user) {
    $user->getByName($name);
});
$app->delete('/users/:id', function ($id) use($user) {
    $user->delete($id);
});
$app->post('/users', function () use($user, $app) {
    $request = $app->request();
    $body = $request->getBody();
    $vo = json_decode($body);
    $user->insert($vo);
});
$app->put('/users/:id', function ($id) use($user, $app) {
    $request = $app->request();
    $body = $request->getBody();
    $vo = json_decode($body);
    $vo->facebook_user_id = $id;
    $user->update($vo);
});
$app->put('/users/:id/score', function ($id) use($user, $app) {
예제 #26
0
<?php

require 'Slim/Slim.php';
require 'conexion.php';
$app = new Slim();
$app->get('/medicos', 'obtenerMedicos');
$app->get('/medicos/:id', 'obtenerMedico');
$app->post('/agregar_medico', 'agregarMedico');
$app->put('/medicos/:id', 'editarMedico');
$app->delete('/medicos/:id', 'eliminarMedico');
$app->get('/especialidades', 'obtenerEspecialidades');
$app->get('/especialidades/:id', 'obtenerEspecialidad');
$app->post('/agregar_especialidad', 'agregarEspecialidad');
$app->put('/especialidades/:id', 'editarEspecialidad');
$app->delete('/especialidades/:id', 'eliminarEspecialidad');
$app->get('/medicosespecialidades/:id', 'obtenerMedicoEspecialidades');
$app->post('/agregar_medicoespecialidad/:id', 'agregarMedicoEspecialidad');
$app->run();
function obtenerMedicos()
{
    $sql = "select idMedico,CONCAT(Nombre,' ',Apellido) Nombre FROM medico where Estado=1 ORDER BY Nombre";
    try {
        $db = getConnection();
        $stmt = $db->query($sql);
        $wines = $stmt->fetchAll(PDO::FETCH_OBJ);
        $db = null;
        echo json_encode($wines);
    } catch (PDOException $e) {
        echo '{"error":{"text":' . $e->getMessage() . '}}';
    }
}
예제 #27
0
<?php

set_include_path(implode(PATH_SEPARATOR, array(realpath(dirname(__FILE__) . '/library'), get_include_path())));
require_once 'Slim/Slim.php';
require_once 'controller/ProdutosController.php';
$app = new Slim();
$pcontroller = new ProdutosController();
$app->get('/produtos', function () use($pcontroller) {
    echo json_encode($pcontroller->listarProdutos());
});
$app->post('/produtos', function () use($pcontroller, $app) {
    $produto = json_decode(file_get_contents("php://input"));
    echo json_encode($pcontroller->salvarProduto($produto));
});
$app->put('/produtos', function () use($pcontroller, $app) {
    $produto = $app->request()->put();
    unset($produto['$$hashKey']);
    echo json_encode($pcontroller->atualizarProduto($produto));
});
$app->delete('/produtos/:id', function ($id) use($pcontroller) {
    echo $pcontroller->removerProduto($id);
});
$app->run();
예제 #28
0
파일: SlimTest.php 프로젝트: rs3d/Slimplr
 /**
  * Test DELETE route
  */
 public function testDeleteRoute()
 {
     Slim_Environment::mock(array('REQUEST_METHOD' => 'DELETE', 'SCRIPT_NAME' => '/foo', 'PATH_INFO' => '/bar'));
     $s = new Slim();
     $mw1 = function () {
         echo "foo";
     };
     $mw2 = function () {
         echo "bar";
     };
     $callable = function () {
         echo "xyz";
     };
     $route = $s->delete('/bar', $mw1, $mw2, $callable);
     $s->call();
     $this->assertEquals('foobarxyz', $s->response()->body());
     $this->assertEquals('/bar', $route->getPattern());
     $this->assertSame($callable, $route->getCallable());
 }
예제 #29
0
<?php

require 'Slim/Slim.php';
$app = new Slim();
$app->get('/users', 'getUsers');
$app->post('/users', 'addUser');
$app->get('/users/:id', 'getUser');
$app->get('/users/search/:query', 'findByName');
$app->put('/users/:id', 'updateUser');
$app->delete('/users/:id', 'deleteUser');
$app->run();
function getConnection()
{
    $dbhost = "127.0.0.1";
    $dbuser = "******";
    $dbpass = "******";
    $dbname = "angular-mysql";
    $dbh = new PDO("mysql:host={$dbhost};dbname={$dbname}", $dbuser, $dbpass);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    return $dbh;
}
function getUsers()
{
    $sql = "select * FROM users ORDER BY id";
    try {
        $db = getConnection();
        $stmt = $db->query($sql);
        $users = $stmt->fetchAll(PDO::FETCH_OBJ);
        $db = null;
        echo json_encode($users);
    } catch (PDOException $e) {
예제 #30
-1
 /**
  * REST actions
  *
  * This function contains the REST actions with the assignments to
  * the functions.
  */
 public function __construct()
 {
     // runs the CConfig
     $com = new CConfig(LFile::$_baseDir, dirname(__FILE__));
     // runs the LFile
     if ($com->used()) {
         return;
     }
     $conf = $com->loadConfig();
     $this->_conf = $conf;
     $this->_fs = CConfig::getLinks($this->_conf->getLinks(), 'file');
     $this->_db = CConfig::getLinks($this->_conf->getLinks(), 'fileDb');
     $this->_app = new \Slim\Slim(array('debug' => true));
     $this->_app->response->setStatus(404);
     $this->_app->response->headers->set('Content-Type', 'application/json');
     // POST File
     $this->_app->post('/' . LFile::$_baseDir . '(/)', array($this, 'postFile'));
     /*// POST PathFile
       $this->_app->post( 
                         '/' . LFile::$_baseDir . '/:path(/)',
                         array( 
                               $this,
                               'postPathFile'
                               )
                         );*/
     // DELETE File
     $this->_app->delete('/' . LFile::$_baseDir . '/:fileid', array($this, 'deleteFile'));
     // run Slim
     $this->_app->run();
 }