@@ -9,7 +9,7 @@ discard block |
||
9 | 9 | * ****************************************************************************** |
10 | 10 | */ |
11 | 11 | |
12 | -require_once dirname(dirname(dirname(dirname(__FILE__)))) . "/config/_config.php"; |
|
12 | +require_once dirname(dirname(dirname(dirname(__FILE__))))."/config/_config.php"; |
|
13 | 13 | |
14 | 14 | $auth = new \web\lib\admin\Authentication(); |
15 | 15 | $auth->authenticate(); |
@@ -22,30 +22,30 @@ discard block |
||
22 | 22 | |
23 | 23 | ?> |
24 | 24 | |
25 | -<h1><?php echo _("User Authentication Records");?></h1> |
|
26 | -<p><?php echo _("Note that:");?></p> |
|
25 | +<h1><?php echo _("User Authentication Records"); ?></h1> |
|
26 | +<p><?php echo _("Note that:"); ?></p> |
|
27 | 27 | <ul> |
28 | - <li><?php echo _("Authentication records are deleted after six months retention time");?></li> |
|
29 | - <li><?php echo _("Operator Domain is based on the RADIUS attribute 'Operator-Name' and not sent by all hotspots");?></li> |
|
30 | - <li><?php echo _("Different MAC addresses per credential may be due to MAC Address randomisation in recent operating systems");?></li> |
|
28 | + <li><?php echo _("Authentication records are deleted after six months retention time"); ?></li> |
|
29 | + <li><?php echo _("Operator Domain is based on the RADIUS attribute 'Operator-Name' and not sent by all hotspots"); ?></li> |
|
30 | + <li><?php echo _("Different MAC addresses per credential may be due to MAC Address randomisation in recent operating systems"); ?></li> |
|
31 | 31 | </ul> |
32 | 32 | <table class='authrecord'> |
33 | 33 | <tr> |
34 | - <td><strong><?php echo _("Timestamp");?></strong></td> |
|
35 | - <td><strong><?php echo _("Credential");?></strong></td> |
|
36 | - <td><strong><?php echo _("MAC Address");?></strong></td> |
|
37 | - <td><strong><?php echo _("Result");?></strong></td> |
|
38 | - <td><strong><?php echo _("Operator Domain");?></strong></td> |
|
34 | + <td><strong><?php echo _("Timestamp"); ?></strong></td> |
|
35 | + <td><strong><?php echo _("Credential"); ?></strong></td> |
|
36 | + <td><strong><?php echo _("MAC Address"); ?></strong></td> |
|
37 | + <td><strong><?php echo _("Result"); ?></strong></td> |
|
38 | + <td><strong><?php echo _("Operator Domain"); ?></strong></td> |
|
39 | 39 | </tr> |
40 | 40 | <?php |
41 | 41 | $userAuthData = $profile->getUserAuthRecords($userInt); |
42 | 42 | foreach ($userAuthData as $oneRecord) { |
43 | - echo "<tr class='".($oneRecord['RESULT'] == "Access-Accept" ? "auth-success" : "auth-fail" )."'>" |
|
43 | + echo "<tr class='".($oneRecord['RESULT'] == "Access-Accept" ? "auth-success" : "auth-fail")."'>" |
|
44 | 44 | . "<td>".$oneRecord['TIMESTAMP']."</td>" |
45 | - . "<td>".substr_replace($oneRecord['CN'], "@…", strpos($oneRecord['CN'],"@"))."</td>" |
|
45 | + . "<td>".substr_replace($oneRecord['CN'], "@…", strpos($oneRecord['CN'], "@"))."</td>" |
|
46 | 46 | . "<td>".$oneRecord['MAC']."</td>" |
47 | 47 | . "<td>".($oneRecord['RESULT'] == "Access-Accept" ? _("Success") : _("Failure"))."</td>" |
48 | - . "<td>".substr($oneRecord['OPERATOR'] ?? "1(unknown)",1)."</td>" |
|
48 | + . "<td>".substr($oneRecord['OPERATOR'] ?? "1(unknown)", 1)."</td>" |
|
49 | 49 | . "</tr>"; |
50 | 50 | } |
51 | 51 | ?> |
@@ -90,7 +90,7 @@ discard block |
||
90 | 90 | |
91 | 91 | // realm is automatically calculated, then stored in DB |
92 | 92 | |
93 | - $this->realm = "opaquehash@$myInst->identifier-$this->identifier." . strtolower($myInst->federation) . CONFIG_CONFASSISTANT['SILVERBULLET']['realm_suffix']; |
|
93 | + $this->realm = "opaquehash@$myInst->identifier-$this->identifier.".strtolower($myInst->federation).CONFIG_CONFASSISTANT['SILVERBULLET']['realm_suffix']; |
|
94 | 94 | $localValueIfAny = ""; |
95 | 95 | |
96 | 96 | // but there's some common internal attributes populated directly |
@@ -107,10 +107,10 @@ discard block |
||
107 | 107 | |
108 | 108 | // and we need to populate eap:server_name and eap:ca_file with the NRO-specific EAP information |
109 | 109 | $silverbulletAttributes = [ |
110 | - "eap:server_name" => "auth." . strtolower($myFed->tld) . CONFIG_CONFASSISTANT['SILVERBULLET']['server_suffix'], |
|
110 | + "eap:server_name" => "auth.".strtolower($myFed->tld).CONFIG_CONFASSISTANT['SILVERBULLET']['server_suffix'], |
|
111 | 111 | ]; |
112 | 112 | $x509 = new \core\common\X509(); |
113 | - $caHandle = fopen(dirname(__FILE__) . "/../config/SilverbulletServerCerts/" . strtoupper($myFed->tld) . "/root.pem", "r"); |
|
113 | + $caHandle = fopen(dirname(__FILE__)."/../config/SilverbulletServerCerts/".strtoupper($myFed->tld)."/root.pem", "r"); |
|
114 | 114 | if ($caHandle !== FALSE) { |
115 | 115 | $cAFile = fread($caHandle, 16000000); |
116 | 116 | $silverbulletAttributes["eap:ca_file"] = $x509->der2pem(($x509->pem2der($cAFile))); |
@@ -130,26 +130,26 @@ discard block |
||
130 | 130 | $this->loggerInstance->debug(3, "--- END Constructing new Profile object ... ---\n"); |
131 | 131 | |
132 | 132 | $this->termsAndConditions = "<h2>Product Definition</h2> |
133 | - <p>" . \core\ProfileSilverbullet::PRODUCTNAME . " outsources the technical setup of " . CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'] . " " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'] . " functions to the " . CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'] . " Operations Team. The system includes</p> |
|
133 | + <p>" . \core\ProfileSilverbullet::PRODUCTNAME." outsources the technical setup of ".CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']." ".CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution']." functions to the ".CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']." Operations Team. The system includes</p> |
|
134 | 134 | <ul> |
135 | 135 | <li>a web-based user management interface where user accounts and access credentials can be created and revoked (there is a limit to the number of active users)</li> |
136 | 136 | <li>a technical infrastructure ('CA') which issues and revokes credentials</li> |
137 | - <li>a technical infrastructure ('RADIUS') which verifies access credentials and subsequently grants access to " . CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'] . "</li> |
|
137 | + <li>a technical infrastructure ('RADIUS') which verifies access credentials and subsequently grants access to " . CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']."</li> |
|
138 | 138 | </ul> |
139 | 139 | <h2>User Account Liability</h2> |
140 | - <p>As an " . CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'] . " " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'] . " administrator using this system, you are authorized to create user accounts according to your local " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'] . " policy. You are fully responsible for the accounts you issue and are the data controller for all user information you deposit in this system; the system is a data processor.</p>"; |
|
140 | + <p>As an " . CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']." ".CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution']." administrator using this system, you are authorized to create user accounts according to your local ".CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution']." policy. You are fully responsible for the accounts you issue and are the data controller for all user information you deposit in this system; the system is a data processor.</p>"; |
|
141 | 141 | $this->termsAndConditions .= "<p>Your responsibilities include that you</p> |
142 | 142 | <ul> |
143 | - <li>only issue accounts to members of your " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'] . ", as defined by your local policy.</li> |
|
143 | + <li>only issue accounts to members of your " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'].", as defined by your local policy.</li> |
|
144 | 144 | <li>must make sure that all accounts that you issue can be linked by you to actual human end users</li> |
145 | - <li>have to immediately revoke accounts of users when they leave or otherwise stop being a member of your " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'] . "</li> |
|
145 | + <li>have to immediately revoke accounts of users when they leave or otherwise stop being a member of your " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution']."</li> |
|
146 | 146 | <li>will act upon notifications about possible network abuse by your users and will appropriately sanction them</li> |
147 | 147 | </ul> |
148 | 148 | <p>"; |
149 | - $this->termsAndConditions .= "Failure to comply with these requirements may make your " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_federation'] . " act on your behalf, which you authorise, and will ultimately lead to the deletion of your " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'] . " (and all the users you create inside) in this system."; |
|
149 | + $this->termsAndConditions .= "Failure to comply with these requirements may make your ".CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_federation']." act on your behalf, which you authorise, and will ultimately lead to the deletion of your ".CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution']." (and all the users you create inside) in this system."; |
|
150 | 150 | $this->termsAndConditions .= "</p> |
151 | 151 | <h2>Privacy</h2> |
152 | - <p>With " . \core\ProfileSilverbullet::PRODUCTNAME . ", we are necessarily storing personally identifiable information about the end users you create. While the actual human is only identifiable with your help, we consider all the user data as relevant in terms of privacy jurisdiction. Please note that</p> |
|
152 | + <p>With " . \core\ProfileSilverbullet::PRODUCTNAME.", we are necessarily storing personally identifiable information about the end users you create. While the actual human is only identifiable with your help, we consider all the user data as relevant in terms of privacy jurisdiction. Please note that</p> |
|
153 | 153 | <ul> |
154 | 154 | <li>You are the only one who needs to be able to make a link to the human behind the usernames you create. The usernames you create in the system have to be rich enough to allow you to make that identification step. Also consider situations when you are unavailable or leave the organisation and someone else needs to perform the matching to an individual.</li> |
155 | 155 | <li>The identifiers we create in the credentials are not linked to the usernames you add to the system; they are randomly generated pseudonyms.</li> |
@@ -255,7 +255,7 @@ discard block |
||
255 | 255 | if (empty($certNames)) { |
256 | 256 | return []; |
257 | 257 | } |
258 | - $namesCondensed = "'" . implode("' OR username = '", $certNames) . "'"; |
|
258 | + $namesCondensed = "'".implode("' OR username = '", $certNames)."'"; |
|
259 | 259 | $serverHandles = DBConnection::handle("RADIUS"); |
260 | 260 | $returnarray = []; |
261 | 261 | foreach ($serverHandles as $oneDbServer) { |
@@ -32,7 +32,7 @@ discard block |
||
32 | 32 | |
33 | 33 | use \Exception; |
34 | 34 | |
35 | -require_once dirname(__DIR__) . "/config/_config.php"; |
|
35 | +require_once dirname(__DIR__)."/config/_config.php"; |
|
36 | 36 | |
37 | 37 | /** |
38 | 38 | * This class is a singleton for establishing a connection to the database |
@@ -60,24 +60,24 @@ discard block |
||
60 | 60 | case "EXTERNAL": |
61 | 61 | case "FRONTEND": |
62 | 62 | case "DIAGNOSTICS": |
63 | - if (!isset(self::${"instance" . $theDb})) { |
|
63 | + if (!isset(self::${"instance".$theDb})) { |
|
64 | 64 | $class = __CLASS__; |
65 | - self::${"instance" . $theDb} = new $class($database); |
|
66 | - DBConnection::${"instance" . $theDb}->databaseInstance = $theDb; |
|
65 | + self::${"instance".$theDb} = new $class($database); |
|
66 | + DBConnection::${"instance".$theDb}->databaseInstance = $theDb; |
|
67 | 67 | } |
68 | - return self::${"instance" . $theDb}; |
|
68 | + return self::${"instance".$theDb}; |
|
69 | 69 | case "RADIUS": |
70 | - if (!isset(self::${"instance" . $theDb})) { |
|
70 | + if (!isset(self::${"instance".$theDb})) { |
|
71 | 71 | $class = __CLASS__; |
72 | 72 | foreach (CONFIG_CONFASSISTANT['DB'] as $name => $oneRadiusAuthDb) { |
73 | 73 | $theInstance = new $class($name); |
74 | - self::${"instance" . $theDb}[] = $theInstance; |
|
74 | + self::${"instance".$theDb}[] = $theInstance; |
|
75 | 75 | $theInstance->databaseInstance = $theDb; |
76 | 76 | } |
77 | 77 | } |
78 | - return self::${"instance" . $theDb}; |
|
78 | + return self::${"instance".$theDb}; |
|
79 | 79 | default: |
80 | - throw new Exception("This type of database (" . strtoupper($database) . ") is not known!"); |
|
80 | + throw new Exception("This type of database (".strtoupper($database).") is not known!"); |
|
81 | 81 | } |
82 | 82 | } |
83 | 83 | |
@@ -116,18 +116,18 @@ discard block |
||
116 | 116 | } |
117 | 117 | } |
118 | 118 | // log exact query to debug log, if log level is at 5 |
119 | - $this->loggerInstance->debug(5, "DB ATTEMPT: " . $querystring . "\n"); |
|
119 | + $this->loggerInstance->debug(5, "DB ATTEMPT: ".$querystring."\n"); |
|
120 | 120 | if ($types !== NULL) { |
121 | - $this->loggerInstance->debug(5, "Argument type sequence: $types, parameters are: " . print_r($arguments, true)); |
|
121 | + $this->loggerInstance->debug(5, "Argument type sequence: $types, parameters are: ".print_r($arguments, true)); |
|
122 | 122 | } |
123 | 123 | |
124 | 124 | if ($this->connection->connect_error) { |
125 | - throw new Exception("ERROR: Cannot send query to $this->databaseInstance database (no connection, error number" . $this->connection->connect_error . ")!"); |
|
125 | + throw new Exception("ERROR: Cannot send query to $this->databaseInstance database (no connection, error number".$this->connection->connect_error.")!"); |
|
126 | 126 | } |
127 | 127 | if ($types === NULL) { |
128 | 128 | $result = $this->connection->query($querystring); |
129 | 129 | if ($result === FALSE) { |
130 | - throw new Exception("DB: Unable to execute simple statement! Error was --> " . $this->connection->error . " <--"); |
|
130 | + throw new Exception("DB: Unable to execute simple statement! Error was --> ".$this->connection->error." <--"); |
|
131 | 131 | } |
132 | 132 | } else { |
133 | 133 | // fancy! prepared statement with dedicated argument list |
@@ -140,7 +140,7 @@ discard block |
||
140 | 140 | } |
141 | 141 | $prepResult = $statementObject->prepare($querystring); |
142 | 142 | if ($prepResult === FALSE) { |
143 | - throw new Exception("DB: Unable to prepare statement! Statement was --> $querystring <--, error was --> " . $statementObject->error . " <--."); |
|
143 | + throw new Exception("DB: Unable to prepare statement! Statement was --> $querystring <--, error was --> ".$statementObject->error." <--."); |
|
144 | 144 | } |
145 | 145 | |
146 | 146 | // we have a variable number of arguments packed into the ... array |
@@ -152,11 +152,11 @@ discard block |
||
152 | 152 | array_unshift($localArray, $types); |
153 | 153 | $retval = call_user_func_array([$statementObject, "bind_param"], $localArray); |
154 | 154 | if ($retval === FALSE) { |
155 | - throw new Exception("DB: Unable to bind parameters to prepared statement! Argument array was --> " . var_export($localArray, TRUE) . " <--. Error was --> " . $statementObject->error . " <--"); |
|
155 | + throw new Exception("DB: Unable to bind parameters to prepared statement! Argument array was --> ".var_export($localArray, TRUE)." <--. Error was --> ".$statementObject->error." <--"); |
|
156 | 156 | } |
157 | 157 | $result = $statementObject->execute(); |
158 | 158 | if ($result === FALSE) { |
159 | - throw new Exception("DB: Unable to execute prepared statement! Error was --> " . $statementObject->error . " <--"); |
|
159 | + throw new Exception("DB: Unable to execute prepared statement! Error was --> ".$statementObject->error." <--"); |
|
160 | 160 | } |
161 | 161 | $selectResult = $statementObject->get_result(); |
162 | 162 | if ($selectResult !== FALSE) { |
@@ -168,14 +168,14 @@ discard block |
||
168 | 168 | |
169 | 169 | // all cases where $result could be FALSE have been caught earlier |
170 | 170 | if ($this->connection->errno) { |
171 | - throw new Exception("ERROR: Cannot execute query in $this->databaseInstance database - (hopefully escaped) query was '$querystring', errno was " . $this->connection->errno . "!"); |
|
171 | + throw new Exception("ERROR: Cannot execute query in $this->databaseInstance database - (hopefully escaped) query was '$querystring', errno was ".$this->connection->errno."!"); |
|
172 | 172 | } |
173 | 173 | |
174 | 174 | |
175 | 175 | if ($isMoreThanSelect) { |
176 | - $this->loggerInstance->writeSQLAudit("[DB: " . strtoupper($this->databaseInstance) . "] " . $querystring); |
|
176 | + $this->loggerInstance->writeSQLAudit("[DB: ".strtoupper($this->databaseInstance)."] ".$querystring); |
|
177 | 177 | if ($types !== NULL) { |
178 | - $this->loggerInstance->writeSQLAudit("Argument type sequence: $types, parameters are: " . print_r($arguments, true)); |
|
178 | + $this->loggerInstance->writeSQLAudit("Argument type sequence: $types, parameters are: ".print_r($arguments, true)); |
|
179 | 179 | } |
180 | 180 | } |
181 | 181 | return $result; |
@@ -270,7 +270,7 @@ discard block |
||
270 | 270 | $this->readOnly = CONFIG_CONFASSISTANT['DB'][$databaseCapitalised]['readonly']; |
271 | 271 | } |
272 | 272 | if ($this->connection->connect_error) { |
273 | - throw new Exception("ERROR: Unable to connect to $database database! This is a fatal error, giving up (error number " . $this->connection->connect_errno . ")."); |
|
273 | + throw new Exception("ERROR: Unable to connect to $database database! This is a fatal error, giving up (error number ".$this->connection->connect_errno.")."); |
|
274 | 274 | } |
275 | 275 | |
276 | 276 | if ($databaseCapitalised == "EXTERNAL" && CONFIG_CONFASSISTANT['CONSORTIUM']['name'] == "eduroam" && isset(CONFIG_CONFASSISTANT['CONSORTIUM']['deployment-voodoo']) && CONFIG_CONFASSISTANT['CONSORTIUM']['deployment-voodoo'] == "Operations Team") { |
@@ -110,7 +110,7 @@ discard block |
||
110 | 110 | * @return array<AbstractProfile> list of Profiles of this IdP |
111 | 111 | */ |
112 | 112 | public function listProfiles(bool $activeOnly = FALSE) { |
113 | - $query = "SELECT profile_id FROM profile WHERE inst_id = $this->identifier" . ($activeOnly ? " AND showtime = 1" : ""); |
|
113 | + $query = "SELECT profile_id FROM profile WHERE inst_id = $this->identifier".($activeOnly ? " AND showtime = 1" : ""); |
|
114 | 114 | $allProfiles = $this->databaseHandle->exec($query); |
115 | 115 | $returnarray = []; |
116 | 116 | // SELECT -> resource, not boolean |
@@ -120,7 +120,7 @@ discard block |
||
120 | 120 | $returnarray[] = $oneProfile; |
121 | 121 | } |
122 | 122 | |
123 | - $this->loggerInstance->debug(4, "listProfiles: " . print_r($returnarray, true)); |
|
123 | + $this->loggerInstance->debug(4, "listProfiles: ".print_r($returnarray, true)); |
|
124 | 124 | return $returnarray; |
125 | 125 | } |
126 | 126 | |
@@ -219,7 +219,7 @@ discard block |
||
219 | 219 | case AbstractProfile::PROFILETYPE_SILVERBULLET: |
220 | 220 | $theProfile = new ProfileSilverbullet($identifier, $this); |
221 | 221 | $theProfile->addSupportedEapMethod(new \core\common\EAP(\core\common\EAP::EAPTYPE_SILVERBULLET), 1); |
222 | - $theProfile->setRealm($this->identifier . "-" . $theProfile->identifier . "." . strtolower($this->federation) . strtolower(CONFIG_CONFASSISTANT['SILVERBULLET']['realm_suffix'])); |
|
222 | + $theProfile->setRealm($this->identifier."-".$theProfile->identifier.".".strtolower($this->federation).strtolower(CONFIG_CONFASSISTANT['SILVERBULLET']['realm_suffix'])); |
|
223 | 223 | return $theProfile; |
224 | 224 | default: |
225 | 225 | throw new Exception("This type of profile is unknown and can not be added."); |
@@ -336,7 +336,7 @@ discard block |
||
336 | 336 | */ |
337 | 337 | public function getExternalDBId() { |
338 | 338 | if (CONFIG_CONFASSISTANT['CONSORTIUM']['name'] == "eduroam" && isset(CONFIG_CONFASSISTANT['CONSORTIUM']['deployment-voodoo']) && CONFIG_CONFASSISTANT['CONSORTIUM']['deployment-voodoo'] == "Operations Team") { // SW: APPROVED |
339 | - $idQuery = $this->databaseHandle->exec("SELECT external_db_id FROM institution WHERE inst_id = $this->identifier AND external_db_syncstate = " . self::EXTERNAL_DB_SYNCSTATE_SYNCED); |
|
339 | + $idQuery = $this->databaseHandle->exec("SELECT external_db_id FROM institution WHERE inst_id = $this->identifier AND external_db_syncstate = ".self::EXTERNAL_DB_SYNCSTATE_SYNCED); |
|
340 | 340 | // SELECT -> it's a resource, not a boolean |
341 | 341 | if (mysqli_num_rows(/** @scrutinizer ignore-type */ $idQuery) == 0) { |
342 | 342 | return FALSE; |
@@ -37,7 +37,7 @@ discard block |
||
37 | 37 | */ |
38 | 38 | private function inputValidationError($customtext) { |
39 | 39 | \core\common\Entity::intoThePotatoes(); |
40 | - $retval = "<p>" . _("Input validation error: ") . $customtext . "</p>"; |
|
40 | + $retval = "<p>"._("Input validation error: ").$customtext."</p>"; |
|
41 | 41 | \core\common\Entity::outOfThePotatoes(); |
42 | 42 | return $retval; |
43 | 43 | } |
@@ -149,7 +149,7 @@ discard block |
||
149 | 149 | */ |
150 | 150 | public function string($input, $allowWhitespace = FALSE) { |
151 | 151 | // always chop out invalid characters, and surrounding whitespace |
152 | - $retvalStep0 = iconv("UTF-8", "UTF-8//TRANSLIT", $input); |
|
152 | + $retvalStep0 = iconv("UTF-8", "UTF-8//TRANSLIT", $input); |
|
153 | 153 | if ($retvalStep0 === FALSE) { |
154 | 154 | throw new Exception("iconv failure for string sanitisation. With TRANSLIT, this should never happen!"); |
155 | 155 | } |
@@ -457,7 +457,7 @@ discard block |
||
457 | 457 | try { |
458 | 458 | $image->readImageBlob($binary); |
459 | 459 | } catch (\ImagickException $exception) { |
460 | - echo "Error" . $exception->getMessage(); |
|
460 | + echo "Error".$exception->getMessage(); |
|
461 | 461 | return FALSE; |
462 | 462 | } |
463 | 463 | // image survived the sanity check |
@@ -87,7 +87,7 @@ discard block |
||
87 | 87 | otherdata = j.otherdata; |
88 | 88 | if(! result) { |
89 | 89 | alert("<?php escaped_echo(_("no matching data found"))?>"); |
90 | - document.location.href='<?php echo rtrim(dirname($_SERVER['SCRIPT_NAME']), '/') . '/' ?>'; |
|
90 | + document.location.href='<?php echo rtrim(dirname($_SERVER['SCRIPT_NAME']), '/').'/' ?>'; |
|
91 | 91 | } |
92 | 92 | j = j.data; |
93 | 93 | n = j.length; |
@@ -224,7 +224,7 @@ discard block |
||
224 | 224 | result = j1.status; |
225 | 225 | if(! result) { |
226 | 226 | alert("<?php escaped_echo(_("no matching data found")) ?>"); |
227 | - document.location.href='<?php echo rtrim(dirname($_SERVER['SCRIPT_NAME']), '/') . '/' ?>'; |
|
227 | + document.location.href='<?php echo rtrim(dirname($_SERVER['SCRIPT_NAME']), '/').'/' ?>'; |
|
228 | 228 | } |
229 | 229 | j = j1.data; |
230 | 230 | if(j.description !== undefined && j.description) { |
@@ -235,7 +235,7 @@ discard block |
||
235 | 235 | $("#profile_desc").hide(); |
236 | 236 | $("#profile_desc").text(''); |
237 | 237 | } |
238 | - updateTxt = '<span class="user_info"><?php escaped_echo(_("This entry was last updated at:"));?>'+' '+j.last_changed+'</span><br/>'; |
|
238 | + updateTxt = '<span class="user_info"><?php escaped_echo(_("This entry was last updated at:")); ?>'+' '+j.last_changed+'</span><br/>'; |
|
239 | 239 | if(j.local_url !== undefined && j.local_url) |
240 | 240 | txt = txt+'<span class="user_info"><?php escaped_echo(_("WWW:")); ?> <a href="'+j.local_url+'" target="_blank">'+j.local_url+'</a></span><br/>'; |
241 | 241 | if(j.local_email !== undefined && j.local_email) |