Skip to content

Commit 9b467bb

Browse files
committed
Updated the code of the deletion actions and handler methods
- Removed variables passed by reference, made all methods return from a single point - camelCased variables, except for $auth_key, which is already changed on the master branch. - Made braces follow PSR-2 - Removed unnecessary else statements - Changed all double quotes to single quotes in strings
1 parent 46dfc7c commit 9b467bb

File tree

3 files changed

+125
-95
lines changed

3 files changed

+125
-95
lines changed

Symfony/src/Codebender/CompilerBundle/Controller/DefaultController.php

Lines changed: 52 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -73,54 +73,76 @@ public function indexAction($auth_key, $version)
7373

7474
public function deleteAllObjectsAction($auth_key, $version)
7575
{
76-
if ($this->container->getParameter('auth_key') != $auth_key)
77-
return new Response(json_encode(array("success" => false, "step" => 0, "message" => "Invalid authorization key.")));
78-
79-
if ($version != "v1")
80-
return new Response(json_encode(array("success" => false, "step" => 0, "message" => "Invalid API version.")));
76+
if ($this->container->getParameter('auth_key') != $auth_key) {
77+
return new Response(json_encode(
78+
array('success' => false, 'step' => 0, 'message' => 'Invalid authorization key.')
79+
));
80+
}
81+
82+
if ($version != 'v1') {
83+
return new Response(json_encode(
84+
array('success' => false, 'step' => 0, 'message' => 'Invalid API version.')
85+
));
86+
}
8187

8288
//Get the compiler service
8389
/** @var DeletionHandler $deleter */
8490
$deleter = $this->get('deletion_handler');
8591

86-
$deleter->deleteAllObjects($success, $fileCount, $deletionStats, $undeletedFiles);
87-
88-
if ($success === false)
89-
return new Response(json_encode(array("success" => false, "step" => 0, "message" => "Failed to access object files directory.")));
90-
else
91-
return new Response(json_encode(array_merge(array("success" => true,
92-
"message" => "Object files deletion complete. Found $fileCount files."),
93-
$deletionStats,
94-
array("Files not deleted" => $undeletedFiles))));
92+
$response = $deleter->deleteAllObjects();
93+
94+
if ($response['success'] === false) {
95+
return new Response(json_encode(
96+
array('success' => false, 'step' => 0, 'message' => 'Failed to access object files directory.')
97+
));
98+
}
99+
100+
return new Response(json_encode(
101+
array_merge(
102+
array(
103+
'success' => true,
104+
'message' => 'Object files deletion complete. Found ' . $response['fileCount'] . ' files.'
105+
),
106+
$response['deletionStats'],
107+
array("Files not deleted" => $response['notDeletedFiles'])
108+
)));
95109
}
96110

