Commits

Anonymous committed f491103

Comments (0)

Files changed (3)

    * @property bool mostrarInactivos true, false o una cadena que al evaluarse devuelve true o false 
    */
   private $_mostrarTodos = true;
+  private $_showAll = true;
   private $_mostrarInactivos = true;
+  private $_mostrarDeactivated = true;
   private $_assetsUrl;
 
   public function init() {
       return false;
   }
 
+  
   public function setMostrarTodos($mostrarTodos) {
     $this->_mostrarTodos = eval("return $mostrarTodos;");
+    $this->_showAll = $this->_mostrarTodos;
   }
 
+  public function setShowAll($showAll) {
+    $this->setMostrarTodos($showAll);
+  }
+  
+  public function getShowAll() {
+    return $this->_showAll;
+  }
+  
   public function getMostrarTodos() {
     return $this->_mostrarTodos;
   }
     $this->_mostrarInactivos = eval("return $mostrarInactivos;");
   }
 
+  public function setShowDeactivated($showDeactivated) {
+    $this->setMostrarInactivos($showDeactivated);
+  }
+  
   public function getMostrarInactivos() {
     return $this->_mostrarInactivos;
   }
 
+  public function getShowDeactivated() {
+    return $this->_showDeactivated;
+  }
+  
   /**
    * 
    * @return string Devuelve una cadena que debe evaluarse para mostrar el selector de Idiomas
   }
 
   /**
+   * 
+   * @return string Returns a string to be evaluated to show the language's selector
+   */
+  public function getShowSelector() {
+    return Idioma::model()->mostrarSelector;
+  }
+
+  /**
    * @return array Devuelve un arreglo con la lista COMPLETA de idiomas definidos 'es'=>'Español'
    */
   public function getListarIdiomasCompleto() {
   }
 
   /**
+   * @return array Returns an array with the COMPLETE list of defined languages 'es'=>'Español'
+   */
+  public function getLanguageCompleteList() {
+    return Idioma::model()->listarIdiomas;
+  }
+
+  /**
    * 
    * @return array Devuelve un arreglo con el listado de idiomas activos 'es'=>'Español'
    */
 
   /**
    * 
-   * @return array Devuelve un arreglo con el listado de idiomas vigentes 'es'=>'Español'
+   * @return array Returns an array with the list of activated languages 'es'=>'Español'
+   */
+  public function getActiveLanguagesList() {
+    return Idioma::model()->getListarIdiomas(Idioma::ACTIVOS);
+  }
+
+  /**
+   * 
+   * @return array Devuelve un arreglo con el listado de idiomas inactivos 'es'=>'Español'
    */
   public function getListarIdiomasInActivos() {
     return Idioma::model()->getListarIdiomas(Idioma::INACTIVOS);
 
   /**
    * 
+   * @return array Returns an array with the list of deactivated languages 'es'=>'Español'
+   */
+  public function getDeactiveLanguagesList() {
+    return Idioma::model()->getListarIdiomas(Idioma::INACTIVOS);
+  }
+
+  /**
+   * 
    * @return array Devuelve un arreglo con el listado de idiomas vigentes 'es'=>'Español'
    */
   public function getListarIdiomasVigentes() {
 
   /**
    * 
+   * @return array Returns an array with the list of no soft deleted languages 'es'=>'Español'
+   */
+  public function getNoSoftDeletedLaguagesList() {
+    return Idioma::model()->getListarIdiomas(Idioma::VIGENTES);
+  }
+
+  /**
+   * 
    * @return array Devuelve un arreglo con el listado de idiomas no vigentes 'es'=>'Español'
    */
   public function getListarIdiomasNoVigentes() {
   }
 
   /**
+   * 
+   * @return array Returns an array with the list of disabled languages 'es'=>'Español'
+   */
+  public function getSoftDeletedLaguagesList() {
+    return Idioma::model()->getListarIdiomas(Idioma::NO_VIGENTES);
+  }
+
+  /**
    * @param string $sSQL cadena se adicionará al "WHERE". 
    * Si tuviera un error o no se indica devolverá lo mismo que ListarIdiomasCompleto
-   * @return array Devuelve un arreglo con el listado de idiomas inactivos 'es'=>'Español'
+   * @return array Devuelve un arreglo con el listado personalizado de idiomas 'es'=>'Español'
    * @example $aIdiomasExcepto_es=$gemi->ListarIdiomasPersonalizado("idiCodigo != 'es' and idiBaja IS NULL");
    */
   public function ListarIdiomasPersonalizado($sSQL) {
-    return Idioma::model()->getListarIdiomas(Idioma::NO_VIGENTES);
+    return Idioma::model()->getListarIdiomas(Idioma::CONDICION_SQL, $sSQL);
+  }
+
+  /**
+   * @param string $sSQL String added to "WHERE". 
+   * If it has an error or is no set, will return the same result as CompleteLanguagesList
+   * @return array Returns an array with custom languages list 'es'=>'Español'
+   * @example $aLanguagesExcept_es=$gemi->CustomLanguageList("idiCodigo != 'es' and idiBaja IS NULL");
+   */
+  public function CustomLanguagesList($sSQL) {
+    return Idioma::model()->getListarIdiomas(Idioma::CONDICION_SQL, $sSQL);
   }
 
   /**
   }
 
   /**
+   * @return string Returns the default language.
+   * If the browser language is defined, it will be returned, if it is defined and active.
+   * Else, it will return the value of sourceLanguage. 
+   * If you follow the GeMI instructions, this value must be '¡¡'.
+   */
+  public function getDefaultLanguage() {
+    return Idioma::model()->idiomaPorDefecto;
+  }
+
+  /**
    * 
    * @param  string $lng El idioma a saber si está disponible o no.
    * @return bool true o false si el idioma está disponible o no. 
     return Idioma::model()->IdiomaEstaDisponible($lng);
   }
 
+  /**
+   * 
+   * @param  string $lng Language code to know if it is available or not.
+   * @return bool true o false depending the langauge availability. 
+   * null if $lang is not set.
+   */
+  public function LanguageIsAvailable($lng = null) {
+    if ($lng === null)
+      return null;
+    return Idioma::model()->IdiomaEstaDisponible($lng);
+  }
+
 }
  - Crear, activar, desactivar, o dar de baja (borrado lógico) Idiomas
  - Recolectar todo texto escrito con la función Yii:t(), almacenarlo en una tabla y permitir su posterior traducción.
 
+AGREGADO: 2012-12-03
+Para beneficio de los no hispanoparlantes; los métodos, propiedades y funciones pueden utilizarse en inglés también. (escrito en *itálicas*)
+
 ----
 ###Instalación
 Copiar la carpeta 'gemi' dentro de "modules". O bien, crear una carpeta 'gemi' dentro de protected/modules y  descargar del [repositorio](https://bitbucket.org/dgeaperez/gemi/) el código dentro de ella.
 
 ----
 ####Configuración
-#####mostrarTodos:
+#####mostrarTodos: (*showAll*)
 > Listar todos los idiomas definidos o sólo los activos.  
 > Puede usarse:  
 >> + true,  
 
 	"Yii::app()->user->checkAccess('Admin') || Yii::app()->user->checkAccess('UsuarioAvanzado')",
 
-#####mostrarInactivos:
+#####mostrarInactivos: (*showDeactivated*)
 > Listar todos los idiomas no dados de baja.  
 > Por ejemplo, para testear las traducciones antes de activar el idioma  
 > puede usarse: 
 
 	Yii::app()->getModule('gemi')->funcion;
 
-#### mostrarTodos
+#####mostrarTodos: (*showAll*)
 **Tipo:** Propiedad  
 **Valor:** verdadero o falso   
 **Explicación:** Evalúa el parámetro pasado en la configuración y retorna *true/false*
 
-#### mostrarInactivos
+#### mostrarInactivos (*showDeactivated*)
 **Tipo:** Propiedad  
 **Valor:** verdadero o falso  
 **Explicación:** Evalúa el parámetro pasado en la configuración y retorna *true/false*
 
-#### mostrarSelector
+#### mostrarSelector (*showSelector*)
 **Tipo:** *magic getter*  
 **Valor:** texto  
 **Explicación:** Devuelve una cadena para ser evaluada y dibujará un mini formulario con un selector de idiomas. Éste se verá afectado por el valor de la propiedad *mostrarTodos*  
 - Tiene su propio estilo CSS  
 - Próximamente: debería poder indicarse el estilo CSS o bien integrarlo a la hojas de estilo del sistema.
 
-#### listarIdiomaCompleto
+#### listarIdiomaCompleto (*languageCompleteList*)
 **Tipo:** *magic getter*  
 **Valor:** arreglo  
 **Explicación:** Devuelve un arreglo con todos los idiomas definidos en la tabla, independientemente de su baja lógica o estado activo  
 		fr => François, [activo], [con baja lógica]
 		en => English, [inactivo], [sin baja lógica]
 
-#### listarIdiomasActivos
+#### listarIdiomasActivos (*activeLanguageList*)
 **Tipo:** *magic getter*  
 **Valor:** arreglo  
 **Explicación:** Devuelve un arreglo con todos los idiomas definidos en la tabla, cuyo estado es *activo*  
 **Observaciones:**  
 - El nombre de los idiomas se sugiere que estén en el idioma original  
 
-#### listarIdiomasInActivos
+#### listarIdiomasInActivos (*deactiveLanguagesList*)
 **Tipo:** *magic getter*  
 **Valor:** arreglo  
 **Explicación:** Devuelve un arreglo con todos los idiomas definidos en la tabla, cuyo estado es *no activo*  
 **Observaciones:**  
 - El nombre de los idiomas se sugiere que estén en el idioma original  
 
-#### listarIdiomasVigentes
+#### listarIdiomasVigentes (*noSoftDeletedLanguagesList*)
 **Tipo:** *magic getter*  
 **Valor:** arreglo  
 **Explicación:** Devuelve un arreglo con todos los idiomas definidos en la tabla, cuyo estado de baja es *nulo*  
 		es => Español, [activo]
 		en => English, [no activo]
 
-#### listarIdiomasNoVigentes
+#### listarIdiomasNoVigentes (*noSoftDeletedLanguagesList*)
 **Tipo:** *magic getter*  
 **Valor:** arreglo  
 **Explicación:** Devuelve un arreglo con todos los idiomas definidos en la tabla, cuyo estado es *DATETIME*  
 	$listaIdiomasNoVigentes[array]:
 		fr => François, [activo] //fr estaba activo pero se dió de baja
 
-#### ListarIdiomasPersonalizado($sSQL)
+#### ListarIdiomasPersonalizado($sSQL) (*CustomLanguagesList*)
 **Tipo:** *Función*  
 **Parámetro:** $sSQL
 **Valor:** arreglo  
 	$ListarIdiomasPersonalizados[array]:
 		en => English, [activo], [sin baja lógica]
 
-#### idiomaPorDefecto
+#### idiomaPorDefecto (*DefaultLanguage*)
 **Tipo:** *magic getter*  
 **Valor:** cadena  
 **Explicación:** Devuelve una cadena con el idioma por defecto  
 **Observaciones:**  
 - Proximamente: quizá debería poder personalizarse el idioma por defecto a ingresar en la tabla.
 
-#### IdiomaEstaDisponible($sCodigoDeIdioma)
+#### IdiomaEstaDisponible($sCodigoDeIdioma) (*LanguageIsAvailable*)
 **Tipo:** *Función*  
 **Parámetro:** $sCodigoDeIdioma
 **Valor:** Verdadero/Falso  
  - CRUD or Languages (Idiomas model). NOTE: Delete operation is a soft delete.
  - Collects hardcoded strings written with Yii:t(), store them in a table allowing later translation.
 
+ADDED: 2012-12-03
+For non Spanish spoken people benefit; methods, properties and functions can be used in english language too. (*italic* form)
+
 ----
 ###Installation
 Copy'gemi' folder inside 'modules'. Or well, Create a folder, named 'gemi', inside protected/modules and donwload inside the source code from [repository](https://bitbucket.org/dgeaperez/gemi/).
 
 
 ----
-####Configuracion
+####Configuration
 #####mostrarTodos: (*showAll*)
 > Lists all the languages defined or only the activated ones.  
 > Possible values:  
 
 	"Yii::app()->user->checkAccess('Admin') || Yii::app()->user->checkAccess('UsuarioAvanzado')",
 
-#####mostrarInactivos: (*showDeactivated)
+#####mostrarInactivos: (*showDeactivated*)
 > Lists all the languages not soft deleted.  
 > For instance, to test the transaltions before activate the language 
 > Possible values: 
 
 	Yii::app()->getModule('gemi')->function;
 
-#### mostrarTodos (*show All*)
+#### mostrarTodos (*showAll*)
 **Type:** Property  
 **Value:** true or false 
 **Explanation:** Evaluates the parameter configurated in main.php and returns *true/false*
 
-#### mostrarInactivos (*show Deactivated*)
+#### mostrarInactivos (*showDeactivated*)
 **Type:** Property  
 **Value:** true or false 
 **Explanation:** Evaluates the parameter configurated in main.php and returns *true/false*
 
-#### mostrarSelector (*show Selector*)
+#### mostrarSelector (*showSelector*)
 **Type:** *magic getter*  
 **Value:** texto  
 **Explanation:** Returns a string to be evaluated and renders a mini form with the language selector. This will be affected for the porperty *mostrarTodos*  
 - It has its CSS style  
 - To Do: The CSS style can be customized or to be integrated to the CSS system file.
 
-#### listarIdiomaCompleto (*full list language*)
+#### listarIdiomaCompleto (*languageCompleteList*)
 **Tipo:** *magic getter*  
 **Valor:** arreglo  
 **Explicación:** Devuelve un arreglo con todos los idiomas definidos en la tabla, independientemente de su baja lógica o estado activo  
 		fr => François
 		en => English
 
-**Observaciones:**  
+**Obervations:**  
 - El nombre de los idiomas se sugiere que estén en el idioma original  
 - Próximamente: debería entregar un arreglo con esta estructura
 
 		fr => François, [activo], [con baja lógica]
 		en => English, [inactivo], [sin baja lógica]
 
-#### listarIdiomasActivos
-**Tipo:** *magic getter*  
-**Valor:** arreglo  
-**Explicación:** Devuelve un arreglo con todos los idiomas definidos en la tabla, cuyo estado es *activo*  
-**Ejemplo:**
+#### listarIdiomasActivos (*activeLanguageList*)
+**Type:** *magic getter*  
+**Value:** array  
+**Explanation:** Returns an array with all languages defined wich flag active is true  
+**Example:**
 
 	$gemi = Yii::app()->getModule('gemi');
 	$listaIdiomasActivo = $gemi->listarIdiomasActivo;
 	$listaIdiomaActivo[array]:
 		es => Español
 
-**Observaciones:**  
-- El nombre de los idiomas se sugiere que estén en el idioma original  
+**Obervations:**  
+- It's recomended native language for language name.  
 
-#### listarIdiomasInActivos
-**Tipo:** *magic getter*  
-**Valor:** arreglo  
-**Explicación:** Devuelve un arreglo con todos los idiomas definidos en la tabla, cuyo estado es *no activo*  
-**Ejemplo:**
+#### listarIdiomasInActivos (*deactiveLanguagesList*)
+**Type:** *magic getter*  
+**Value:** array  
+**Explanation:** Returns an array with all languages defined wich flag active is false  
+**Example:**
 
 	$gemi = Yii::app()->getModule('gemi');
 	$listaIdiomasInActivos = $gemi->listarIdiomasInActivos;
 	$listaIdiomaActivo[array]:
 		en => English
 
-**Observaciones:**  
-- El nombre de los idiomas se sugiere que estén en el idioma original  
+**Obervations:**  
+- It's recomended native language for language name.  
 
-#### listarIdiomasVigentes
-**Tipo:** *magic getter*  
-**Valor:** arreglo  
-**Explicación:** Devuelve un arreglo con todos los idiomas definidos en la tabla, cuyo estado de baja es *nulo*  
-**Ejemplo:**
+#### listarIdiomasVigentes (*noSoftDeletedLanguagesList *)
+**Type:** *magic getter*  
+**Value:** array  
+**Explanation:** Returns an array with all languages defined wich flag soft deleted is null  
+**Example:**
 
 	$gemi = Yii::app()->getModule('gemi');
 	$listaIdiomasVigentes = $gemi->listarIdiomasVigentes;
 		es => Español
 		en => English
 
-**Observaciones:**  
-- El nombre de los idiomas se sugiere que estén en el idioma original  
-- Proximamente: quizá debería entregar un arreglo con esta estructura: 
+**Obervations:**  
+- It's recomended native language for language name.  
+- To Do: It should return an array with the follow structure: 
 
 	$listaIdiomasVigentes[array]:
-		es => Español, [activo]
-		en => English, [no activo]
+		es => Español, [active]
+		en => English, [no active]
 
-#### listarIdiomasNoVigentes
-**Tipo:** *magic getter*  
-**Valor:** arreglo  
-**Explicación:** Devuelve un arreglo con todos los idiomas definidos en la tabla, cuyo estado es *DATETIME*  
-**Ejemplo:**
+#### listarIdiomasNoVigentes (*softDeletedLanguagesList*)
+**Type:** *magic getter*  
+**Value:** array  
+**Explanation:** Returns an array with all languages defined wich flag soft deleted is *DATETIME*  
+**Example:**
 
 	$gemi = Yii::app()->getModule('gemi');
 	$listaIdiomasNoVigente = $gemi->listarIdiomasNoVigente;
 	$listaIdiomaNoVigentes[array]:
 		fr => François
 
-**Observaciones:**  
-- El nombre de los idiomas se sugiere que estén en el idioma original  
-- Proximamente: quizá debería entregar un arreglo con esta estructura: 
+**Obervations:**  
+- It's recomended native language for language name.  
+- To Do: It should return an array with the follow structure: 
 
 	$listaIdiomasNoVigentes[array]:
-		fr => François, [activo] //fr estaba activo pero se dió de baja
+		fr => François, [active] //fr was activated but it was soft deleted
 
-#### ListarIdiomasPersonalizado($sSQL)
-**Tipo:** *Función*  
+#### ListarIdiomasPersonalizado($sSQL) (*CustomLanguagesList*)
+**Type:** *Función*  
 **Parámetro:** $sSQL
-**Valor:** arreglo  
-**Explicación:** Devuelve un arreglo con todos los idiomas que cumplan el criterio *where* que cumpla *$sSQL*  
-**Ejemplo:**
+**Value:** array  
+**Explanation:** Returns an array with all languages which criteria *where $sSQL*  
+**Example:**
 
 	$gemi = Yii::app()->getModule('gemi');
 	$ListarIdiomasPersonalizado = $gemi->ListarIdiomasPersonalizado('idiActivo = 0');
 	$ListarIdiomasPersonalizado[array]:
 		en => English
 
-**Observaciones:**  
-- El nombre de los idiomas se sugiere que estén en el idioma original  
-- Proximamente: quizá debería entregar un arreglo con esta estructura: 
+**Obervations:**  
+- It's recomended native language for language name.  
+- To Do: It should return an array with the follow structure: 
 
 	$ListarIdiomasPersonalizados[array]:
-		en => English, [activo], [sin baja lógica]
+		en => English, [active], [no soft deleted]
 
-#### idiomaPorDefecto
-**Tipo:** *magic getter*  
-**Valor:** cadena  
-**Explicación:** Devuelve una cadena con el idioma por defecto  
-**Ejemplo:**
+#### idiomaPorDefecto (*DefaultLanguage*)
+**Type:** *magic getter*  
+**Value:** string  
+**Explanation:** Returns a string with the default language  
+**Example:**
 
 	$gemi = Yii::app()->getModule('gemi');
 	$idiomaPorDefecto = $gemi->idiomaPorDefecto;
 
 	$idiomaPorDefecto[string]: es
 
-**Observaciones:**  
-- Proximamente: quizá debería poder personalizarse el idioma por defecto a ingresar en la tabla.
+**Obervations:**  
+- To Do: It should be customized the default language in the table.
 
-#### IdiomaEstaDisponible($sCodigoDeIdioma)
-**Tipo:** *Función*  
-**Parámetro:** $sCodigoDeIdioma
-**Valor:** Verdadero/Falso  
-**Explicación:** Devuelve un valor *true/false* si el idioma está o no activo, y no está dado de baja  
-**Ejemplo:**
+#### IdiomaEstaDisponible($sCodigoDeIdioma) (*LanguageIsAvailable*)
+**Type:** *Function*  
+**Parámetro:** $sLanguageCode
+**Value:** True/False  
+**Explanation:** Returns a *true/false* if the language is active or not, and it is not soft deleted  
+**Example:**
 
 	$gemi = Yii::app()->getModule('gemi');
 	$IdiomaDisponible = $gemi->IdiomaEstaDisponible('es');
 	$IdiomaDisponible2[bool]: false
 
 ----
-###Créditos:
-Para el desarrollo de este módulo se utilizaron los siguientes recursos:
+###Credits:
+These resources were used to develop this module:
 
  - [LanguageSelector](http://www.yiiframework.com/wiki/293/manage-target-language-in-multilingual-applications-a-language-selector-widget-i18n)
  - [MissingTranslation](http://www.yiiframework.com/extension/db-missing-translations)
  - [EUpadteDialog](http://www.yiiframework.com/extension/eupdatedialog)
-
+ - [Yii i18n](http://www.yiiframework.com/doc/guide/1.1/en/topics.i18n)