public static function toUserType($str, $default = 'administrador_de_comunidad', $nan = 'miembro_de_comunidad') {
     // $default: cuando no tiene tipo
     // $nan: cuando no es un tipo conocido
     $types = array('profesor_de_catedra', 'auxiliar', 'ayudante', 'alumno', 'miembro_de_comunidad', 'administrador_de_comunidad');
     $str = UcursosScrapper::toAscii($str);
     return $str ? (in_array($str, $types) ? $str : $nan ) : $default;
 }
    function getUserInstituciones() {
        $id = 'instituciones';
        if(!property_exists($this, $id)) return null;
        if($this->$id != null) return $this->$id;
        parent::process();

        $this->$id = array();
        foreach(pq('div#'.$id.' > ul > li') as $item) {
            $element = new stdClass();
            $element->tipo = UcursosScrapper::toAscii((pq('img', $item)->attr('alt')));
            $element->nombre = pq('a > span:first', $item)->text();
            $element->url = substr(pq('a', $item)->attr('href'), strlen('https://www.u-cursos.cl'));
            $element->nuevos = array();
            foreach(pq('div.nuevo > a', $item) as $new_item) {
                $new_count = pq($new_item)->html();
                $element->nuevos[substr(pq($new_item)->attr('href'), strlen('https://www.u-cursos.cl'. $element->url), -1)] = substr($new_count, strpos($new_count, '(')+1, -1);
            }
            $this->{$id}[] = $element;
        }
        return $this->$id;
    }