Clase backend, usada en los paneles de WEBvivo


Métodos texto

-----------------------------------------------------------------------------
chkIfTextKeyExist($key) - Verifica si una clave de texto existe
updateText($conf) - Actualiza el texto de una clave de texto
$conf array data:
     * keyword (str): Nueva clave a añadir
     * text (array): array con el texto en cada idioma como ['iso'] = ['text']
     * rtf (bool): true para permitir HTML, false para texto plano
            poner a 2 or 'nocke' para permitir HTML, pero desconectandoCKEditor en el panel
     * filter (str): Filtro a aplicar al texto con la función core::filterStr(), por defecto htmldec (convierte html a entidades)
     * noupdate (bool): true para crear una nueva clave si no existe (no actualiza claves existentes)
readText($cnf,$filter) - Devuelve un objeto con el texto en todos los idiomas activos en el framework
     * $cnf (str/array): Clave de texto a leer o array de configuración con estos datos:
         * key/txtkey (str): Clave de texto
         * filter (str): Filtro a aplicar al texto con la función core::filterStr(), por defecto htmldec (convierte html a entidades)
     * $filter (str): Idéntico al parámetro filter de $conf
delText($id) - Borra la clave y texto que contiene el nombre o ID de la clave
recoverText($id) - Recupera un texto y clave borrados desde el nombre o ID de la clave
purgeText($id) - Elimina para siempre la clave y texto que contiene el nombre o ID de la clave
renTextKey($act,$new) - Renombre una clave de texto de $act a $new
searchText($cnf) - Busca una cadena en todas las claves de texto
     $cnf:
          * search/phrase (str): Frase de búsqueda
          * remove_common_words (bool): true = elimina de la búsqueda palabras comunes, como artículos y contracciones
          * remove_accents (bool): true = busca sin tener los acentos en cuenta
          * remove_symbols (bool): true = busca sin tener en cuenta los símbolos
getTextKeyID($name) - Obtiene el ID de una clave de texto a partir de su nombre
getKeyNameByID($id) - Obtiene el nombre de una clave de texto a partir de su nombre

 

Métodos usuarios

-----------------------------------------------------------------------------
updateUser($conf) - Actualiza o crea un usuario
Datos obligatorios para crear un nuevo usuario
     username (str): Nombre de usuario, sólo letras y números. Máximo 16 caracteres. Minúsculas.
     email (str): Email del usuario, máximo 64 caracteres.
     password (str): Contraseña del usuario, máximo 32 caracteres. No admite espacios.
     NOTA: Si se facilita user_id (para editar el registro), no hay ningún dato obligatorio.
    
 Datos opcionales
     debug (bool): true para mostrar depuración de la base de datos.
     user_id (int): Si se facilita un ID de usuario válido, se edita el registro, si no se crea uno nuevo.
     activated (bool): true para activar el usuario.
     group_id (int): ID del grupo de usuarios (5 por defecto).
     exp_date (date): Fecha de caducidad en formato aaaa-mm-dd, si se envía un string vacío se deja en NULL.
     noexp (bool): true si la cuenta nunca caduca.
     typexp (int): Cuando la cuenta caduca; 0=desactivarla, n=poner el número indicado de ID de grupo.
     bademail (bool): true El email que se facilitó falló la validación (se graba el email de todas formas).
     name (str): Alias del usuario. Limitado a 256 caracteres por el tamaño definido de la base de datos.
     lang (str): Código ISO de idioma de 2 caracteres.
     entity (int): ID de la entidad (0 por defecto).
     customer (json): Datos del cliente en JSON. Si el archivo no es JSON o se envía un string vacío, se graba como NULL.
     comments (str): Comentarios sobre el usuario.
     pd_sess_grp_id (bool): True para actualizar en la sesión el group_id del usuario al nuevo (no funcina si se está suplantando a otro usuario)
Ejemplo de uso para crear un usuario:
$cnf['username'] = "juanadie";
$cnf['email'] = "juanadie@example.com";
$cnf['password'] = "Shhhh!N0SeLoDigasANadie";
$cnf['activated'] = 1;
$cnf['group_id'] = 3;
$cnf['exp_date'] = '2030-12-31';
$cnf['noexp'] = 0;
$cnf['typexp'] = 0;
$cnf['bademail'] = 0;
$cnf['name'] = "Juan Nadie";
$cnf['lang'] = "ES";
$cnf['entity'] = 1;
$cnf['customer'] = '{"nombre":"Juan","apellido":"Nadie","dni":"01234567L"}';
$cnf['comments'] = "Añadiendo un nuevo usuario de prueba";
$cnf['debug'] = false;

$out = $wv->back->updateUser($cnf);
$wv->vardump($out);
Ejemplo de uso para editar un usuario:
$cnf['username'] = "juanadie";
$cnf['email'] = "juanadie@example.com";
$cnf['password'] = "Shhhh!N0SeLoDigasANadie";
$cnf['user_id'] = 26; //Al indicar el ID del usuario, se edita el registro
$cnf['activated'] = 1;
$cnf['group_id'] = 3;
$cnf['exp_date'] = ''; //Esto borra la fecha de caducidad
$cnf['noexp'] = 1; //La cuenta no caduca
$cnf['typexp'] = 0;
$cnf['bademail'] = 0;
$cnf['name'] = "Juan Nadie";
$cnf['lang'] = "ES";
$cnf['entity'] = 1;
$cnf['customer'] = '{"nombre":"Juan","apellido":"Nadie","dni":"01234567L"}';
$cnf['comments'] = "Editando el usuario con el ID 26";
$cnf['debug'] = false;