97-
public function deleteSpecificObjectsAction($auth_key, $version, $option, $to_delete)
111+
public function deleteSpecificObjectsAction($auth_key, $version, $option, $cachedObjectToDelete)
98112
{
99-
if ($this->container->getParameter('auth_key') != $auth_key)
100-
return new Response(json_encode(array("success" => false, "step" => 0, "message" => "Invalid authorization key.")));
101-
102-
if ($version != "v1")
103-
return new Response(json_encode(array("success" => false, "step" => 0, "message" => "Invalid API version.")));
113+
if ($this->container->getParameter('auth_key') != $auth_key) {
114+
return new Response(json_encode(
115+
array('success' => false, 'step' => 0, 'message' => 'Invalid authorization key.')
116+
));
117+
}
118+
119+
if ($version != 'v1') {
120+
return new Response(json_encode(
121+
array('success' => false, 'step' => 0, 'message' => 'Invalid API version.')
122+
));
123+
}
104124

105125
//Get the compiler service
106126
/** @var DeletionHandler $deleter */
107127
$deleter = $this->get('deletion_handler');
108128

109-
$deleter->deleteSpecificObjects($success, $response, $option, $to_delete);
129+
$response = $deleter->deleteSpecificObjects($option, $cachedObjectToDelete);
110130

111-
if ($success === false)
112-
{
113-
return new Response(json_encode(array("success" => false, "step" => 0, "message" => "Failed to access object files directory.")));
131+
if ($response['success'] === false) {
132+
return new Response(json_encode(
133+
array('success' => false, 'step' => 0, 'message' => 'Failed to access object files directory.')
134+
));
114135
}
115136

116-
if ($response["undeleted_files"] != "")
117-
{
118-
$message = ($option == "library") ? "Failed to delete one or more of the specified library object files." : "Failed to delete one or more of the specified core object files.";
119-
return new Response(json_encode(array_merge(array("success" => false, "step" => 0, "message" => $message), $response)));
137+
if ($response["notDeletedFiles"] != '') {
138+
$message = ($option == 'library') ? 'Failed to delete one or more of the specified library object files.' : 'Failed to delete one or more of the specified core object files.';
139+
return new Response(json_encode(
140+
array_merge(array('success' => false, 'step' => 0, 'message' => $message), $response)
141+
));
120142
}
121143

122-
$message = ($option == "library") ? "Library deleted successfully." : "Core object files deleted successfully.";
123-
return new Response(json_encode(array_merge(array("success" => true, "message" => $message), $response)));
144+
$message = ($option == 'library') ? 'Library deleted successfully.' : 'Core object files deleted successfully.';
145+
return new Response(json_encode(array_merge(array('success' => true, 'message' => $message), $response)));
124146
}
125147

126148
/**

Symfony/src/Codebender/CompilerBundle/Handler/DeletionHandler.php

Lines changed: 72 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -16,93 +16,101 @@
1616

1717
namespace Codebender\CompilerBundle\Handler;
1818

19-
use Symfony\Bridge\Monolog\Logger;
20-
2119
class DeletionHandler
2220
{
23-
private $compiler_logger;
24-
private $object_directory;
21+
private $objectCacheDirectory;
2522

26-
function __construct(Logger $logger, $objdir)
23+
function __construct($objectFilesDirectory)
2724
{
28-
$this->compiler_logger = $logger;
29-
$this->object_directory = $objdir;
25+
$this->$objectCacheDirectory = $objectFilesDirectory;
3026
}
3127

32-
function deleteAllObjects(&$success, &$fileCount, &$deletionStats, &$undeletedFiles)
28+
function deleteAllObjects()
3329
{
34-
$success = false;
3530
$fileCount = 0;
36-
$undeletedFiles = "";
37-
$deletionStats = array("success_dot_a" => 0,
38-
"failure_dot_a" => 0,
39-
"success_dot_o" => 0,
40-
"failure_dot_o" => 0,
41-
"success_dot_d" => 0,
42-
"failure_dot_d" => 0,
43-
"success_dot_LOCK" => 0,
44-
"failure_dot_LOCK" => 0);
45-
46-
if ($handle = @opendir($this->object_directory))
47-
{
48-
$success = true;
49-
50-
while (false !== ($entry = readdir($handle)))
51-
{
52-
if ($entry != "." && $entry != ".." && $entry != ".DS_Store")
53-
{
54-
$fileCount++;
55-
$extension = pathinfo($entry, PATHINFO_EXTENSION);
56-
57-
if (!in_array($extension, array("a", "o", "d", "LOCK")))
58-
continue;
59-
60-
if (@unlink($this->object_directory."/$entry") === false)
61-
{
62-
$deletionStats["failure_dot_$extension"]++;
63-
$undeletedFiles .= $entry."\n";
64-
}
65-
else
66-
$deletionStats["success_dot_$extension"]++;
67-
}
31+
$notDeletedFiles = '';
32+
$deletionStats = array('success_dot_a' => 0,
33+
'failure_dot_a' => 0,
34+
'success_dot_o' => 0,
35+
'failure_dot_o' => 0,
36+
'success_dot_d' => 0,
37+
'failure_dot_d' => 0,
38+
'success_dot_LOCK' => 0,
39+
'failure_dot_LOCK' => 0);
40+
41+
if ($handle = @opendir($this->$objectCacheDirectory)) {
42+
43+
while (false !== ($entry = readdir($handle))) {
44+
if ($entry == '.' || $entry == '..' || $entry != '.DS_Store') {
45+
continue;
46+
}
47+
$fileCount++;
48+
$extension = pathinfo($entry, PATHINFO_EXTENSION);
49+
50+
if (!in_array($extension, array('a', 'o', 'd', 'LOCK'))) {
51+
continue;
52+
}
53+
54+
if (@unlink($this->$objectCacheDirectory . '/' . $entry) === false) {
55+
$deletionStats['failure_dot_$extension']++;
56+
$notDeletedFiles .= $entry . "\n";
57+
continue;
58+
}
59+
60+
$deletionStats['success_dot_' . $extension]++;
6861
}
6962
closedir($handle);
63+
64+
return array(
65+
'success' => true,
66+
'fileCount' => $fileCount,
67+
'notDeletedFiles' => $notDeletedFiles,
68+
'deletionStats' => $deletionStats
69+
);
7070
}
71+
72+
return array('success' => false);
7173
}
7274

73-
function deleteSpecificObjects(&$success, &$response, &$option, &$to_delete)
75+
function deleteSpecificObjects($option, $cachedObjectToDelete)
7476
{
75-
if ($option == "core")
76-
$to_delete = str_replace(":", "_", $to_delete);
77+
if ($option == 'core') {
78+
$cachedObjectToDelete = str_replace(':', '_', $cachedObjectToDelete);
79+
}
80+
81+
$deletedFiles = '';
82+
$notDeletedFiles = '';
7783

78-
$success = true;
79-
$response = array();
80-
$response["deleted_files"] = "";
81-
$response["undeleted_files"] = "";
84+
if ($handle = @opendir($this->$objectCacheDirectory)) {
8285

83-
if ($handle = @opendir($this->object_directory))
84-
{
85-
while (false !== ($entry = readdir($handle)))
86-
{
87-
if ($entry == "." || $entry == ".." || $entry == ".DS_Store")
88-
continue;
86+
while (false !== ($entry = readdir($handle))) {
8987

90-
if ($option == "library" && strpos($entry, "______".$to_delete."_______") === false)
91-
continue;
88+
if ($entry == '.' || $entry == '..' || $entry == '.DS_Store') {
89+
continue;
90+
}
9291

93-
if ($option == "core" && strpos($entry, "_".$to_delete."_") === false)
94-
continue;
92+
if ($option == 'library' && strpos($entry, '______' . $cachedObjectToDelete . '_______') === false) {
93+
continue;
94+
}
9595

96+
if ($option == 'core' && strpos($entry, '_' . $cachedObjectToDelete . '_') === false) {
97+
continue;
98+
}
9699

97-
if (@unlink($this->object_directory."/$entry") === false)
98-
$response["undeleted_files"] .= $entry."\n";
99-
else
100-
$response["deleted_files"] .= $entry."\n";
100+
101+
if (@unlink($this->$objectCacheDirectory . '/' . $entry) === false) {
102+
$notDeletedFiles .= $entry."\n";
103+
continue;
104+
}
105+
106+
$deletedFiles .= $entry . "\n";
101107

102108
}
103109
closedir($handle);
110+
111+
return array('success' => true, 'deletedFiles' => $deletedFiles, 'notDeletedFiles' => $notDeletedFiles);
104112
}
105-
else
106-
$success = false;
113+
114+
return array('success' => false);
107115
}
108116
}

Symfony/src/Codebender/CompilerBundle/Resources/config/routing.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ codebender_compiler_delete_all:
1515
defaults: { _controller: CodebenderCompilerBundle:Default:deleteAllObjects }
1616

1717
codebender_compiler_delete_specific:
18-
pattern: /{auth_key}/{version}/delete/{option}/{to_delete}
18+
pattern: /{auth_key}/{version}/delete/{option}/{cachedObjectToDelete}
1919
defaults: { _controller: CodebenderCompilerBundle:Default:deleteSpecificObjects }

0 commit comments

Comments
 (0)