예제 #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(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();
 }
예제 #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(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();
 }
예제 #4
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();
 }
예제 #5
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();
 }
예제 #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(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();
 }
예제 #7
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();
 }
예제 #8
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();
 }
예제 #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('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();
 }
예제 #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.
  */
 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();
 }
예제 #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 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);
예제 #14
0
파일: SlimTest.php 프로젝트: ntdt/Slim
 /**
  * Test Slim sets POST route
  *
  * Pre-conditions:
  * You have initialized a Slim app with a POST route.
  *
  * Post-conditions:
  * The POST route is returned, and its pattern and
  * callable are set correctly.
  */
 public function testSlimPostRoute(){
     Slim::init();
     $callable = function () { echo "foo"; };
     $route = Slim::post('/foo/bar', $callable);
     $this->assertEquals('/foo/bar', $route->getPattern());
     $this->assertSame($callable, $route->getCallable());
 }
예제 #15
0
    $title = 'My KraigsList Search';
    $init = false;
    require 'templates/index.php';
});
$app->post('/', function () use($app, $sites) {
    $loadConfiguration = "findjobs.locations.xml";
    $site = isset($_POST['site']) ? $_POST['site'] : false;
    if (isset($sites[$site])) {
        $loadConfiguration = "{$site}.locations.xml";
    } else {
        echo json_encode(array());
        return;
    }
    try {
        require 'lib/CraigListScraper.class.php';
        $cl_scraper = new CraigListScraper("sites/{$loadConfiguration}");
        $search_field = $cl_scraper->getFields();
        $search_field_name = $search_field[0]['argName'];
        if (isset($_POST[$search_field_name]) && strlen($_POST[$search_field_name])) {
            header('Content-type: application/json');
            $cl_scraper->initialize($_POST['include']);
            echo $cl_scraper;
            exit;
        }
    } catch (Exception $e) {
        echo $e->getMessage();
    }
});
$app->get('/site/:site', function ($site) use($app, $sites) {
    $init = true;
    $loadConfiguration = "findjobs.locations.xml";
    if (isset($sites[$site])) {
예제 #16
0
파일: bootstrap.php 프로젝트: Jud/Slim
*/
/*** ROUTES ***/
//Sample GET route for PHP >=5.3
Slim::get('/', function () {
    Slim::render('index.php');
});
//Sample GET route for PHP <5.3
/*
Slim::get('/', 'get_example');
function get_example() {
	Slim::render('index.php');
}
*/
//Sample POST route for PHP >=5.3
Slim::post('/post', function () {
    echo '<p>Here are the details about your POST request:</p>';
    print_r(Slim::request());
});
//Sample POST route for PHP <5.3
/*
Slim::post('/post', 'post_example');
function post_example() {
	echo '<br/><br/>Here are the details about your POST request:<br/><br/>';
	print_r(Slim::request());
}
*/
//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
예제 #17
0
<?php

require 'Slim/Slim.php';
$app = new Slim();
$app->get('/new-events', 'listNewEvents');
$app->post('/notifications', 'pushNotifications');
$app->run();
function listNewEvents()
{
    $sql = "SELECT notice_msg FROM events WHERE event_status=0 ORDER BY event_id";
    try {
        $dbT = getConnt();
        $stmt = $dbT->query($sql);
        $wines = $stmt->fetchAll(PDO::FETCH_OBJ);
        $dbT = null;
        echo json_encode($wines);
    } catch (PDOException $e) {
        echo '{"error":{"text":' . $e->getMessage() . '}}';
    }
}
function pushNotifications()
{
    $request = Slim::getInstance()->request();
    $uid = $request->params('uid');
    $wfid = $request->params('wfid');
    $msg = $request->params('msg');
    $wine = json_decode($request->getBody());
    $sql = "INSERT INTO `events` (user_id, wf_id, event_msg) VALUES (:uid, :wfid, :msg)";
    try {
        $dbT = getConnt();
        $stmt = $dbT->prepare($sql);
예제 #18
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)
{
예제 #19
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);
예제 #20
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);
예제 #21
0
<?php

session_start();
require 'Business/PatientData.php';
require 'Business/DoctorData.php';
require 'Business/StaffData.php';
require 'Business/MasterData.php';
require 'Slim/Slim.php';
$app = new Slim();
error_reporting(E_ALL);
ini_set("log_errors", true);
ini_set("error_log", "/Applications/MAMP/htdocs/HealthCareSystem/RestAPI/errorlog.log");
$app->get('/authenticate/:username/:password', 'authenticateUser');
$app->get('/', 'initialMessage');
$app->post('/registerUser', 'registerUser');
$app->put('/updateprofile/:id', 'updateProfile');
$app->get('/appointmentsList/:hosiptal/:doctor/:appdate', 'appointmentsList');
$app->post('/createAppointment', 'createAppointment');
$app->get('/hosiptalDoctorData', 'hosiptalDoctorData');
$app->get('/professionBasedData/:profession/:name', 'professionBasedData');
$app->get('/doctorMasterData/:doctorId', 'doctorMasterData');
$app->get('/userMasterData/:userId', 'userMasterData');
$app->post('/createUser', 'createUser');
$app->get('/patientList/:patientName', 'patientList');
$app->get('/appointmentPatientList/:patientName/:hosiptal/:appdate', 'appointmentPatientList');
$app->put('/updateAppointment/:appointmentId', 'updateAppointment');
$app->run();
function initialMessage()
{
    try {
        //echo "<h1>Hello Slim World</h1>";
예제 #22
0
// initialize ActiveRecord
// change the connection settings to whatever is appropriate for your mysql server
ActiveRecord\Config::initialize(function ($cfg) {
    $cfg->set_model_directory('models');
    $cfg->set_connections(array('development' => 'mysql://*****:*****@127.0.0.1/test'));
});
$app = new Slim();
$app->get('/', function () use($app) {
    $data['tasks'] = Task::find('all');
    $app->render('task/index.php', $data);
})->name('tasks');
$app->post('/task/new/', function () use($app) {
    $task = new Task();
    $task->name = "My New Task";
    $task->done = 0;
    $task->save();
    if ($task->id > 0) {
        $app->redirect($app->urlFor('tasks'));
    }
})->name('task_new');
$app->get('/task/:id/edit', function ($id) use($app) {
    $data['task'] = Task::find($id);
    $app->render('task/edit.php', $data);
})->name('task_edit');
$app->post('/task/:id/edit', function ($id) use($app) {
    $task = Task::find($id);
    $task->name = $app->request()->post('name');
    $task->done = $app->request()->post('done') === '1' ? 1 : 0;
    $task->save();
    if ($task->id > 0) {
        $app->redirect($app->urlFor('tasks'));
예제 #23
0
});
$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) {
    $request = $app->request();
    $body = $request->getBody();
    $vo = json_decode($body);
    $vo->facebook_user_id = $id;
    $user->updateScore($vo);
    }
    $app->response()->header("Content-Type", "application/json");
    echo json_encode($books);
});
$app->get("/book/:id", function ($id) use($app, $db) {
    $app->response()->header("Content-Type", "application/json");
    $book = $db->books()->where("id", $id);
    if ($data = $book->fetch()) {
        echo json_encode(array("id" => $data["id"], "title" => $data["title"], "author" => $data["author"], "summary" => $data["summary"]));
    } else {
        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");
예제 #25
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();
예제 #26
0
$app->post('/mailchimp', function () use($app) {
    require_once 'MCAPI.class.php';
    $emailField = $app->request()->get('email');
    $listId = $app->request()->get('listid');
    $apiKey = $app->request()->get('apikey');
    //Make sure we have required data.
    if (empty($emailField) || empty($listId) || empty($apiKey)) {
        $app->halt(500, 'Your hook is missing required GET parameters.');
    }
    $email = $app->request()->post($emailField);
    $forename = $app->request()->post($app->request()->get('forename'));
    $surname = $app->request()->post($app->request()->get('surname'));
    $rid = $app->request()->post('id');
    //Make sure we have required data.
    if (empty($email)) {
        $app->halt(500, 'Your hook is missing email address.');
    }
    //If double opt in parameter is present, subscribe with double opt-in.
    $doubleOptIn = false;
    if (!is_null($app->request()->get('doubleoptin'))) {
        $doubleOptIn = true;
    }
    $api = new MCAPI($apiKey);
    $merge_vars = array('FNAME' => $forename, 'LNAME' => $surname);
    if (!empty($rid)) {
        $merge_vars['RID'] = $rid;
    }
    // Subscribe to mailchimp
    $retval = $api->listSubscribe($listId, $email, $merge_vars, 'html', $doubleOptIn, true, true, true);
    if ($api->errorCode) {
        $app->halt(500, 'Unable to run listSubscribe.' . $api->errorCode . ': ' . $api->errorMessage);
    } else {
        echo "Subscribed to list.";
    }
});
using the Slim Framework for PHP (http://www.slimframework.com/) and
the Tropo WebAPI library (https://github.com/tropo/tropo-webapi-php)

To use, install Slim Framework according to the documentation. Adjust
the require lines to match your locations of Slim and the Tropo classes.

Set your Tropo application's start URL to be the url to your Slim
installation and call your application.
*/
// Which voice would you like to use in prompts?
$voice = 'Veronica';
require '../tropo.class.php';
require 'Slim/Slim.php';
$app = new Slim();
$app->map('/', 'start')->via('GET')->via('POST');
$app->post('/restart', 'start');
function start()
{
    global $voice;
    $tropo = new Tropo();
    $tropo->setVoice($voice);
    $tropo->ask("Enter your conference ID, followed by the pound key.", array("choices" => "[1-10 DIGITS]", "name" => "confid", "attempts" => 5, "timeout" => 60, "mode" => "dtmf", "terminator" => "#", "event" => array("incomplete" => 'Sorry, I didn\'t hear anything.', "nomatch" => 'Sorry, that is not a valid conference ID.')));
    $tropo->on(array("event" => "continue", "next" => "conference"));
    $tropo->on(array("event" => "incomplete", "next" => "restart"));
    $tropo->RenderJson();
}
$app->post('/conference', 'conference');
function conference()
{
    global $voice;
    $tropo = new Tropo();
예제 #28
0
require "Slim/Slim.php";
$app = new Slim();
$app->contentType('application/json');
//$app->post('/{lado1}/{lado2}/{lado3}', function($lado1, $lado2, $lado3) use($app) {
$app->post('/calcular', function () use($app) {
    //$request = $app->request();
    //$body = $request->getBody();
    //$input = json_decode($body);
    //$lado1 = $input->lado1;
    //$lado2 = $input->lado2;
    //$lado3 = $input->lado3;
    //print_r();
    $lado1 = $app->request()->params("lado1");
    $lado2 = $app->request()->params("lado2");
    $lado3 = $app->request()->params("lado3");
    if ($lado1 <= 0 || $lado2 <= 0 || $lado3 <= 0) {
        echo json_encode(array('status' => false, 'lado1' => $lado1, 'lado2' => $lado2, 'lado3' => $lado3, 'resultado' => "Lado menor ou igual a zero"));
    } else {
        if ($lado1 == $lado2 && $lado2 == $lado3) {
            echo json_encode(array('status' => true, 'lado1' => $lado1, 'lado2' => $lado2, 'lado3' => $lado3, 'resultado' => "O triângulo é Equilátero"));
        } else {
            if ($lado1 == $lado2 || $lado2 == $lado3 || $lado3 == $lado1) {
                echo json_encode(array('status' => true, 'lado1' => $lado1, 'lado2' => $lado2, 'lado3' => $lado3, 'resultado' => "O triângulo é Isósceles"));
            } else {
                echo json_encode(array('status' => true, 'lado1' => $lado1, 'lado2' => $lado2, 'lado3' => $lado3, 'resultado' => "O triângulo é Escaleno"));
            }
        }
    }
});
$app->run();
예제 #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();
 }