Causa. Este tipo de error es generado por lo general cuando hacemos inicio de sesiones dobles desde un mismo navegador(Chrome, Firefox or IE) a un mismo server. Es decir en este caso asumo que se tenia abierto processamker(admin), y paralelamente en otro tab se tenia abierto Tracker. Lo cual acasiono que de alguna u otra manera se pisaran las sesiones.
SolucióNo abrir dos sesiones haciendo llamada a un mismo server. Ademas si adiciono una nueva validacion.
if (! isset( $_SESSION['PROCESS'] ) || ! isset( $_SESSION['APPLICATION'] ) ) {
G::header( 'location: login' );
die;
}
Changes the form field type to a suggest box so now the user needs to type 4 letters that are part of the first name, last name or username field in order to retrieve the field
Causa. Este tipo de error es generado cuando se tiene PHP5.4(object from empty value) o en su caso cuando se hace una actualizacióe PHP5.3 a PHP5.4
SolucióEs necesario crear una clase PHP de tipo Object y vacia. Esto debido a que a este objeto vacio se
añra nuevas propiedades(nuestras necesidades). Vease ejemplo siguiente.
$myObject = new StdClass();
$myObject->total = count( $triggersList );
$myObject->data = $triggersList;
Causa. Este tipo de error es generado por lo general cuando hacemos inicio de sesiones dobles desde un mismo
navegador(Chrome, Firefox or IE) a un mismo server. Es decir en este caso asumo que se tenia abierto processamker(admin), y paralelamente
en otro tab se tenia abierto Tracker. Lo cual acasiono que de alguna u otra manera se pisaran las sesiones.
SolucióNo abrir dos sesiones haciendo llamada a un mismo server. Ademas si adiciono una nueva validacion.
if (! isset( $_SESSION['PROCESS'] ) || ! isset( $_SESSION['APPLICATION'] ) ) {
G::header( 'location: login' );
}
$this->UserConfig = array(); /* Esto no existia en un principio y la logica de funcionamiento era el correcto*/
if (!isset($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Sin enbargo al adicionar esa linea(Motivo Warnings de PHP), el if que se menciona tubo otra logica de trabajo es por eso que no se reflejaba los cambios realizados por el usuario.
SolucióLo que se realizo fue cambiar la instruccion isset por empty, de la siguiente manera.
if (empty($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Con esto fue resuelto el error.
Nota.- A medida que se corrigio este error, tambien fue corregido los Notices PHP generados(Index Indefinido) y asi tener mas limpio el codigo.
Ejem.
Estado Inicial >> $config['format'] = $_POST["userFormat"];
Estado final >> if (isset($_POST["dateFormat"])) {
$config['dateFormat'] = $_POST["dateFormat"];
}
0016743: Apostrofe en direccion de correos genera error
Se agrego a la validacion en las expresiones regulares el caracter de apostrofe, teniendo como resultado el envio de email con estado "sent" ya sea por trigger, cases notes o task notifications.
Causa. Esto fue debido a los siguientes motivos.
Inicialmente si funcionaba... se realizo un leve cambio parecida a la siguiente
instrucció
$this->UserConfig = array(); /* Esto no existia en un principio y la logica de funcionamiento era el correcto*/
if (!isset($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Sin enbargo al adicionar esa linea(Motivo Warnings de PHP), el if que se menciona tubo otra logica de trabajo es por eso que no se reflejaba los cambios realizados por el usuario.
Solució Lo que se realizo fue cambiar la instruccion isset por empty, de la siguiente manera.
if (empty($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Con esto fue resuelto el error.
Nota.- A medida que se corrigio este error, tambien fue corregido los Notices PHP generados(Index Indefinido) y asi tener mas limpio el codigo.
Ejem.
Estado Inicial >> $config['format'] = $_POST["userFormat"];
Estado final >> if (isset($_POST["dateFormat"])) {
$config['dateFormat'] = $_POST["dateFormat"];
}
Causa. Esto fue debido a los siguientes motivos.
Inicialmente si funcionaba... se realizo un leve cambio parecida a la siguiente
instrucció
$this->UserConfig = array(); /* Esto no existia en un principio y la logica de funcionamiento era el correcto*/
if (!isset($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Sin enbargo al adicionar esa linea(Motivo Warnings de PHP), el if que se menciona tubo otra logica de trabajo es por eso que no se reflejaba los cambios realizados por el usuario.
Solució Lo que se realizo fue cambiar la instruccion isset por empty, de la siguiente manera.
if (empty($this->UserConfig)) {
$this->UserConfig = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
}
Con esto fue resuelto el error.
Nota.- A medida que se corrigio este error, tambien fue corregido los Notices PHP generados(Index Indefinido) y asi tener mas limpio el codigo.
Ejem.
Estado Inicial >> $config['format'] = $_POST["userFormat"];
Estado final >> if (isset($_POST["dateFormat"])) {
$config['dateFormat'] = $_POST["dateFormat"];
}
Causa. Se debio a que en versiones anteriores si es posible enviar parametros de la siguiente manera.
@@res = PMFGetCaseNotes (@@APPLICATION,array,@@USER_LOGGED); notese que el segundo parametro no se especifica el tipo
aunque se asume que es string(PHP5.3)
En versiones con PHP5.4 no es soportado ya que deberia especificarse el tipo, de la siguiente manera
@@res = PMFGetCaseNotes (@@APPLICATION,'array',@@USER_LOGGED);
SolucióBajo esta sentido se hace ese leve cambio considerando este caso de PHP, y asi apreciandose un correcto funcionamiento.
Al hacer resend de un email en el Message History del Case Information Menu, se despliega dos notice con Undefined index.
Se valido que el elemento que genera el "notice" exista, antes de continuar con la ejecucion del mismo.