$out = $wv->back->updateUser($cnf);
$wv->vardump($out);
Si se omiten campos al editar un usuario, no se actualizan:
//Esto desactiva el usuario con ID 26, sin cambiar ningún otro dato
$cnf['user_id'] = 26; //Al indicar el ID del usuario, se edita el registro
$cnf['activated'] = 0;

$out = $wv->back->updateUser($cnf);
$wv->vardump($out);

deleteUser($users,$sud) - Borra uno o más usuarios a partir de su ID (enviar array en $users si hay más de uno), si "Solo Usuarios Desactivados) $sud = true, sólo borra usuarios previamente desactivados.
getAllUsers($stat) - Obtiene una lista de todos los usuarios. Si $stat es 1 sólo muestra usuarios activos, si es 0 sólo inactivos.
purgeUsers() - Borra todos los usuarios desactivados.
userStat($users,$stat) - Cambia el estado de uno o más usuarios por ID, email o nombre de usuario (enviar array en $users si hay más de uno), $stat true (activar), false (desactivar).
disableUser($users) - Desactiva un usuario por ID, email o nombre de usuario.
enableUser($users) - Activa un usuario por ID, email o nombre de usuario.
searchCustomer($search) - Busca una cadena dentro de los datos de los usuarios y devuelve una lista de los IDs encontrados.
 
 

Métodos entidades

-----------------------------------------------------------------------------
getEntityName($id) - Obtiene el nombre de una entidad a partir de su ID
getEntityID($name) - Obtiene el ID de una entidad a partir del nombre

 

Métodos páginas

-----------------------------------------------------------------------------
getPageInfo($page) - Obtiene la información de una página apartir de su ID o alias
chkIfPageExist($page) - Comprueba si una página existe a partir del ID o alias.
updatePage($conf) - Crea o actualiza una página.
Parámetros de conf:
     * id: ID de la página (si se omite se crea una nueva página).
     * alias: Alias de la página (dominio.com/alias).
     * file: Nombre del archivo (file.php).
     * title: Título de la página.
     * stat: Estado de la página (0 por defecto = conectada).
     * accres: ID del grupo que tiene acceso, por debajo devuelve un error de acceso.
     * min_accres: ID del grupo mínimo que tendrá permisos de administración para la página.
     * owner: ID del usuario propietario de la página.
     * priority: Prioridad en el sitemap (0 a 10).
     * ws: ID del website en la tabla file_ws (indica el dominio y las plantillas que usará la página).
     * ex: Está página sólo será accesible desde el dominio asignado en ws.
     * nh: true = No genera cabeceras ni pies de página.
     * https: 0 = indefinido, 1 = fuerza https, 2 = fuerza http.
     * pce: true = Condicionales de página activos.
     * dir: ID del directorio del archivo en "file".
     * grp: ID del grupo de página al que pertenece.
     * trail: ID de la página precedente.
chkIfVpageExist($page) - Comprueba si una página virtual existe por su ID o alias
updateVpage($conf) - Crea o actualiza una página virtual.
Parámetros de conf:
     * id: ID de la página virtual (si se omite se crea una nueva página).
     * virtual: Alias de la página virtual (dominio.com/alias).
     * alias: ID del alias (página), real donde apunta la página virtual
     * string: Cadena de configuración que devuelve la página virtual.
delVpage($page) - Borra una página virtual por su ID o alias
getAllVpages($all) - Obtiene una objeto con una lista de todas las páginas virtuales conectadas, o todas si all = 1

 

Métodos de soporte

-----------------------------------------------------------------------------
antiReload($hash) - Impide la recarga de las páginas tras un POST/GET
backPgGen($cnf) - Genera un enlace para usar en el método backPg()
Parámetros de conf:
     * page: ID o alias de la página.
     * query: Query string (opcional).
     * url: URL de destino (desactiva page y query).
backPg($back_gen,$curr_lnk) - Devuelve un enlace de retorno con los datos de backPgGen() y el enlace actual.
cidr2Range($cidr) - Devuelve un rango de IPs a partir de una dirección IP CIDR.
netMatch($cidr, $ip) - Verifica si una IP está dentro de un rango CIDR.
nonRoutableIP($ip) - Devuelve true si una dirección IP no es rutable en internet (redes privadas o prohibidas).
proxyDetect($ip) - Detecta si una IP pertenece a un proxy.
switchStat($table,$id,$nds) - Intercambia el stat de un registro a partir de la tabla y el ID, si está conectado lo desconecta y viceversa. En el caso de la tabla de atributos EAV también desconecta todos los registros de EAV data, excepto si se envía $nds = true
Ejemplo de uso:
if ($_cmd == 'stat' && !empty($_id) && empty($_arbl)) {

    $out = $wv->back->switchStat($dbn->db_eav_elements,$_id);

    if (!empty($out->upd)) {
        if ($out->stat == 1) {
            $msg[] = "Se desconectó el elemento $_id";
        } else {
            $msg[] = "Se conectó el elemento $_id";
        }
    } else {
        $err[] = "No se cambió el estado de ningún elemento";
    }
}