/** * Adds the component to the platform * * Called when this component receives an HTTP POST request to * /platform. */ public function addPlatform($callName, $input, $params = array()) { Logger::Log('starts POST AddPlatform', LogLevel::DEBUG); //$this->loadConfig($name); // decode the received course data, as an object $insert = $input; $result = Model::isOK(); // always been an array $arr = true; if (!is_array($insert)) { $insert = array($insert); $arr = false; } // this array contains the indices of the inserted objects $res = array(); foreach ($insert as $in) { $file = dirname(__FILE__) . '/config.ini'; $text = "[DB]\n" . "db_path = \"" . str_replace(array("\\", "\""), array("\\\\", "\\\""), $in->getDatabaseUrl()) . "\"\n" . "db_user = \"" . str_replace(array("\\", "\""), array("\\\\", "\\\""), $in->getDatabaseOperatorUser()) . "\"\n" . "db_passwd = \"" . str_replace(array("\\", "\""), array("\\\\", "\\\""), $in->getDatabaseOperatorPassword()) . "\"\n" . "db_name = \"" . str_replace(array("\\", "\""), array("\\\\", "\\\""), $in->getDatabaseName()) . "\"\n" . "[PL]\n" . "urlExtern = \"" . str_replace(array("\\", "\""), array("\\\\", "\\\""), $in->getExternalUrl()) . "\"\n" . "url = \"" . str_replace(array("\\", "\""), array("\\\\", "\\\""), $in->getBaseUrl()) . "\""; if (!@file_put_contents($file, $text)) { Logger::Log('POST AddPlatform failed, config.ini no access', LogLevel::ERROR); $result = Model::isProblem(); } $platform = new Platform(); $platform->setStatus(201); $res[] = $platform; $result = Model::isCreated(); } $return['content'] = $res; return $return; }