Skip to content

Commit

Permalink
Rewrote usages of error suppression operator
Browse files Browse the repository at this point in the history
  • Loading branch information
tractorcow committed Mar 5, 2014
1 parent 1cc366f commit 0cbad41
Show file tree
Hide file tree
Showing 14 changed files with 56 additions and 40 deletions.
2 changes: 1 addition & 1 deletion control/Director.php
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ public static function test($url, $postVars = null, $session = null, $httpMethod
Requirements::set_backend(new Requirements_Backend());

// Handle absolute URLs
if (@parse_url($url, PHP_URL_HOST) != '') {
if (parse_url($url, PHP_URL_HOST)) {
$bits = parse_url($url);
// If a port is mentioned in the absolute URL, be sure to add that into the
// HTTP host
Expand Down
7 changes: 6 additions & 1 deletion dev/Debug.php
Original file line number Diff line number Diff line change
Expand Up @@ -401,7 +401,12 @@ public static function showError($errno, $errstr, $errfile, $errline, $errcontex
$reporter = self::create_debug_view();

// Coupling alert: This relies on knowledge of how the director gets its URL, it could be improved.
$httpRequest = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : @$_REQUEST['url'];
$httpRequest = null;
if(isset($_SERVER['REQUEST_URI'])) {
$httpRequest = $_SERVER['REQUEST_URI'];
} elseif(isset($_REQUEST['url'])) {
$httpRequest = $_REQUEST['url'];
}
if(isset($_SERVER['REQUEST_METHOD'])) $httpRequest = $_SERVER['REQUEST_METHOD'] . ' ' . $httpRequest;

$reporter->writeHeader($httpRequest);
Expand Down
4 changes: 2 additions & 2 deletions dev/Log.php
Original file line number Diff line number Diff line change
Expand Up @@ -167,8 +167,8 @@ public static function log($message, $priority, $extras = null) {
$message = array(
'errno' => '',
'errstr' => $message,
'errfile' => @$lastTrace['file'],
'errline' => @$lastTrace['line'],
'errfile' => isset($lastTrace['file']) ? $lastTrace['file'] : null,
'errline' => isset($lastTrace['line']) ? $lastTrace['line'] : null,
'errcontext' => $trace
);
}
Expand Down
4 changes: 2 additions & 2 deletions dev/LogErrorEmailFormatter.php
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@ public function format($event) {
$relfile = Director::makeRelative($errfile);
if($relfile && $relfile[0] == '/') $relfile = substr($relfile, 1);

$host = @$_SERVER['HTTP_HOST'];
$uri = @$_SERVER['REQUEST_URI'];
$host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : null;
$uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : null;

$subject = "[$errorType] in $relfile:{$errline} (http://{$host}{$uri})";

Expand Down
18 changes: 11 additions & 7 deletions dev/install/install.php5
Original file line number Diff line number Diff line change
Expand Up @@ -386,11 +386,15 @@ class InstallRequirements {
*/
function findWebserver() {
// Try finding from SERVER_SIGNATURE or SERVER_SOFTWARE
$webserver = @$_SERVER['SERVER_SIGNATURE'];
if(!$webserver) $webserver = @$_SERVER['SERVER_SOFTWARE'];
if(!empty($_SERVER['SERVER_SIGNATURE'])) {
$webserver = $_SERVER['SERVER_SIGNATURE'];
} elseif(!empty($_SERVER['SERVER_SOFTWARE'])) {
$webserver = $_SERVER['SERVER_SOFTWARE'];
} else {
return false;
}

if($webserver) return strip_tags(trim($webserver));
else return false;
return strip_tags(trim($webserver));
}

/**
Expand Down Expand Up @@ -1116,7 +1120,7 @@ class InstallRequirements {
$this->testing($testDetails);
return true;
} else {
if(!@$result['cannotCreate']) {
if(empty($result['cannotCreate'])) {
$testDetails[2] .= ". Please create the database manually.";
} else {
$testDetails[2] .= " (user '$databaseConfig[username]' doesn't have CREATE DATABASE permissions.)";
Expand Down Expand Up @@ -1194,15 +1198,15 @@ class InstallRequirements {
$section = $testDetails[0];
$test = $testDetails[1];

$this->tests[$section][$test] = array("error", @$testDetails[2]);
$this->tests[$section][$test] = array("error", isset($testDetails[2]) ? $testDetails[2] : null);
$this->errors[] = $testDetails;
}

function warning($testDetails) {
$section = $testDetails[0];
$test = $testDetails[1];

$this->tests[$section][$test] = array("warning", @$testDetails[2]);
$this->tests[$section][$test] = array("warning", isset($testDetails[2]) ? $testDetails[2] : null);
$this->warnings[] = $testDetails;
}

Expand Down
2 changes: 1 addition & 1 deletion docs/en/howto/phpunit-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ Example `mysite/_config.php`:
// Customized configuration for running with different database settings.
// Ensure this code comes after ConfigureFromEnv.php
if(Director::isDev()) {
if($db = @$_GET['db']) {
if(isset($_GET['db']) && ($db = $_GET['db'])) {
global $databaseConfig;
if($db == 'sqlite3') $databaseConfig['type'] = 'SQLite3Database';
}
Expand Down
2 changes: 1 addition & 1 deletion forms/Form.php
Original file line number Diff line number Diff line change
Expand Up @@ -683,7 +683,7 @@ public function setAttribute($name, $value) {
* @return String
*/
public function getAttribute($name) {
return @$this->attributes[$name];
if(isset($this->attributes[$name])) return $this->attributes[$name];
}

public function getAttributes() {
Expand Down
2 changes: 1 addition & 1 deletion forms/FormField.php
Original file line number Diff line number Diff line change
Expand Up @@ -358,7 +358,7 @@ public function setAttribute($name, $value) {
*/
public function getAttribute($name) {
$attrs = $this->getAttributes();
return @$attrs[$name];
if(isset($attrs[$name])) return $attrs[$name];
}

/**
Expand Down
16 changes: 8 additions & 8 deletions forms/HtmlEditorSanitiser.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,10 @@ protected function addValidElements($validElements) {
foreach(explode(',', $validElements) as $validElement) {
if(preg_match($elementRuleRegExp, $validElement, $matches)) {

$prefix = @$matches[1];
$elementName = @$matches[2];
$outputName = @$matches[3];
$attrData = @$matches[4];
$prefix = isset($matches[1]) ? $matches[1] : null;
$elementName = isset($matches[2]) ? $matches[2] : null;
$outputName = isset($matches[3]) ? $matches[3] : null;
$attrData = isset($matches[4]) ? $matches[4] : null;

// Create the new element
$element = new stdClass();
Expand All @@ -91,10 +91,10 @@ protected function addValidElements($validElements) {
if(preg_match($attrRuleRegExp, $attr, $matches)) {
$attr = new stdClass();

$attrType = @$matches[1];
$attrName = str_replace('::', ':', @$matches[2]);
$prefix = @$matches[3];
$value = @$matches[4];
$attrType = isset($matches[1]) ? $matches[1] : null;
$attrName = isset($matches[2]) ? str_replace('::', ':', $matches[2]) : null;
$prefix = isset($matches[3]) ? $matches[3] : null;
$value = isset($matches[4]) ? $matches[4] : null;

// Required
if($attrType === '!') {
Expand Down
3 changes: 2 additions & 1 deletion forms/gridfield/GridField.php
Original file line number Diff line number Diff line change
Expand Up @@ -615,7 +615,8 @@ protected function buildColumnDispatch() {
public function gridFieldAlterAction($data, $form, SS_HTTPRequest $request) {
$html = '';
$data = $request->requestVars();
$fieldData = @$data[$this->getName()];
$name = $this->getName();
$fieldData = isset($data[$name]) ? $data[$name] : null;

// Update state from client
$state = $this->getState(false);
Expand Down
10 changes: 6 additions & 4 deletions model/Database.php
Original file line number Diff line number Diff line change
Expand Up @@ -211,14 +211,16 @@ public function endSchemaUpdate() {
foreach($this->schemaUpdateTransaction as $tableName => $changes) {
switch($changes['command']) {
case 'create':
$this->createTable($tableName, $changes['newFields'], $changes['newIndexes'], $changes['options'],
@$changes['advancedOptions']);
$this->createTable($tableName, $changes['newFields'], $changes['newIndexes'], $changes['options'],
isset($changes['advancedOptions']) ? $changes['advancedOptions'] : null
);
break;

case 'alter':
$this->alterTable($tableName, $changes['newFields'], $changes['newIndexes'],
$changes['alteredFields'], $changes['alteredIndexes'], $changes['alteredOptions'],
@$changes['advancedOptions']);
$changes['alteredFields'], $changes['alteredIndexes'], $changes['alteredOptions'],
isset($changes['advancedOptions']) ? $changes['advancedOptions'] : null
);
break;
}
}
Expand Down
6 changes: 5 additions & 1 deletion model/HTMLValue.php
Original file line number Diff line number Diff line change
Expand Up @@ -163,9 +163,13 @@ public function setContent($content) {
// Reset the document if we're in an invalid state for some reason
if (!$this->isValid()) $this->setDocument(null);

return @$this->getDocument()->loadHTML(
$errorState = libxml_use_internal_errors(true);
$result = $this->getDocument()->loadHTML(
'<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head>' .
"<body>$content</body></html>"
);
libxml_clear_errors();
libxml_use_internal_errors($errorState);
return $result;
}
}
4 changes: 2 additions & 2 deletions parsers/ShortcodeParser.php
Original file line number Diff line number Diff line change
Expand Up @@ -229,8 +229,8 @@ protected function extractTags($content) {
'text' => $match[0][0],
's' => $match[0][1],
'e' => $match[0][1] + strlen($match[0][0]),
'open' => @$match['open'][0],
'close' => @$match['close'][0],
'open' => isset($match['open'][0]) ? $match['open'][0] : null,
'close' => isset($match['close'][0]) ? $match['close'][0] : null,
'attrs' => $attrs,
'content' => '',
'escaped' => !empty($match['oesc'][0]) || !empty($match['cesc1'][0]) || !empty($match['cesc2'][0])
Expand Down
16 changes: 8 additions & 8 deletions tests/security/BasicAuthTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ public function tearDown() {
}

public function testBasicAuthEnabledWithoutLogin() {
$origUser = @$_SERVER['PHP_AUTH_USER'];
$origPw = @$_SERVER['PHP_AUTH_PW'];
$origUser = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : null;
$origPw = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : null;

unset($_SERVER['PHP_AUTH_USER']);
unset($_SERVER['PHP_AUTH_PW']);
Expand All @@ -40,8 +40,8 @@ public function testBasicAuthEnabledWithoutLogin() {
}

public function testBasicAuthDoesntCallActionOrFurtherInitOnAuthFailure() {
$origUser = @$_SERVER['PHP_AUTH_USER'];
$origPw = @$_SERVER['PHP_AUTH_PW'];
$origUser = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : null;
$origPw = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : null;

unset($_SERVER['PHP_AUTH_USER']);
unset($_SERVER['PHP_AUTH_PW']);
Expand All @@ -60,8 +60,8 @@ public function testBasicAuthDoesntCallActionOrFurtherInitOnAuthFailure() {
}

public function testBasicAuthEnabledWithPermission() {
$origUser = @$_SERVER['PHP_AUTH_USER'];
$origPw = @$_SERVER['PHP_AUTH_PW'];
$origUser = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : null;
$origPw = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : null;

$_SERVER['PHP_AUTH_USER'] = '[email protected]';
$_SERVER['PHP_AUTH_PW'] = 'wrongpassword';
Expand All @@ -83,8 +83,8 @@ public function testBasicAuthEnabledWithPermission() {
}

public function testBasicAuthEnabledWithoutPermission() {
$origUser = @$_SERVER['PHP_AUTH_USER'];
$origPw = @$_SERVER['PHP_AUTH_PW'];
$origUser = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : null;
$origPw = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : null;

$_SERVER['PHP_AUTH_USER'] = '[email protected]';
$_SERVER['PHP_AUTH_PW'] = 'wrongpassword';
Expand Down

0 comments on commit 0cbad41

Please sign in to comment.