public static function getLocatorIdAndAddIfMissing(ResourceLocator $locator) { $tbl = claro_sql_get_course_tbl(); $sql = "SELECT `id` FROM `{$tbl['resources']}`\n" . "WHERE BINARY `crl` = " . Claroline::getDatabase()->quote($locator->__toString()); $res = Claroline::getDatabase()->query($sql); if ($res->numRows()) { return (int) $res->fetch(Database_ResultSet::FETCH_VALUE); } else { $sql = "INSERT INTO `{$tbl['resources']}`\n" . "SET\n" . "`crl` = " . Claroline::getDatabase()->quote($locator->__toString()) . "\n" . ",`title` = ''"; Claroline::getDatabase()->exec($sql); return (int) Claroline::getDatabase()->insertId(); } }