Proyectos de Subversion Moodle

Rev

Rev 1061 | Rev 1067 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1061 Rev 1062
Línea 97... Línea 97...
97
            'page' => new \external_value(PARAM_INT, 'Número de página', VALUE_DEFAULT, 1),
97
            'page' => new \external_value(PARAM_INT, 'Número de página', VALUE_DEFAULT, 1),
98
            'perpage' => new \external_value(PARAM_INT, 'Cursos por página', VALUE_DEFAULT, 10),
98
            'perpage' => new \external_value(PARAM_INT, 'Cursos por página', VALUE_DEFAULT, 10),
99
        ]);
99
        ]);
100
    }
100
    }
Línea 101... Línea 101...
101
 
101
 
102
    public static function get_cursos_catalogo($category_id, $search_text, $page, $perpage)
102
    public static function get_cursos_catalogo($category_id, $search_text, $page = 1, $perpage = 10)
Línea 103... Línea 103...
103
    {
103
    {
Línea 104... Línea 104...
104
 
104
 
Línea 358... Línea 358...
358
            if ($category) {
358
            if ($category) {
359
                array_push($categories, ['id' => $category->id, 'name' => $category->name]);
359
                array_push($categories, ['id' => $category->id, 'name' => $category->name]);
360
            }
360
            }
361
        }
361
        }
Línea -... Línea 362...
-
 
362
 
-
 
363
        $total_courses = count($courses);
-
 
364
        $total_pages = ceil($total_courses / $perpage);
-
 
365
        $page = max(1, min($page, $total_pages)); // Asegúrate de que `page` esté dentro de los límites.
-
 
366
        $offset = ($page - 1) * $perpage;
-
 
367
        $courses = array_slice($courses, $offset, $perpage);
362
 
368
 
363
        $pagination = [
369
        $pagination = [
364
            'current_page' => $page,
370
            'current_page' => $page,
365
            'total_pages' => $total_pages,
371
            'total_pages' => $total_pages,
366
            'has_previous' => $page > 1,
372
            'has_previous' => $page > 1,