20 self::addPurpose(
$service, $purpose);
21 self::addPreferred(
$service, $purpose, $preferred);
28 protected static function addPurpose(
$service, $purpose)
35 self::PURPOSE_PURPOSES_TABLE,
37 'purpose_id' => array(
'int',
$ilDB->nextId(self::PURPOSE_PURPOSES_TABLE)),
38 'service' => array(
'text',
$service),
39 'purpose' => array(
'text', $purpose),
49 protected static function addPreferred(
$service, $purpose, $preferred)
55 self::PURPOSE_MAP_TABLE,
57 'map_id' => array(
'int',
$ilDB->nextId(self::PURPOSE_MAP_TABLE)),
58 'service' => array(
'text',
$service),
59 'purpose' => array(
'text', $purpose),
60 'preferred' => array(
'text', $preferred),
61 'selected' => array(
'text', $preferred)
75 $ilDB->manipulate(
"DELETE FROM " . self::PURPOSE_PURPOSES_TABLE .
76 " WHERE service = " .
$ilDB->quote(
$service,
"txt") .
" AND purpose = " .
$ilDB->quote($purpose,
"txt"));
89 $ilDB->manipulate(
"DELETE FROM " . self::PURPOSE_MAP_TABLE .
90 " WHERE service = " .
$ilDB->quote(
$service,
"txt") .
" AND purpose = " .
$ilDB->quote($purpose,
"txt") .
91 " AND preferred = " .
$ilDB->quote($preferred,
"txt"));
104 $ilDB->manipulate(
"DELETE FROM " . self::PURPOSE_PURPOSES_TABLE .
" WHERE service = " .
$ilDB->quote(
$service,
"txt"));
118 $query =
'SELECT count(*) num FROM ' . self::PURPOSE_PURPOSES_TABLE .
' WHERE service = '
119 .
$ilDB->quote(
$service,
'text') .
' AND purpose = ' .
$ilDB->quote($purpose,
'text');
122 if (
$row[
'num'] != 0) {
138 $query =
'SELECT purpose FROM ' . self::PURPOSE_PURPOSES_TABLE .
' WHERE service = ' .
$ilDB->quote(
$service,
'text');
142 $purposes[] =
$row[
'purpose'];
155 $query =
'SELECT service FROM ' . self::PURPOSE_PURPOSES_TABLE .
' GROUP BY service';
159 $services[] =
$row[
'service'];
171 $query =
'SELECT service, purpose FROM ' . self::PURPOSE_PURPOSES_TABLE .
' GROUP BY service, purpose having count(*) > 1';
174 if (is_array(
$row) && count(
$row) > 0) {
184 $query =
'SELECT service, purpose FROM ' . self::PURPOSE_PURPOSES_TABLE .
' GROUP BY service, purpose having count(*) > 1';
188 self::addPurpose(
$row[
'service'],
$row[
'purpose']);
191 $query =
'SELECT service, purpose, preferred FROM ' . self::PURPOSE_MAP_TABLE .
' GROUP BY service, purpose, preferred having count(*) > 1';
196 self::addPreferred(
$row[
'service'],
$row[
'purpose'],
$row[
'preferred']);
210 if (!self::isPurposeRegistered(
$service, $purpose)) {
219 public static function registerRenderer($renderer,
$path)
226 self::RENDERER_TABLE,
228 'renderer_id' => array(
'int',
$ilDB->nextId(self::RENDERER_TABLE)),
229 'renderer' => array(
'text', $renderer),
230 'path' => array(
'text',
$path)
240 public static function registerRendererAvailability($renderer,
$service, $purpose)
247 self::RENDERER_AVAIL_TABLE,
249 'availability_id' => array(
'int',
$ilDB->nextId(self::RENDERER_AVAIL_TABLE)),
250 'service' => array(
'text',
$service),
251 'purpose' => array(
'text', $purpose),
252 'renderer' => array(
'text', $renderer)
An exception for terminatinating execution or to throw for unit testing.
static unregisterPurpose($service, $purpose)
static isPurposeRegistered($service, $purpose)
static unregisterPreferred($service, $purpose, $preferred)
static getPurposesByService($service)
static updateFromXML($service, $purpose, $preferred)
static registerPurpose($service, $purpose, $preferred)
static checkForMultipleServiceAndPurposeCombination()
static flushPurposes($service)
const RENDERER_AVAIL_TABLE
const PURPOSE_PURPOSES_TABLE