<?php
/**
* Interface que deve ser implementada pelos tipos de iLM disponíveis.
* Todos os métodos precisam ser implementados para permitir a correta manipulação dos iLM.
*
* Atenção: esta classe (ilm_handle) é abstrata e aquelas que venham a implementá-la
* devem seguir o seguinte padrão: utilizar o nome da classe concreta todo em minúsculo
* bem como o nome de seu arquivo .php, que deve ter exatamente o mesmo nome da classe.
* As classes concretas devem estar na pasta 'ilm_handlers'.
*
* @author Igor Moreira Félix
* @author Patricia Alves Rodrigues
* @author Leônidas O. Brandão
*
*/
interface ilm_handle {
/**
* Método para implementar a importação de um iLM
*/
public static function import_ilm($itemid, $files_extract, $application_xml, $contextuser, $fs);
/**
* Método para o recebimento de um novo iLM
*/
public static function new_ilm($itemid, $files_extract, $application_xml, $contextuser, $fs);
/**
* Método para tratar a edição de um iLM
*/
public static function edit_ilm($param, $itemid, $files_extract, $contextuser);
/**
* Método para excluir um iLM
*/
public static function delete_ilm($ilm_id);
/**
* Método para expotar um iLM
*/
public static function export_ilm($ilm_id);
/**
* Método para copiar e preparar uma nova versão do iLM
*/
public static function copy_new_version_ilm($param, $files_extract);
/**
* Exibe o iLM
*/
public static function view_ilm($ilmid, $from);
/**
* Mostra a atividade no iLM
*/
public static function show_activity_in_ilm($iassign_statement_activity_item, $student_answer, $enderecoPOST, $view_teacherfileversion);
/**
* Gera as tags HTML para a exibição do iLM no navegador do usuário
*/
public static function build_ilm_tags($ilm_id, $options = array());
}