Puede ser que hagas algo asi?
en index.php (o cualquier otro) tengas un
Código PHP:
include("conexion");
include("functions_arti.php");
Si es así, y tu ajax apunta a functions arti, cuando usas ajax nunca cargará la conexion a la bbdd.
El fallo que te muestra es ese, que $cnPortal no está "seteada".
Revisa que al usar ajax, vuelvas a cargar la conexion
EDITADO: He mirado tu código, y sí, ajax llama a funciones articulo, y este (segun lo q tienes pegado arriba) nunca cargará ninguna conexion de bbdd. Ahí es donde falla