|
|
@ -849,110 +849,6 @@ class Event |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* @param int $user_id |
|
|
|
|
|
|
|
* @param string $event_type |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @return array|bool |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
public static function get_events_by_user_and_type($user_id, $event_type) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
$table = Database::get_main_table(TABLE_STATISTIC_TRACK_E_DEFAULT); |
|
|
|
|
|
|
|
$user_id = (int) $user_id; |
|
|
|
|
|
|
|
$event_type = Database::escape_string($event_type); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$sql = "SELECT * FROM $table |
|
|
|
|
|
|
|
WHERE default_value_type = 'user_id' AND |
|
|
|
|
|
|
|
default_value = $user_id AND |
|
|
|
|
|
|
|
default_event_type = '$event_type' |
|
|
|
|
|
|
|
ORDER BY default_date "; |
|
|
|
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
if ($result) { |
|
|
|
|
|
|
|
return Database::store_result($result, 'ASSOC'); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* Save the new message for one event and for one language. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @param string $event_name |
|
|
|
|
|
|
|
* @param array $users |
|
|
|
|
|
|
|
* @param string $message |
|
|
|
|
|
|
|
* @param string $subject |
|
|
|
|
|
|
|
* @param string $event_message_language |
|
|
|
|
|
|
|
* @param int $activated |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
public static function save_event_type_message( |
|
|
|
|
|
|
|
$event_name, |
|
|
|
|
|
|
|
$users, |
|
|
|
|
|
|
|
$message, |
|
|
|
|
|
|
|
$subject, |
|
|
|
|
|
|
|
$event_message_language, |
|
|
|
|
|
|
|
$activated |
|
|
|
|
|
|
|
) { |
|
|
|
|
|
|
|
$event_name = Database::escape_string($event_name); |
|
|
|
|
|
|
|
$activated = (int) $activated; |
|
|
|
|
|
|
|
$event_message_language = Database::escape_string($event_message_language); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Deletes then re-adds the users linked to the event |
|
|
|
|
|
|
|
$sql = 'DELETE FROM '.Database::get_main_table(TABLE_EVENT_TYPE_REL_USER).' |
|
|
|
|
|
|
|
WHERE event_type_name = "'.$event_name.'" '; |
|
|
|
|
|
|
|
Database::query($sql); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$eventTable = Database::get_main_table(TABLE_EVENT_TYPE_REL_USER); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach ($users as $user) { |
|
|
|
|
|
|
|
$user = (int) $user; |
|
|
|
|
|
|
|
$sql = "INSERT INTO $eventTable (user_id,event_type_name) |
|
|
|
|
|
|
|
VALUES($user,'$event_name')"; |
|
|
|
|
|
|
|
Database::query($sql); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
$language_id = api_get_language_id($event_message_language); |
|
|
|
|
|
|
|
// check if this template in this language already exists or not |
|
|
|
|
|
|
|
$eventMailTable = Database::get_main_table(TABLE_EVENT_EMAIL_TEMPLATE); |
|
|
|
|
|
|
|
$sql = "SELECT COUNT(id) as total |
|
|
|
|
|
|
|
FROM $eventMailTable |
|
|
|
|
|
|
|
WHERE event_type_name = '$event_name' AND language_id = $language_id"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$sql = Database::store_result(Database::query($sql), 'ASSOC'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$languageTable = Database::get_main_table(TABLE_MAIN_LANGUAGE); |
|
|
|
|
|
|
|
$message = Database::escape_string($message); |
|
|
|
|
|
|
|
$subject = Database::escape_string($subject); |
|
|
|
|
|
|
|
// if already exists, we update |
|
|
|
|
|
|
|
if ($sql[0]["total"] > 0) { |
|
|
|
|
|
|
|
$sql = "UPDATE $eventMailTable |
|
|
|
|
|
|
|
SET message = '$message', |
|
|
|
|
|
|
|
subject = '$subject', |
|
|
|
|
|
|
|
activated = $activated |
|
|
|
|
|
|
|
WHERE event_type_name = '$event_name' AND language_id = ( |
|
|
|
|
|
|
|
SELECT id FROM $languageTable |
|
|
|
|
|
|
|
WHERE dokeos_folder = '$event_message_language' |
|
|
|
|
|
|
|
)"; |
|
|
|
|
|
|
|
Database::query($sql); |
|
|
|
|
|
|
|
} else { // else we create a new record |
|
|
|
|
|
|
|
// gets the language_-_id |
|
|
|
|
|
|
|
$lang_id = "(SELECT id FROM $languageTable |
|
|
|
|
|
|
|
WHERE dokeos_folder = '$event_message_language')"; |
|
|
|
|
|
|
|
$lang_id = Database::store_result(Database::query($lang_id), 'ASSOC'); |
|
|
|
|
|
|
|
$lang_id = $lang_id[0]['id']; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!empty($lang_id[0]["id"])) { |
|
|
|
|
|
|
|
$sql = "INSERT INTO $eventMailTable (event_type_name, language_id, message, subject, activated) |
|
|
|
|
|
|
|
VALUES ('$event_name', $lang_id, '$message', '$subject', $activated)"; |
|
|
|
|
|
|
|
Database::query($sql); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// set activated at every save |
|
|
|
|
|
|
|
$sql = "UPDATE $eventMailTable |
|
|
|
|
|
|
|
SET activated = $activated |
|
|
|
|
|
|
|
WHERE event_type_name = '$event_name'"; |
|
|
|
|
|
|
|
Database::query($sql); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* Gets the last attempt of an exercise based in the exe_id. |
|
|
|
* Gets the last attempt of an exercise based in the exe_id. |
|
|
|
* |
|
|
|
* |
|
|
|