2014-02-19 63 views
0

我需要直接在數據庫中創建一些moodle的itens。如何在moodle中創建新的課程類別?

我有查詢插入新的Moodle課程,並創建課程上下文的規則(在mdl_context),它的工作很好。

INSERT INTO mdl_course (category,fullname,shortname) VALUES (1,'NewCourse','C1')  

也需要插入一個新的moodle category,但在這種情況下,一個簡單的插入查詢不要工作

我不知道如何去發現這些參數來創建一個新的mdl_context類別方面

INSERT INTO `unasus_ava`.`mdl_course_categories` (`name`, `idnumber`, `description`, `descriptionformat`, `sortorder`, `timemodified`, `depth`, `path`) VALUES ('New category', '', '<p>some text</p>', 1, 50000, 1392726085, 1, '/5'); 

關於參數,aparently在上下文中的path大約是在什麼類別何去何從,以及depth'2'categories'3'courses。但我沒有關於contextlevel

INSERT INTO `unasus_ava`.`mdl_context` (`contextlevel`, `instanceid`, `path`, `depth`) VALUES (40, 3, '/1/20', 2); 

回答

0

使用Moodle的REST API

解決我的問題IDEIA我沒有在這裏找到sample-ws-clients

$token = 'my_auth_token'; 
$domainname = 'http://localhost/moodle'; 
$functionname = 'core_course_create_categories'; 
$restformat = 'json'; 

$category = new stdClass(); 
$category->name = 'Example'; 
$category->parent = 0; 
$category->description = '<p>text</p>'; 
$category->descriptionformat = 1; 
$categories = array($category); 
$params = array('categories' => $categories); 

/// REST CALL 
header('Content-Type: text/plain'); 
$serverurl = $domainname . '/webservice/rest/server.php'. '?wstoken=' . $token . '&wsfunction='.$functionname; 
require_once('./curl.php'); 
$curl = new curl; 
//if rest format == 'xml', then we do not add the param for backward compatibility with Moodle < 2.2 
$restformat = ($restformat == 'json')?'&moodlewsrestformat=' . $restformat:''; 
$resp = $curl->post($serverurl . $restformat, $params); 
print_r($resp); 

這個腳本基於示例這個方法創建了自動上下文

相關問題