Passed
Push — master ( 2cb959...2b5b03 )
by Julito
11:13 queued 10s
created

ScriptHandler::rmdirr()   C

Complexity

Conditions 12
Paths 18

Size

Total Lines 48
Code Lines 23

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 12
eloc 23
nc 18
nop 3
dl 0
loc 48
rs 6.9666
c 0
b 0
f 0

How to fix   Complexity   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
3
declare(strict_types=1);
4
5
/* For licensing terms, see /license.txt */
6
7
namespace Chamilo\CoreBundle\Component\Utils;
8
9
use Symfony\Component\Filesystem\Filesystem;
10
11
class ScriptHandler
12
{
13
    /**
14
     * Dump files to the web/css folder.
15
     */
16
    public static function dumpCssFiles(): void
17
    {
18
        /*$appCss = __DIR__.'/../../../assets/libs';
19
        $newPath = __DIR__.'/../../../public/libs/';
20
        if (!is_dir($newPath)) {
21
            mkdir($newPath);
22
        }
23
        $fs = new Filesystem();
24
        $fs->mirror($appCss, $newPath, null, ['override' => true]);*/
25
26
        if (\function_exists('opcache_reset')) {
27
            opcache_reset();
28
        }
29
    }
30
31
    /**
32
     * Delete old Symfony folder before update (generates conflicts with composer)
33
     * This method also applies to 1.10 folders removed for 1.11.
34
     */
35
    public static function deleteOldFilesFrom19x(): void
36
    {
37
        $files = self::getFilesToDelete();
38
39
        foreach ($files as $file) {
40
            $file = __DIR__.'/../../../..'.$file;
41
            if (is_file($file) && is_writable($file)) {
42
                unlink($file);
43
            }
44
        }
45
    }
46
47
    public static function getFilesToDelete(): array
48
    {
49
        return [
50
            '/main/admin/statistics/statistics.lib.php',
51
            '/main/admin/add_users_to_group.php',
52
            '/main/admin/group_add.php',
53
            '/main/admin/group_edit.php',
54
            '/main/admin/group_list.php',
55
            '/main/admin/admin_page.class.php',
56
            '/main/admin/system_management.php',
57
            '/main/announcements/resources/announcements.inc.php',
58
            '/main/announcements/resources/announcements_email.class.php',
59
            '/main/auth/external_login/facebook-php-sdk/src/base_facebook.php',
60
            '/main/auth/external_login/facebook-php-sdk/src/facebook.php',
61
            '/main/auth/external_login/facebook-php-sdk/src/base_facebook.php',
62
            '/main/course_description/ajax_controller.class.php',
63
            '/main/course_description/controller.class.php',
64
            '/main/course_description/course_description.class.php',
65
            '/main/course_description/course_description_form.class.php',
66
            '/main/course_description/course_description_repository.class.php',
67
            '/main/course_description/course_description_type.class.php',
68
            '/main/course_description/course_description_type_repository.class.php',
69
            '/main/course_description/course_import.class.php',
70
            '/main/course_description/csv_reader.class.php',
71
            '/main/course_description/csv_writer.class.php',
72
            '/main/course_description/request.class.php',
73
            '/main/course_description/upload_file_form.class.php',
74
            '/main/calendar/agenda.inc.php',
75
            '/main/calendar/agenda.lib.php',
76
            '/main/exercice/addlimits.php',
77
            '/main/exercice/testcategory.class.php',
78
            '/main/exercice/export/scorm/scorm_export.php',
79
            '/main/exercice/testheaderpage.php',
80
            '/main/exercise/hotspot_lang_conversion.php',
81
            '/main/exercise/export/qti2/qti2_classes.php',
82
            '/main/inc/lib/main_api.lib.php',
83
            '/main/inc/lib/nusoap/class.soapclient.php',
84
            '/main/inc/lib/nusoap/nusoap.php',
85
            '/main/inc/lib/autoload.class.php',
86
            '/main/inc/autoload.inc.php',
87
            '/main/inc/lib/uri.class.php',
88
            '/main/inc/lib/db.class.php',
89
            '/main/inc/lib/phpmailer/test/phpmailerTest.php',
90
            '/main/inc/lib/xht.lib.php',
91
            '/main/inc/lib/xmd.lib.php',
92
            '/main/inc/lib/surveymanager.lib.php',
93
            '/main/inc/lib/entity.class.php',
94
            '/main/inc/lib/entity_repository.class.php',
95
            '/main/inc/lib/javascript.class.php',
96
            '/main/inc/lib/course.class.php',
97
            '/main/inc/lib/document.class.php',
98
            '/main/inc/lib/item_property.class.php',
99
            '/main/inc/lib/chamilo.class.php',
100
            '/main/inc/lib/events.lib.inc.php',
101
            '/main/inc/lib/current_user.class.php',
102
            '/main/inc/lib/current_course.class.php',
103
            '/main/inc/lib/response.class.php',
104
            '/main/inc/lib/result_set.class.php',
105
            '/main/inc/lib/session_handler.class.php',
106
            '/main/inc/lib/WCAG/WCAG_rendering.php',
107
            '/main/inc/lib/zip.class.php',
108
            '/main/inc/lib/student_publication.class.php',
109
            '/main/inc/lib/ajax_controller.class.php',
110
            '/main/inc/lib/system/closure_compiler.class.php',
111
            '/main/inc/lib/system/code_utilities.class.php',
112
            '/main/inc/lib/controller.class.php',
113
            '/main/inc/lib/system/text/converter.class.php',
114
            '/main/inc/lib/course_entity_repository.class.php',
115
            '/main/inc/lib/course_entity.class.php',
116
            '/main/inc/lib/cache.class.php',
117
            '/main/inc/lib/system/web/request_server.class.php',
118
            '/main/inc/lib/page.class.php',
119
            '/main/inc/lib/sortabletable.class.php',
120
            '/main/inc/lib/mail.lib.inc.php',
121
            '/main/install/i_database.class.php',
122
            '/main/install/install.class.php',
123
            '/main/inc/latex.php',
124
            '/main/inc/lib/formvalidator/Element/calendar_popup.php',
125
            '/main/inc/lib/formvalidator/Element/datepickerdate.php',
126
            '/main/inc/lib/formvalidator/Element/html_editor.php',
127
            '/main/inc/lib/formvalidator/Element/select_language.php',
128
            '/main/inc/lib/formvalidator/Element/select_theme.php',
129
            '/main/inc/lib/formvalidator/Element/style_button.php',
130
            '/main/inc/lib/formvalidator/Element/style_reset_button.php',
131
            '/main/inc/lib/formvalidator/Element/style_submit_button.php',
132
            '/main/inc/lib/formvalidator/Element/tbl_change.js.php',
133
            '/main/lp/resourcelinker.php',
134
            '/main/lp/resourcelinker.inc.php',
135
            '/main/lp/learnpath_functions.inc.php',
136
            '/main/lp/lp_list_search.css',
137
            '/main/ticket/course_user_list.php',
138
            '/main/ticket/report.php',
139
            '/main/ticket/tutor.php',
140
            '/main/ticket/update_report.php',
141
            '/main/tracking/toolaccess_details.php',
142
            '/main/tracking/course_access_details.php',
143
            '/src/DataFixtures/AppFixtures.php',
144
            '/web/assets/bootstrap/Gemfile',
145
            '/web/assets/bootstrap/Gemfile.lock',
146
            '/web/assets/bootstrap/Gruntfile.js',
147
            '/web/assets/bootstrap/package.js',
148
            '/web/assets/bootstrap/package.json',
149
            '/src/CourseBundle/Entity/CQuizQuestionRelCategory.php',
150
            '/src/CoreBundle/Entity/TrackEExercises.php',
151
            '/main/inc/lib/tablesort.lib.php',
152
        ];
153
    }
154
}
155