本文整理匯總了PHP中Node::prepareInternalLinkMediaForDatabase方法的典型用法代碼示例。如果您正苦於以下問題:PHP Node::prepareInternalLinkMediaForDatabase方法的具體用法?PHP Node::prepareInternalLinkMediaForDatabase怎麽用?PHP Node::prepareInternalLinkMediaForDatabase使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Node
的用法示例。
在下文中一共展示了Node::prepareInternalLinkMediaForDatabase方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: mod
/**
* edits a record
*/
public function mod()
{
$question =& $this->_r;
$nodo = new Node($this->test['id_nodo_riferimento']);
if (!AMATestDataHandler::isError($nodo)) {
$path = $nodo->findPathFN();
}
if ($_POST) {
$data = $_POST;
} else {
$data = array('nome' => $question['nome'], 'titolo' => $question['titolo'], 'consegna' => $question['consegna'], 'testo' => $question['testo'], 'commento' => $question['tipo'][2], 'didascalia' => $question['didascalia'], 'titolo_dragdrop' => $question['titolo_dragdrop'], 'id_nodo_parent' => $question['id_nodo_parent'], 'correttezza' => $question['correttezza']);
switch ($question['tipo'][1]) {
case ADA_STANDARD_TEST_TYPE:
case ADA_MULTIPLE_CHECK_TEST_TYPE:
$data['variant'] = $question['tipo'][3];
break;
case ADA_CLOZE_TEST_TYPE:
switch ($question['tipo'][3]) {
case ADA_SELECT_TEST_SIMPLICITY:
$data['cloze_sinonimi'] = $question['tipo'][4];
break;
case ADA_DRAGDROP_TEST_SIMPLICITY:
case ADA_SLOT_TEST_SIMPLICITY:
$data['box_position'] = $question['tipo'][4];
break;
case ADA_ERASE_TEST_SIMPLICITY:
$data['variant'] = $question['tipo'][4];
$data['cloze_apostrofo'] = $question['tipo'][5];
break;
case ADA_MULTIPLE_TEST_SIMPLICITY:
$data['box_position'] = $question['tipo'][4];
$data['cloze_apostrofo'] = $question['tipo'][5];
break;
}
break;
}
}
unset($_SESSION['new_question'][$data['id_nodo_parent']]);
require_once MODULES_TEST_PATH . '/include/forms/questionFormTest.inc.php';
$form = $this->instantiateObject($question['id_nodo_radice'], $data, $question['id_nodo_parent'], $question['tipo'][1], $question['tipo'][3]);
if ($_POST) {
if ($form->isValid()) {
//crea nuovo test con i dati del form
$this->setTipo();
$data = array('nome' => $_POST['nome'], 'titolo' => $_POST['titolo'], 'consegna' => Node::prepareInternalLinkMediaForDatabase($_POST['consegna']), 'testo' => Node::prepareInternalLinkMediaForDatabase($_POST['testo']), 'id_nodo_parent' => $_POST['id_nodo_parent'], 'tipo' => $this->getTipo(), 'didascalia' => $_POST['didascalia'], 'titolo_dragdrop' => $_POST['titolo_dragdrop'], 'correttezza' => $_POST['correttezza']);
if ($this->saveQuestion($data, $question['id_nodo'])) {
$get_topic = isset($_GET['topic']) ? '&topic=' . $_GET['topic'] : '';
redirect(MODULES_TEST_HTTP . '/index.php?id_test=' . $question['id_nodo_radice'] . $get_topic . '#liQuestion' . $question['id_nodo']);
} else {
$html = sprintf(translateFN('Errore durante la modifica del %s'), $this->what);
}
} else {
$html = $form->getHtml();
}
} else {
$html = $form->getHtml();
}
return array('html' => $html, 'path' => $path);
}
示例2: mod
/**
* modifies a topic node
*
* @global db $dh
*
* @return array an array with 'html' and 'path' keys
*/
public function mod()
{
$dh = $GLOBALS['dh'];
$topic =& $this->_r;
$test = $dh->test_getNode($topic['id_nodo_radice']);
$nodo = new Node($test['id_nodo_riferimento']);
if (!AMATestDataHandler::isError($nodo)) {
$path = $nodo->findPathFN();
}
if ($_POST) {
$data = $_POST;
} else {
$data = array('nome' => $topic['nome'], 'titolo' => $topic['titolo'], 'testo' => $topic['testo'], 'durata' => round($topic['durata'] / 60, 2), 'random' => $topic['tipo'][1], 'random_number' => $topic['livello'], 'id_nodo_parent' => $topic['id_nodo_parent']);
}
require_once MODULES_TEST_PATH . '/include/forms/topicFormTest.inc.php';
$form = new TopicFormTest($topic['id_nodo_radice'], $data, $topic['id_nodo_parent']);
if ($_POST) {
if ($form->isValid()) {
//crea nuovo test con i dati del form
$this->setTipo();
$data = array('nome' => $_POST['nome'], 'titolo' => $_POST['titolo'], 'testo' => Node::prepareInternalLinkMediaForDatabase($_POST['testo']), 'id_nodo_parent' => $_POST['id_nodo_parent'], 'tipo' => $this->getTipo(), 'livello' => $_POST['random_number'], 'durata' => $_POST['durata'] * 60);
if ($dh->test_updateNode($topic['id_nodo'], $data)) {
$get_topic = isset($_GET['topic']) ? '&topic=' . $_GET['topic'] : '';
redirect(MODULES_TEST_HTTP . '/index.php?id_test=' . $test['id_nodo'] . $get_topic);
} else {
$html = sprintf(translateFN('Errore durante la modifica del %s'), $this->what);
}
} else {
$html = $form->getHtml();
}
} else {
$html = $form->getHtml();
}
return array('html' => $html, 'path' => $path);
}
示例3: mod
/**
* modifies test / survey node
*
* @global db $dh
*
* @return array an array with 'html' and 'path' keys
*/
public function mod()
{
$dh = $GLOBALS['dh'];
$test =& $this->_r;
$nodo = new Node($test['id_nodo_riferimento']);
if (!AMATestDataHandler::isError($nodo)) {
$path = $nodo->findPathFN();
}
if ($_POST) {
$data = $_POST;
} else {
$data = array('nome' => $test['nome'], 'consegna' => $test['consegna'], 'titolo' => $test['titolo'], 'consegna' => Node::prepareInternalLinkMediaForDatabase($test['consegna']), 'testo' => Node::prepareInternalLinkMediaForDatabase($test['testo']), 'livello' => $test['livello'], 'min_level' => $test['durata'], 'return' => $test['tipo'][1], 'feedback' => $test['tipo'][2], 'suddivisione' => $test['tipo'][3], 'barriera' => $test['tipo'][4], 'ripetibile' => $test['tipo'][5], 'correttezza' => $test['correttezza']);
}
require_once MODULES_TEST_PATH . '/include/forms/rootFormTest.inc.php';
if (get_class($this) == 'TestManagementTest') {
require_once MODULES_TEST_PATH . '/include/forms/testFormTest.inc.php';
$form = new TestFormTest($data);
} else {
if (get_class($this) == 'SurveyManagementTest') {
require_once MODULES_TEST_PATH . '/include/forms/surveyFormTest.inc.php';
$form = new SurveyFormTest($data);
}
}
if ($_POST) {
if ($form->isValid()) {
//crea nuovo test con i dati del form
$this->setTipo();
$data = array('nome' => $_POST['nome'], 'titolo' => $_POST['titolo'], 'consegna' => $_POST['consegna'], 'testo' => $_POST['testo'], 'tipo' => $this->getTipo(), 'livello' => $_POST['livello'], 'durata' => $_POST['min_level'], 'correttezza' => $_POST['correttezza']);
if ($dh->test_updateNode($test['id_nodo'], $data)) {
redirect(MODULES_TEST_HTTP . '/index.php?id_test=' . $test['id_nodo']);
} else {
$html = sprintf(translateFN('Errore durante la modifica del %s'), $this->what);
}
} else {
$html = $form->getHtml();
}
} else {
$html = $form->getHtml();
}
return array('html' => $html, 'path' => $path);
}
示例4: action
/**
* Function that executes answer logic (add / mod)
*
* @global db $dh
*
* @return string
*/
protected function action()
{
$dh = $GLOBALS['dh'];
$tmp = $dh->test_getNodesByParent($this->question['id_nodo']);
$risposte = array();
if (!empty($tmp)) {
foreach ($tmp as $k => $v) {
$risposte[] = array('other_answer' => $v['tipo'][1], 'answer' => $v['testo'], 'value' => $v['correttezza'], 'case_sensitive' => $v['tipo'][2], 'record' => $v['id_nodo'], 'ordine' => $v['ordine']);
}
}
$case_sensitive = false;
$open_cloze = array(ADA_NORMAL_TEST_SIMPLICITY, ADA_MEDIUM_TEST_SIMPLICITY);
if ($this->question['tipo'][1] == ADA_OPEN_AUTOMATIC_TEST_TYPE || $this->question['tipo'][1] == ADA_CLOZE_TEST_TYPE && in_array($this->question['tipo'][3], $open_cloze)) {
$case_sensitive = true;
}
$open_answer = false;
if (in_array($this->question['tipo'][1], array(ADA_STANDARD_TEST_TYPE, ADA_MULTIPLE_CHECK_TEST_TYPE))) {
$open_answer = true;
}
$form = $this->instantiateObject($risposte, $this->question, $case_sensitive, $open_answer);
if ($_POST) {
//hack to capture ajax calls from ADA_CLOZE_TEST_TYPE -> ADA_MULTIPLE_TEST_SIMPLICITY
if ($this->question['tipo'][3] == ADA_MULTIPLE_TEST_SIMPLICITY) {
require_once MODULES_TEST_PATH . '/include/nodeTest.class.inc.php';
$questionObj = nodeTest::readNode($this->question['id_nodo']);
$questionObj->updateAnswerTable($_POST[QuestionMultipleClozeTest::postVariable]);
}
if ($form->isValid()) {
//crea nuove risposte con i dati del form
$post = array();
foreach ($_POST['answer'] as $k => $v) {
$post[] = array('answer' => $_POST['answer'][$k], 'value' => intval($_POST['value'][$k]), 'case_sensitive' => $_POST['case_sensitive'][$k] == 1 ? true : false, 'other_answer' => $_POST['other_answer'][$k] == 1 ? true : false, 'record' => $_POST['record'][$k], 'ordine' => $_POST['ordine'][$k]);
}
$result = true;
$tipo = ADA_LEAF_ANSWER . ADA_NO_OPEN_TEST_ANSWER . ADA_CASE_SENSITIVE_TEST . '000';
foreach ($post as $k => $v) {
$t = $tipo;
$t[1] = $v['other_answer'] ? ADA_OPEN_TEST_ANSWER : ADA_NO_OPEN_TEST_ANSWER;
$t[2] = $v['case_sensitive'] ? ADA_CASE_INSENSITIVE_TEST : ADA_CASE_SENSITIVE_TEST;
$data = array('id_corso' => $this->test['id_corso'], 'id_utente' => $_SESSION['sess_id_user'], 'id_istanza' => $this->test['id_istanza'], 'nome' => $v['answer'], 'testo' => Node::prepareInternalLinkMediaForDatabase($v['answer']), 'correttezza' => $v['value'], 'tipo' => $t, 'id_nodo_parent' => $this->question['id_nodo'], 'id_nodo_radice' => $this->test['id_nodo'], 'ordine' => $v['ordine'] ? $v['ordine'] : $k + 1);
if (intval($v['record']) > 0) {
$res = $dh->test_updateNode(intval($v['record']), $data);
} else {
$res = $dh->test_addNode($data);
}
if (AMATestDataHandler::isError($res)) {
$result = false;
$html = translateFN('Errore durante la creazione delle risposte');
break;
}
unset($data);
}
if ($result) {
$get_topic = isset($_GET['topic']) ? '&topic=' . $_GET['topic'] : '';
if ($_POST['return'] == 'here') {
redirect(MODULES_TEST_HTTP . '/edit_answers.php?id_question=' . $this->question['id_nodo'] . $get_topic);
} else {
redirect(MODULES_TEST_HTTP . '/index.php?id_test=' . $this->test['id_nodo'] . $get_topic . '#liQuestion' . $this->question['id_nodo']);
}
}
}
} else {
$html = $form->getHtml();
$div = CDOMElement::create('div', 'id:insertImage,class:hide');
$div->setAttribute('title', translateFN('Inserisci Immagine'));
$div->setAttribute('style', 'text-align:right;');
$labelUrl = CDOMElement::create('label', 'for:inputUrl');
$labelUrl->addChild(new CText(translateFN('Url') . ':'));
$inputUrl = CDOMElement::create('text', 'id:inputUrl');
$div->addChild($labelUrl);
$div->addChild($inputUrl);
$div->addChild(new CText('<br />'));
$labelTitle = CDOMElement::create('label', 'for:inputTitle');
$labelTitle->addChild(new CText(translateFN('Titolo') . ':'));
$inputTitle = CDOMElement::create('text', 'id:inputTitle');
$div->addChild($labelTitle);
$div->addChild($inputTitle);
$div->addChild(new CText('<br />'));
$labelRadio = CDOMElement::create('label');
$labelRadio->addChild(new CText(translateFN('Permetti zoom') . ':'));
$labelYes = CDOMElement::create('label', 'for:radioPopupYes');
$labelYes->addChild(new CText(translateFN('Si')));
$labelNo = CDOMElement::create('label', 'for:radioPopupNo');
$labelNo->addChild(new CText(translateFN('No')));
$radioYes = CDOMElement::create('radio', 'id:radioPopupYes,name:radioPopup');
$radioYes->setAttribute('checked', '');
$radioNo = CDOMElement::create('radio', 'id:radioPopupNo,name:radioPopup');
$div->addChild($labelRadio);
$div->addChild($radioYes);
$div->addChild($labelYes);
$div->addChild($radioNo);
$div->addChild($labelNo);
$div->addChild(new CText('<br />'));
//.........這裏部分代碼省略.........