GEANT /
CAT
This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include, or for example
via PHP's auto-loading mechanism.
| 1 | <?php |
||
| 2 | /* |
||
| 3 | * ***************************************************************************** |
||
| 4 | * Contributions to this work were made on behalf of the GÉANT project, a |
||
| 5 | * project that has received funding from the European Union’s Framework |
||
| 6 | * Programme 7 under Grant Agreements No. 238875 (GN3) and No. 605243 (GN3plus), |
||
| 7 | * Horizon 2020 research and innovation programme under Grant Agreements No. |
||
| 8 | * 691567 (GN4-1) and No. 731122 (GN4-2). |
||
| 9 | * On behalf of the aforementioned projects, GEANT Association is the sole owner |
||
| 10 | * of the copyright in all material which was developed by a member of the GÉANT |
||
| 11 | * project. GÉANT Vereniging (Association) is registered with the Chamber of |
||
| 12 | * Commerce in Amsterdam with registration number 40535155 and operates in the |
||
| 13 | * UK as a branch of GÉANT Vereniging. |
||
| 14 | * |
||
| 15 | * Registered office: Hoekenrode 3, 1102BR Amsterdam, The Netherlands. |
||
| 16 | * UK branch address: City House, 126-130 Hills Road, Cambridge CB2 1PQ, UK |
||
| 17 | * |
||
| 18 | * License: see the web/copyright.inc.php file in the file structure or |
||
| 19 | * <base_url>/copyright.php after deploying the software |
||
| 20 | */ |
||
| 21 | namespace web\skins\msp; |
||
| 22 | |||
| 23 | use web\lib\user; |
||
| 24 | |||
| 25 | /** |
||
| 26 | * This class delivers various <div> elements for the front page. |
||
| 27 | * |
||
| 28 | * @author Tomasz Wolniewicz <[email protected]> |
||
| 29 | */ |
||
| 30 | class Divs { |
||
| 31 | |||
| 32 | /** |
||
| 33 | * The Gui object we are working with. |
||
| 34 | * |
||
| 35 | * @var user\Gui |
||
| 36 | */ |
||
| 37 | private $Gui; |
||
| 38 | |||
| 39 | public function __construct(user\Gui $Gui) { |
||
| 40 | $this->Gui = $Gui; |
||
| 41 | } |
||
| 42 | |||
| 43 | public function divHeading($visibility = 'all') { |
||
| 44 | $selectedLang = $this->Gui->languageInstance->getLang(); |
||
|
0 ignored issues
–
show
Unused Code
introduced
by
Loading history...
|
|||
| 45 | $retval = "<div id='heading'>"; |
||
| 46 | $location = $this->Gui->skinObject->findResourceUrl("IMAGES", "consortium_logo.png"); |
||
| 47 | if ($location !== FALSE) { |
||
| 48 | $retval .= "<div id='cat_logo'> |
||
| 49 | <a href='".\config\ConfAssistant::CONSORTIUM['homepage']."'><img id='logo_img' src='$location' alt='Consortium Logo'/></a> |
||
| 50 | <span>Managed SP Service</span> |
||
| 51 | </div>"; |
||
| 52 | } |
||
| 53 | $retval .= "<div id='motd'>".(isset(\config\Master::APPEARANCE['MOTD']) ? \config\Master::APPEARANCE['MOTD'] : ' ')."</div>"; |
||
| 54 | if ($visibility !== 'index') { |
||
| 55 | $retval .= "<div id='menu_top'>"; |
||
| 56 | if ($visibility === 'start') { |
||
| 57 | $retval .= $menu->printMinimalMenu(); |
||
|
0 ignored issues
–
show
Comprehensibility
Best Practice
introduced
by
|
|||
| 58 | } else { |
||
| 59 | $retval .= $menu->printMenu(); |
||
| 60 | } |
||
| 61 | $retval .= "</div>\n"; |
||
| 62 | } |
||
| 63 | $retval .= "</div>\n"; |
||
| 64 | return $retval; |
||
| 65 | } |
||
| 66 | |||
| 67 | public function divSilverbullet() { |
||
| 68 | $retval = " |
||
| 69 | <div id='silverbullet'>" |
||
| 70 | . $this->Gui->textTemplates->templates[user\SB_GO_AWAY] . |
||
| 71 | "</div> |
||
| 72 | "; |
||
| 73 | return $retval; |
||
| 74 | } |
||
| 75 | |||
| 76 | public function divTopWelcome() { |
||
| 77 | return " |
||
| 78 | <div id='welcome_top1'> |
||
| 79 | Welcome to the eduroam Managed SP service.<p> |
||
| 80 | If you are an administrator for an institution serviced here or and NRO admin please use the login button below. |
||
| 81 | </div> |
||
| 82 | "; |
||
| 83 | } |
||
| 84 | |||
| 85 | public function divRoller() { |
||
| 86 | $retval = " |
||
| 87 | <div id='roller'> |
||
| 88 | <div id='slides'></div></div> |
||
| 89 | "; |
||
| 90 | return $retval; |
||
| 91 | } |
||
| 92 | |||
| 93 | public function divMainButton() { |
||
| 94 | $retval = " |
||
| 95 | <div id='user_button_td'> |
||
| 96 | <span id='signin'> |
||
| 97 | <button class='large_button signin_large' id='user_button1' onclick='goAdmin(); return(false);'> |
||
| 98 | <span id='user_button'>"; |
||
| 99 | |||
| 100 | $retval .= "Administrator login |
||
| 101 | </span> |
||
| 102 | </button> |
||
| 103 | </span> |
||
| 104 | <span style='padding-left:50px'> </span> |
||
| 105 | </div>"; |
||
| 106 | return $retval; |
||
| 107 | } |
||
| 108 | |||
| 109 | public function divProfiles() { |
||
| 110 | return " |
||
| 111 | <div id='profiles'> <!-- this is the profile selection filled during run time --> |
||
| 112 | <div id='profiles_h' class='sub_h'>" . $this->Gui->textTemplates->templates[user\PROFILE_SELECTION] . " |
||
| 113 | </div>" . |
||
| 114 | "<select id='profile_list'></select><div id='profile_desc' class='profile_desc'></div>" . |
||
| 115 | "</div>"; |
||
| 116 | } |
||
| 117 | |||
| 118 | public function divPagetitle($mainText, $extraText = '') { |
||
| 119 | return " |
||
| 120 | <div id='institution_name'> |
||
| 121 | <span id='inst_name_span'>$mainText</span> <div id='inst_extra_text'>$extraText</div> |
||
| 122 | </div>"; |
||
| 123 | } |
||
| 124 | |||
| 125 | |||
| 126 | public function divInstitution($selectButton = TRUE) { |
||
| 127 | $retval = "<div id='institution_name'> |
||
| 128 | <span id='inst_name_span'></span> <div id='inst_extra_text'></div><!-- this will be filled with the IdP name -->" . |
||
| 129 | ($selectButton ? "<a id='select_another' class='signin' href=\"\">" . $this->Gui->textTemplates->templates[user\INSTITUTION_SELECTION] . "</a>" : "") . |
||
| 130 | "</div>"; |
||
| 131 | $retval .= $this->emptyImage('idp_logo', 'IdP Logo'); |
||
| 132 | return $retval; |
||
| 133 | } |
||
| 134 | |||
| 135 | public function divFederation() { |
||
| 136 | $retval = $this->emptyImage('fed_logo', 'Federation Logo'); |
||
| 137 | return $retval; |
||
| 138 | } |
||
| 139 | |||
| 140 | public function divOtherinstallers() { |
||
| 141 | $retval = " |
||
| 142 | <div class='sub_h'> |
||
| 143 | <div id='other_installers'>".$this->Gui->textTemplates->templates[user\DOWNLOAD_CHOOSE] . " |
||
| 144 | <table id='device_list' style='padding:0px;'>"; |
||
| 145 | |||
| 146 | foreach ($this->Gui->listDevices(isset($_REQUEST['hidden']) ? $_REQUEST['hidden'] : 0) as $group => $deviceGroup) { |
||
| 147 | $groupIndex = count($deviceGroup); |
||
| 148 | $deviceIndex = 0; |
||
| 149 | |||
| 150 | $imgTag = ""; |
||
| 151 | $imgLocation = $this->Gui->skinObject->findResourceUrl("IMAGES", "vendorlogo/" . $group . ".png"); |
||
| 152 | if ($imgLocation !== FALSE) { |
||
| 153 | $imgTag = '<img src="' . $imgLocation . '" alt="' . $group . ' Device" title="' . $group . ' Device">'; |
||
| 154 | } |
||
| 155 | $retval .= '<tbody><tr><td class="vendor" rowspan="' . $groupIndex . '">' . $imgTag . '</td>'; |
||
| 156 | foreach ($deviceGroup as $d => $D) { |
||
| 157 | if ($deviceIndex) { |
||
| 158 | $retval .= '<tr>'; |
||
| 159 | } |
||
| 160 | $retval .= "<td><button id='" . $d . "'>" . $D['display'] . "</button>" |
||
| 161 | . "<div class='device_info' id='info_" . $d . "'></div></td>" |
||
| 162 | . "<td><button class='more_info_b' id='info_b_" . $d . "'>i</button></td></tr>\n"; |
||
| 163 | $deviceIndex++; |
||
| 164 | } |
||
| 165 | $retval .= "</tbody>"; |
||
| 166 | } |
||
| 167 | $retval .= " |
||
| 168 | </table> |
||
| 169 | </div> |
||
| 170 | </div>"; |
||
| 171 | return $retval; |
||
| 172 | } |
||
| 173 | |||
| 174 | public function divGuessOs($operatingSystem) { |
||
| 175 | $vendorlogo = $this->Gui->skinObject->findResourceUrl("IMAGES", "vendorlogo/" . $operatingSystem['group'] . ".png"); |
||
| 176 | $vendorstyle = ""; |
||
| 177 | if ($vendorlogo !== FALSE) { |
||
| 178 | $vendorstyle = "style='background-image:url(\"" . $vendorlogo . "\")'"; |
||
| 179 | } |
||
| 180 | $deleteIcon = $this->Gui->skinObject->findResourceUrl("IMAGES", "icons/delete_32.png"); |
||
| 181 | $deleteImg = ""; |
||
| 182 | if ($deleteIcon !== FALSE) { |
||
| 183 | $deleteImg = "<img id='cross_icon_" . $operatingSystem['device'] . "' src='$deleteIcon' >"; |
||
| 184 | } |
||
| 185 | return " |
||
| 186 | <div class='sub_h' id='guess_os'> |
||
| 187 | <!-- table browser --> |
||
| 188 | <table id='browser'> |
||
| 189 | <tr> |
||
| 190 | <td> |
||
| 191 | <button class='large_button guess_os' $vendorstyle id='g_" . $operatingSystem['device'] . "'> |
||
| 192 | $deleteImg |
||
| 193 | <div class='download_button_text_1' id='download_button_header_" . $operatingSystem['device'] . "'> " . $this->Gui->textTemplates->templates[user\DOWNLOAD_MESSAGE] . " |
||
| 194 | </div> |
||
| 195 | <div class='download_button_text'>" . |
||
| 196 | $operatingSystem['display'] . " |
||
| 197 | </div> |
||
| 198 | </button> |
||
| 199 | <div class='device_info' id='info_g_" . $operatingSystem['device'] . "'></div> |
||
| 200 | </td> |
||
| 201 | <td style='vertical-align:top'> |
||
| 202 | <button class='more_info_b large_button' id='g_info_b_" . $operatingSystem['device'] . "'>i</button> |
||
| 203 | </td> |
||
| 204 | </tr> |
||
| 205 | </table> <!-- id='browser' --> |
||
| 206 | <div class='sub_h'> |
||
| 207 | <a href='javascript:other_installers()'>" . $this->Gui->textTemplates->templates[user\DOWNLOAD_CHOOSE] . "</a> |
||
| 208 | </div> |
||
| 209 | </div> <!-- id='guess_os' -->"; |
||
| 210 | } |
||
| 211 | |||
| 212 | public function divFooter() { |
||
| 213 | $retval = " |
||
| 214 | <div class='footer' id='footer'> |
||
| 215 | <table> |
||
| 216 | <tr> |
||
| 217 | <td>" . |
||
| 218 | $this->Gui->catCopyright |
||
| 219 | . " |
||
| 220 | </td>"; |
||
| 221 | |||
| 222 | if (!empty(\config\Master::APPEARANCE['privacy_notice_url'])) { |
||
| 223 | $retval .= "<td><a href='".\config\Master::APPEARANCE['privacy_notice_url']."'>".sprintf(_("%s Privacy Notice"), \config\ConfAssistant::CONSORTIUM['display_name'])."</a></td>"; |
||
| 224 | } |
||
| 225 | $retval .= "<td>"; |
||
| 226 | if (\config\ConfAssistant::CONSORTIUM['name'] == "eduroam" && isset(\config\ConfAssistant::CONSORTIUM['deployment-voodoo']) && \config\ConfAssistant::CONSORTIUM['deployment-voodoo'] == "Operations Team") { |
||
| 227 | $geant = $this->Gui->skinObject->findResourceUrl("IMAGES", "dante.png"); |
||
| 228 | $eu = $this->Gui->skinObject->findResourceUrl("IMAGES", "eu.png"); |
||
| 229 | if ($geant !== FALSE && $eu !== FALSE) { |
||
| 230 | $retval .= "<span id='logos'><img src='$geant' alt='GEANT' style='height:23px;width:47px'/> |
||
| 231 | <img src='$eu' alt='EU' style='height:23px;width:27px;border-width:0px;'/></span>"; |
||
| 232 | } |
||
| 233 | $retval .= "<span id='eu_text' style='text-align:right; padding-left: 60px; display: block; '><a href='http://ec.europa.eu/dgs/connect/index_en.htm' style='text-decoration:none; vertical-align:top; text-align:right'>European Commission Communications Networks, Content and Technology</a></span>"; |
||
| 234 | } else { |
||
| 235 | $retval .= " "; |
||
| 236 | } |
||
| 237 | |||
| 238 | $retval .= " |
||
| 239 | </td> |
||
| 240 | </tr> |
||
| 241 | </table> |
||
| 242 | </div>"; |
||
| 243 | return $retval; |
||
| 244 | } |
||
| 245 | |||
| 246 | private function emptyImage($id, $alt) { |
||
| 247 | $empty = $this->Gui->skinObject->findResourceUrl("IMAGES", "empty.png"); |
||
| 248 | $retval = ''; |
||
| 249 | if ($empty !== FALSE) { |
||
| 250 | $retval = "<div> |
||
| 251 | <img id='$id' src='$empty' alt='$alt'/> |
||
| 252 | </div>"; |
||
| 253 | } |
||
| 254 | return $retval; |
||
| 255 | } |
||
| 256 | |||
| 257 | } |
||
| 258 |