- Модуль: learning
- Путь к файлу: ~/bitrix/modules/learning/classes/general/ilearngraphrelation.php
- Класс: CLearnGraphRelation
- Вызов: CLearnGraphRelation::GetProperty
static function GetProperty ($parentNodeId, $childNodeId, $propertyName)
{
global $DB;
$args_check = ($parentNodeId > 0) && ($childNodeId > 0)
&& ( in_array ($propertyName, array('SORT'), true) );
if ( ! $args_check )
throw new LearnException ('EA_PARAMS', LearnException::EXC_ERR_GR_GET_PROPERTY);
$parentNodeId += 0;
$childNodeId += 0;
// Prepare DB field name
switch ($propertyName)
{
case 'SORT':
$field = 'SORT';
break;
default:
throw new LearnException ('EA_PARAMS: unknown property name: '
. $propertyName, LearnException::EXC_ERR_GR_GET_PROPERTY);
break;
}
// Get graph edge
$rc = $DB->Query (
"SELECT " . $field . "
FROM b_learn_lesson_edges
WHERE SOURCE_NODE='" . $parentNodeId . "'
AND TARGET_NODE='" . $childNodeId . "'",
$ignore_errors = true);
if ($rc === false)
throw new LearnException ('EA_SQLERROR', LearnException::EXC_ERR_GR_GET_PROPERTY);
if ( ! (($arData = $rc->Fetch()) && isset($arData[$field])) )
throw new LearnException ('EA_NOT_EXISTS', LearnException::EXC_ERR_GR_GET_PROPERTY);
// Postprocessing of result
switch ($propertyName)
{
case 'SORT':
$rc = (int) $arData[$field];
break;
default:
throw new LearnException ('EA_PARAMS: unknown property name: '
. $propertyName, LearnException::EXC_ERR_GR_GET_PROPERTY);
break;
}
return ($rc);
}