From 1abdc5e8ffae26a5a2f4c99d1f7abf3581cecda4 Mon Sep 17 00:00:00 2001 From: Jiang Sheng Date: Sun, 31 Jan 2016 11:21:58 +0800 Subject: [PATCH 001/265] Coding Standard fix for DefaultHandler.php using PSR-2 --- .../LibraryBundle/Handler/DefaultHandler.php | 78 +++++++++++-------- 1 file changed, 45 insertions(+), 33 deletions(-) diff --git a/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php b/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php index ff8179e5..3067dcc6 100644 --- a/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php +++ b/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php @@ -52,10 +52,11 @@ public function getLibraryCode($library, $disabled, $renderView = false) } //TODO handle the case of different .h filenames and folder names - if ($filename == "ArduinoRobot") + if ($filename == "ArduinoRobot") { $filename = "Robot_Control"; - else if ($filename == "ArduinoRobotMotorBoard") + } elseif ($filename == "ArduinoRobotMotorBoard") { $filename = "Robot_Motor"; + } if ($filename == 'BlynkSimpleSerial' || $filename == 'BlynkSimpleCC3000') { $filename = 'BlynkSimpleEthernet'; } @@ -126,12 +127,12 @@ public function checkGithubUpdates() } $branch = $lib->getBranch(); - if ($branch === null){ + if ($branch === null) { $branch = ''; // not providing any branch will make git return the commits of the default branch } $directoryInRepo = $lib->getInRepoPath(); - if ($directoryInRepo === null){ + if ($directoryInRepo === null) { $directoryInRepo = ''; } @@ -194,10 +195,11 @@ public function getLastCommitFromGithub($gitOwner, $gitRepo, $sha = '', $path = public function checkIfBuiltInExists($library) { $arduino_library_files = $this->container->getParameter('builtin_libraries') . "/"; - if (is_dir($arduino_library_files . "/libraries/" . $library)) + if (is_dir($arduino_library_files . "/libraries/" . $library)) { return json_encode(array("success" => true, "message" => "Library found")); - else + } else { return json_encode(array("success" => false, "message" => "No Library named " . $library . " found.")); + } } public function checkIfExternalExists($library, $getDisabled = false) @@ -208,7 +210,6 @@ public function checkIfExternalExists($library, $getDisabled = false) } else { return json_encode(array("success" => true, "message" => "Library found")); } - } public function fetchLibraryFiles($finder, $directory, $getContent = true) @@ -228,13 +229,15 @@ public function fetchLibraryFiles($finder, $directory, $getContent = true) foreach ($finder as $file) { if ($getContent) { $mimeType = finfo_file($finfo, $file); - if (strpos($mimeType, "text/") === false) + if (strpos($mimeType, "text/") === false) { $content = "/*\n *\n * We detected that this is not a text file.\n * Such files are currently not supported by our editor.\n * We're sorry for the inconvenience.\n * \n */"; - else + } else { $content = (!mb_check_encoding($file->getContents(), 'UTF-8')) ? mb_convert_encoding($file->getContents(), "UTF-8") : $file->getContents(); + } $response[] = array("filename" => $file->getRelativePathname(), "content" => $content); - } else + } else { $response[] = array("filename" => $file->getRelativePathname()); + } } return $response; } @@ -385,9 +388,9 @@ private function getGithubFileCode($owner, $repo, $path, $blobSha) public function findBaseDir($dir) { foreach ($dir['contents'] as $file) { - if ($file['type'] == 'file' && strpos($file['name'], ".h") !== false) + if ($file['type'] == 'file' && strpos($file['name'], ".h") !== false) { return json_encode(array('success' => true, 'directory' => $dir)); - + } } foreach ($dir['contents'] as $file) { @@ -425,11 +428,13 @@ public function curlRequest($url, $post_request_data = null, $http_header = null CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => 0, )); - if ($post_request_data !== null) + if ($post_request_data !== null) { curl_setopt($curl_req, CURLOPT_POSTFIELDS, $post_request_data); + } - if ($http_header !== null) + if ($http_header !== null) { curl_setopt($curl_req, CURLOPT_HTTPHEADER, $http_header); + } $contents = curl_exec($curl_req); @@ -467,9 +472,11 @@ private function curlGitRequest($url, $queryParams = '') $requestUrl, null, ['User-Agent: ' . $githubAppName, 'Accept: application/vnd.github.v3.json'] - ), true); + ), + true + ); - return $jsonDecodedContent; + return $jsonDecodedContent; } public function processGithubUrl($url) @@ -534,23 +541,28 @@ public function createJsTreeStructure($repoTree, $nodeName, $path, $gitMeta) * Remember that files are listed as `blobs` and directories are listed as `trees` * array_values is used to re-index the two arrays */ - $subtreeNodes = array_values(array_filter( - $repoTree, - function($element) { - if ($element['type'] == 'tree') { - return true; + $subtreeNodes = array_values( + array_filter( + $repoTree, + function ($element) { + if ($element['type'] == 'tree') { + return true; + } + return false; } - return false; - }) + ) ); - $files = array_values(array_filter( - $repoTree, - function($element) { - if ($element['type'] == 'blob') { - return true; + + $files = array_values( + array_filter( + $repoTree, + function ($element) { + if ($element['type'] == 'blob') { + return true; + } + return false; } - return false; - }) + ) ); foreach ($files as $file) { @@ -559,7 +571,8 @@ function($element) { } $fileStructure['children'][] = array_merge( array('text' => pathinfo($file['path'], PATHINFO_BASENAME), 'icon' => 'fa fa-file', 'state' => array('disabled' => true)), - $file); + $file + ); } foreach ($subtreeNodes as $directory) { @@ -715,5 +728,4 @@ public function getRepoDefaultDescription($owner, $repo) return $gitResponse['description']; } - -} \ No newline at end of file +} From 89dbbd6b1d678589e3195dbbaa8b8f4ccee727fc Mon Sep 17 00:00:00 2001 From: seokmin Date: Sun, 31 Jan 2016 03:45:20 +0000 Subject: [PATCH 002/265] Removed comment code --- Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php b/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php index ff8179e5..e96e585e 100644 --- a/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php +++ b/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php @@ -218,8 +218,6 @@ public function fetchLibraryFiles($finder, $directory, $getContent = true) } $finder->in($directory)->exclude('examples')->exclude('Examples'); - // Left this here, just in case we need it again. - // $finder->name('*.cpp')->name('*.h')->name('*.c')->name('*.S')->name('*.inc')->name('*.txt'); $finder->name('*.*'); $finfo = finfo_open(FILEINFO_MIME_TYPE); From b1e3ea9541e44e56cae6a80dbad673cd22ecefd1 Mon Sep 17 00:00:00 2001 From: seokmin Date: Sun, 31 Jan 2016 03:46:11 +0000 Subject: [PATCH 003/265] Removed unused variables from getLibraryCode at DefaultHandler --- Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php b/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php index e96e585e..3fd96a6c 100644 --- a/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php +++ b/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php @@ -43,12 +43,10 @@ public function getLibraryCode($library, $disabled, $renderView = false) } $filename = $library; - $directory = ""; $last_slash = strrpos($library, "/"); if ($last_slash !== false) { $filename = substr($library, $last_slash + 1); - $vendor = substr($library, 0, $last_slash); } //TODO handle the case of different .h filenames and folder names From 7e967427fa7924fdab5f068fc1f90ce6867a2a7e Mon Sep 17 00:00:00 2001 From: Jiang Sheng Date: Sun, 31 Jan 2016 12:04:55 +0800 Subject: [PATCH 004/265] Refactor code, and remove redundant else clauses --- .../LibraryBundle/Handler/DefaultHandler.php | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php b/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php index 3067dcc6..11fc4cfd 100644 --- a/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php +++ b/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php @@ -54,7 +54,8 @@ public function getLibraryCode($library, $disabled, $renderView = false) //TODO handle the case of different .h filenames and folder names if ($filename == "ArduinoRobot") { $filename = "Robot_Control"; - } elseif ($filename == "ArduinoRobotMotorBoard") { + } + if ($filename == "ArduinoRobotMotorBoard") { $filename = "Robot_Motor"; } if ($filename == 'BlynkSimpleSerial' || $filename == 'BlynkSimpleCC3000') { @@ -197,19 +198,22 @@ public function checkIfBuiltInExists($library) $arduino_library_files = $this->container->getParameter('builtin_libraries') . "/"; if (is_dir($arduino_library_files . "/libraries/" . $library)) { return json_encode(array("success" => true, "message" => "Library found")); - } else { - return json_encode(array("success" => false, "message" => "No Library named " . $library . " found.")); } + + return json_encode(array("success" => false, "message" => "No Library named " . $library . " found.")); } public function checkIfExternalExists($library, $getDisabled = false) { - $lib = $this->entityManager->getRepository('CodebenderLibraryBundle:ExternalLibrary')->findBy(array('machineName' => $library)); + $lib = $this->entityManager + ->getRepository('CodebenderLibraryBundle:ExternalLibrary') + ->findBy(array('machineName' => $library)); + if (empty($lib) || (!$getDisabled && !$lib[0]->getActive())) { return json_encode(array("success" => false, "message" => "No Library named " . $library . " found.")); - } else { - return json_encode(array("success" => true, "message" => "Library found")); } + + return json_encode(array("success" => true, "message" => "Library found")); } public function fetchLibraryFiles($finder, $directory, $getContent = true) @@ -339,7 +343,11 @@ public function getGithubRepoCode($owner, $repo, $branch, $path) if ($path == '') { $path = $repo; } - $libraryContents = array('name' => pathinfo($path, PATHINFO_BASENAME), 'type' => 'dir', 'contents' => array()); + $libraryContents = array( + 'name' => pathinfo($path, PATHINFO_BASENAME), + 'type' => 'dir', + 'contents' => array() + ); foreach ($contents as $element) { if ($element['type'] == 'file') { $code = $this->getGithubFileCode($owner, $repo, $element['path'], $element['sha']); @@ -371,7 +379,7 @@ private function getGithubFileCode($owner, $repo, $path, $blobSha) $jsonDecodedContent = $this->curlGitRequest($url); if (json_last_error() != JSON_ERROR_NONE) { - return ['success' => false, 'message' => 'Invalid Git API response (cannot decode)']; + return array('success' => false, 'message' => 'Invalid Git API response (cannot decode)'); } if (array_key_exists('message', $jsonDecodedContent)) { From ca35ae3311f5d4aa026ed142901dc612af36a454 Mon Sep 17 00:00:00 2001 From: Thng Kai Yuan Date: Sun, 31 Jan 2016 05:18:23 +0000 Subject: [PATCH 005/265] Fix coding style in DefaultController to comply with PSR2 --- .../Controller/DefaultController.php | 85 +++++++++++++------ 1 file changed, 61 insertions(+), 24 deletions(-) diff --git a/Symfony/src/Codebender/LibraryBundle/Controller/DefaultController.php b/Symfony/src/Codebender/LibraryBundle/Controller/DefaultController.php index a61e8143..153224b0 100644 --- a/Symfony/src/Codebender/LibraryBundle/Controller/DefaultController.php +++ b/Symfony/src/Codebender/LibraryBundle/Controller/DefaultController.php @@ -87,7 +87,9 @@ private function isValid($requestContent) return false; } - if (in_array($requestContent["type"], array("getExampleCode", "getExamples", "fetch", "getKeywords")) && !array_key_exists("library", $requestContent)) { + if (in_array($requestContent["type"], array("getExampleCode", "getExamples", "fetch", "getKeywords")) && + !array_key_exists("library", $requestContent) + ) { return false; } @@ -197,8 +199,8 @@ public function getRepoGitTreeAndMetaAction() $processedGitUrl['repo'], $gitBranch, $processedGitUrl['folder'] - ) - , true + ), + true ); if (!$githubLibrary['success']) { @@ -244,7 +246,10 @@ private function getLibraryExamples($library) $content = (!mb_check_encoding($example->getContents(), 'UTF-8')) ? mb_convert_encoding($example->getContents(), "UTF-8") : $example->getContents(); $pathInfo = pathinfo($example->getBaseName()); - $files[] = array("filename" => $pathInfo['filename'] . '.ino', "content" => (!mb_check_encoding($content, 'UTF-8')) ? mb_convert_encoding($content, "UTF-8") : $content); + $files[] = array( + "filename" => $pathInfo['filename'] . '.ino', + "content" => (!mb_check_encoding($content, 'UTF-8')) ? mb_convert_encoding($content, "UTF-8") : $content + ); // TODO: Not only .h and .cpp files in Arduino examples $notInoFilesFinder = new Finder(); @@ -254,8 +259,7 @@ private function getLibraryExamples($library) foreach ($notInoFilesFinder as $nonInoFile) { $files[] = array( "filename" => $nonInoFile->getBaseName(), - "content" => - (!mb_check_encoding($nonInoFile->getContents(), 'UTF-8')) ? mb_convert_encoding($nonInoFile->getContents(), "UTF-8") : $nonInoFile->getContents() + "content" => (!mb_check_encoding($nonInoFile->getContents(), 'UTF-8')) ? mb_convert_encoding($nonInoFile->getContents(), "UTF-8") : $nonInoFile->getContents() ); } @@ -307,13 +311,21 @@ private function getLibraryType($library) private function getExternalExampleCode($library, $example) { $entityManager = $this->getDoctrine()->getManager(); - $libMeta = $entityManager->getRepository('CodebenderLibraryBundle:ExternalLibrary')->findBy(array('machineName' => $library)); + $libMeta = $entityManager + ->getRepository('CodebenderLibraryBundle:ExternalLibrary') + ->findBy(array('machineName' => $library)); + + $exampleMeta = $entityManager + ->getRepository('CodebenderLibraryBundle:Example') + ->findBy(array('library' => $libMeta[0], 'name' => $example)); - $exampleMeta = $entityManager->getRepository('CodebenderLibraryBundle:Example')->findBy(array('library' => $libMeta[0], 'name' => $example)); if (count($exampleMeta) == 0) { $example = str_replace(":", "/", $example); $filename = pathinfo($example, PATHINFO_FILENAME); - $exampleMeta = $entityManager->getRepository('CodebenderLibraryBundle:Example')->findBy(array('library' => $libMeta[0], 'name' => $filename)); + $exampleMeta = $entityManager + ->getRepository('CodebenderLibraryBundle:Example') + ->findBy(array('library' => $libMeta[0], 'name' => $filename)); + if (count($exampleMeta) > 1) { $meta = null; foreach ($exampleMeta as $e) { @@ -326,7 +338,7 @@ private function getExternalExampleCode($library, $example) if (!$meta) { return ['success' => false]; } - } else if (count($exampleMeta) == 0) { + } elseif (count($exampleMeta) == 0) { return ['success' => false]; } else { $meta = $exampleMeta[0]; @@ -364,7 +376,7 @@ private function getExampleCodeFromDir($dir, $library, $example) if (!$filesPath) { return ['success' => false]; } - } else if (iterator_count($finder) == 0) { + } elseif (iterator_count($finder) == 0) { return ['success' => false]; } else { $filesPathIterator = iterator_to_array($finder, false); @@ -387,12 +399,16 @@ private function getExampleFilesFromDir($dir) $files = array(); foreach ($filesFinder as $file) { - if ($file->getExtension() == "pde") + if ($file->getExtension() == "pde") { $name = $file->getBasename("pde") . "ino"; - else + } else { $name = $file->getFilename(); + } - $files[] = array("filename" => $name, "code" => (!mb_check_encoding($file->getContents(), 'UTF-8')) ? mb_convert_encoding($file->getContents(), "UTF-8") : $file->getContents()); + $files[] = array( + "filename" => $name, + "code" => (!mb_check_encoding($file->getContents(), 'UTF-8')) ? mb_convert_encoding($file->getContents(), "UTF-8") : $file->getContents() + ); } @@ -412,23 +428,40 @@ private function checkIfBuiltInExampleFolderExists($library) private function getExternalLibrariesList() { $entityManager = $this->getDoctrine()->getManager(); - $externalMeta = $entityManager->getRepository('CodebenderLibraryBundle:ExternalLibrary')->findBy(array('active' => true)); + $externalMeta = $entityManager + ->getRepository('CodebenderLibraryBundle:ExternalLibrary') + ->findBy(array('active' => true)); $libraries = array(); foreach ($externalMeta as $library) { $libraryMachineName = $library->getMachineName(); if (!isset($libraries[$libraryMachineName])) { - $libraries[$libraryMachineName] = array("description" => $library->getDescription(), "humanName" => $library->getHumanName(), "examples" => array()); + $libraries[$libraryMachineName] = array( + "description" => $library->getDescription(), + "humanName" => $library->getHumanName(), + "examples" => array() + ); if ($library->getOwner() !== null && $library->getRepo() !== null) { - $libraries[$libraryMachineName] = array("description" => $library->getDescription(), "humanName" => $library->getHumanName(), "url" => "http://github.com/" . $library->getOwner() . "/" . $library->getRepo(), "examples" => array()); + $libraries[$libraryMachineName] = array( + "description" => $library->getDescription(), + "humanName" => $library->getHumanName(), + "url" => "http://github.com/" . $library->getOwner() . "/" . $library->getRepo(), + "examples" => array() + ); } } - $examples = $entityManager->getRepository('CodebenderLibraryBundle:Example')->findBy(array('library' => $library)); + $examples = $entityManager + ->getRepository('CodebenderLibraryBundle:Example') + ->findBy(array('library' => $library)); foreach ($examples as $example) { - $names = $this->getExampleAndLibNameFromRelativePath(pathinfo($example->getPath(), PATHINFO_DIRNAME), $example->getName()); + $names = $this + ->getExampleAndLibNameFromRelativePath( + pathinfo($example->getPath(), PATHINFO_DIRNAME), + $example->getName() + ); $libraries[$libraryMachineName]['examples'][] = array('name' => $names['example_name']); } @@ -449,7 +482,11 @@ private function getLibariesListFromDir($path) $libraries = array(); foreach ($finder as $file) { - $names = $this->getExampleAndLibNameFromRelativePath($file->getRelativePath(), $file->getBasename("." . $file->getExtension())); + $names = $this + ->getExampleAndLibNameFromRelativePath( + $file->getRelativePath(), + $file->getBasename("." . $file->getExtension()) + ); if (!isset($libraries[$names['library_name']])) { $libraries[$names['library_name']] = array("description" => "", "examples" => array()); @@ -468,10 +505,11 @@ private function getExampleAndLibNameFromRelativePath($path, $filename) while ($tmp != "" && !($tmp === false)) { if ($tmp != 'examples' && $tmp != 'Examples' && $tmp != $filename) { - if ($type == "") + if ($type == "") { $type = $tmp; - else + } else { $type = $type . ":" . $tmp; + } } $tmp = strtok("/"); @@ -495,7 +533,7 @@ private function getKeywords($library) if ($exists['type'] == 'external') { $path = $this->container->getParameter('external_libraries') . '/' . $library; - } else if ($exists['type'] = 'builtin') { + } elseif ($exists['type'] = 'builtin') { $path = $this->container->getParameter('builtin_libraries') . "/libraries/" . $library; } else { return ['success' => false]; @@ -539,5 +577,4 @@ private function getKeywords($library) return ['success' => true, 'keywords' => $keywords]; } - } From c0613c9348f9047a8db5b8ea549fed790ecf1db0 Mon Sep 17 00:00:00 2001 From: Jiang Sheng Date: Sun, 31 Jan 2016 13:36:49 +0800 Subject: [PATCH 006/265] Correct the logic flow for the function used for checking library files. --- .../src/Codebender/LibraryBundle/Handler/DefaultHandler.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php b/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php index 11fc4cfd..fbfdaf55 100644 --- a/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php +++ b/Symfony/src/Codebender/LibraryBundle/Handler/DefaultHandler.php @@ -196,11 +196,11 @@ public function getLastCommitFromGithub($gitOwner, $gitRepo, $sha = '', $path = public function checkIfBuiltInExists($library) { $arduino_library_files = $this->container->getParameter('builtin_libraries') . "/"; - if (is_dir($arduino_library_files . "/libraries/" . $library)) { - return json_encode(array("success" => true, "message" => "Library found")); + if (!is_dir($arduino_library_files . "/libraries/" . $library)) { + return json_encode(array("success" => false, "message" => "No Library named " . $library . " found.")); } - return json_encode(array("success" => false, "message" => "No Library named " . $library . " found.")); + return json_encode(array("success" => true, "message" => "Library found")); } public function checkIfExternalExists($library, $getDisabled = false) From 1f44c1dc2bc3fa8a04239f99d7e46eae0f95d814 Mon Sep 17 00:00:00 2001 From: Kai Yuan Thng Date: Sun, 31 Jan 2016 23:27:19 +0800 Subject: [PATCH 007/265] Create Preference entity --- .../LibraryBundle/Entity/Preference.php | 129 ++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 Symfony/src/Codebender/LibraryBundle/Entity/Preference.php diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/Preference.php b/Symfony/src/Codebender/LibraryBundle/Entity/Preference.php new file mode 100644 index 00000000..06dda3b5 --- /dev/null +++ b/Symfony/src/Codebender/LibraryBundle/Entity/Preference.php @@ -0,0 +1,129 @@ +id; + } + + /** + * Set library + * + * @param \Codebender\LibraryBundle\Entity\ExternalLibrary $library + * @return Preference + */ + public function setLibrary(\Codebender\LibraryBundle\Entity\ExternalLibrary $library = null) + { + $this->library = $library; + + return $this; + } + + /** + * Get library + * + * @return \Codebender\LibraryBundle\Entity\ExternalLibrary + */ + public function getLibrary() + { + return $this->library; + } + + /** + * Set partner + * + * @param \Codebender\LibraryBundle\Entity\Partner $partner + * @return Preference + */ + public function setPartner(\Codebender\LibraryBundle\Entity\Partner $partner = null) + { + $this->partner = $partner; + + return $this; + } + + /** + * Get partner + * + * @return \Codebender\LibraryBundle\Entity\Partner + */ + public function getPartner() + { + return $this->partner; + } + + /** + * Set version + * + * @param \Codebender\LibraryBundle\Entity\Version $version + * @return Preference + */ + public function setVersion(\Codebender\LibraryBundle\Entity\Version $version = null) + { + $this->version = $version; + + return $this; + } + + /** + * Get version + * + * @return \Codebender\LibraryBundle\Entity\Version + */ + public function getVersion() + { + return $this->version; + } +} From 04008171417d1d09837d374bea2a32a5f48c5d20 Mon Sep 17 00:00:00 2001 From: Kai Yuan Thng Date: Sun, 31 Jan 2016 23:45:26 +0800 Subject: [PATCH 008/265] Create Version entity --- .../LibraryBundle/Entity/Version.php | 308 ++++++++++++++++++ 1 file changed, 308 insertions(+) create mode 100644 Symfony/src/Codebender/LibraryBundle/Entity/Version.php diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/Version.php b/Symfony/src/Codebender/LibraryBundle/Entity/Version.php new file mode 100644 index 00000000..a1fa9e00 --- /dev/null +++ b/Symfony/src/Codebender/LibraryBundle/Entity/Version.php @@ -0,0 +1,308 @@ +id; + } + + /** + * Set version + * + * @param string $version + * @return Version + */ + public function setVersion($version) + { + $this->version = $version; + + return $this; + } + + /** + * Get version + * + * @return string + */ + public function getVersion() + { + return $this->version; + } + + /** + * Set description + * + * @param string $description + * @return Version + */ + public function setDescription($description) + { + $this->description = $description; + + return $this; + } + + /** + * Get description + * + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * Set notes + * + * @param string $notes + * @return Version + */ + public function setNotes($notes) + { + $this->notes = $notes; + + return $this; + } + + /** + * Get notes + * + * @return string + */ + public function getNotes() + { + return $this->notes; + } + + /** + * Set sourceUrl + * + * @param string $sourceUrl + * @return Version + */ + public function setSourceUrl($sourceUrl) + { + $this->sourceUrl = $sourceUrl; + + return $this; + } + + /** + * Get sourceUrl + * + * @return string + */ + public function getSourceUrl() + { + return $this->sourceUrl; + } + + /** + * Set releaseCommit + * + * @param string $releaseCommit + * @return Version + */ + public function setReleaseCommit($releaseCommit) + { + $this->releaseCommit = $releaseCommit; + + return $this; + } + + /** + * Get releaseCommit + * + * @return string + */ + public function getReleaseCommit() + { + return $this->releaseCommit; + } + + /** + * Set inRepoPath + * + * @param string $inRepoPath + * @return Version + */ + public function setInRepoPath($inRepoPath) + { + $this->inRepoPath = $inRepoPath; + + return $this; + } + + /** + * Get inRepoPath + * + * @return string + */ + public function getInRepoPath() + { + return $this->inRepoPath; + } + + /** + * Set branch + * + * @param string $branch + * @return Version + */ + public function setBranch($branch) + { + $this->branch = $branch; + + return $this; + } + + /** + * Get branch + * + * @return string + */ + public function getBranch() + { + return $this->branch; + } + + /** + * Set folderName + * + * @param string $folderName + * @return Version + */ + public function setFolderName($folderName) + { + $this->folderName = $folderName; + + return $this; + } + + /** + * Get folderName + * + * @return string + */ + public function getFolderName() + { + return $this->folderName; + } + + /** + * Set library + * + * @param \Codebender\LibraryBundle\Entity\ExternalLibrary $library + * @return Version + */ + public function setLibrary(\Codebender\LibraryBundle\Entity\ExternalLibrary $library = null) + { + $this->library = $library; + + return $this; + } + + /** + * Get library + * + * @return \Codebender\LibraryBundle\Entity\ExternalLibrary + */ + public function getLibrary() + { + return $this->library; + } +} From 48ad4ea6ceac728f26d6527355d9cecd0cf00c94 Mon Sep 17 00:00:00 2001 From: Jiang Sheng Date: Mon, 1 Feb 2016 01:25:18 +0800 Subject: [PATCH 009/265] Create Partner entity --- .../LibraryBundle/Entity/Partner.php | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 Symfony/src/Codebender/LibraryBundle/Entity/Partner.php diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/Partner.php b/Symfony/src/Codebender/LibraryBundle/Entity/Partner.php new file mode 100644 index 00000000..4b972e74 --- /dev/null +++ b/Symfony/src/Codebender/LibraryBundle/Entity/Partner.php @@ -0,0 +1,96 @@ +id; + } + + /** + * Set name + * + * @param string $name + * @return Partner + */ + public function setName($name) + { + $this->name = $name; + + return $this; + } + + /** + * Get name + * + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Set auth_key + * + * @param string $authKey + * @return Partner + */ + public function setAuthKey($authKey) + { + $this->auth_key = $authKey; + + return $this; + } + + /** + * Get auth_key + * + * @return string + */ + public function getAuthKey() + { + return $this->auth_key; + } +} From e8668d634fd6ade492e4c5228cc36231ad06d1b6 Mon Sep 17 00:00:00 2001 From: Kai Yuan Thng Date: Mon, 1 Feb 2016 01:39:06 +0800 Subject: [PATCH 010/265] Fix table name capitalisation for Preference and Version entities --- Symfony/src/Codebender/LibraryBundle/Entity/Preference.php | 2 +- Symfony/src/Codebender/LibraryBundle/Entity/Version.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/Preference.php b/Symfony/src/Codebender/LibraryBundle/Entity/Preference.php index 06dda3b5..e84ee434 100644 --- a/Symfony/src/Codebender/LibraryBundle/Entity/Preference.php +++ b/Symfony/src/Codebender/LibraryBundle/Entity/Preference.php @@ -8,7 +8,7 @@ * Preference * * @ORM\Table( - * name="preference", + * name="Preference", * uniqueConstraints={@ORM\UniqueConstraint(name="search_idx", columns={"library_id", "partner_id"})} * ) * @ORM\Entity diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/Version.php b/Symfony/src/Codebender/LibraryBundle/Entity/Version.php index a1fa9e00..2367c9a4 100644 --- a/Symfony/src/Codebender/LibraryBundle/Entity/Version.php +++ b/Symfony/src/Codebender/LibraryBundle/Entity/Version.php @@ -8,7 +8,7 @@ * Version * * @ORM\Table( - * name="version", + * name="Version", * uniqueConstraints={@ORM\UniqueConstraint(name="folders_idx", columns={"folder_name"})}, * indexes={@ORM\Index(name="libraries_idx", columns={"library_id"})} * ) From ac18da953008c07e9c7f4e88172199ba50ddbc74 Mon Sep 17 00:00:00 2001 From: seokmin Date: Mon, 1 Feb 2016 14:20:50 +0000 Subject: [PATCH 011/265] Create Architecture entity --- .../LibraryBundle/Entity/Architecture.php | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Symfony/src/Codebender/LibraryBundle/Entity/Architecture.php diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/Architecture.php b/Symfony/src/Codebender/LibraryBundle/Entity/Architecture.php new file mode 100644 index 00000000..ff460450 --- /dev/null +++ b/Symfony/src/Codebender/LibraryBundle/Entity/Architecture.php @@ -0,0 +1,66 @@ +id; + } + + /** + * Set name + * + * @param string $name + * @return Example + */ + public function setName($name) + { + $this->name = $name; + + return $this; + } + + /** + * Get name + * + * @return string + */ + public function getName() + { + return $this->name; + } +} From f0a6a62024c566e6e37b41eeb23d6aeef123f84c Mon Sep 17 00:00:00 2001 From: Jiang Sheng Date: Mon, 1 Feb 2016 23:59:44 +0800 Subject: [PATCH 012/265] Create Library Entity --- .../LibraryBundle/Entity/Library.php | 368 ++++++++++++++++++ 1 file changed, 368 insertions(+) create mode 100644 Symfony/src/Codebender/LibraryBundle/Entity/Library.php diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/Library.php b/Symfony/src/Codebender/LibraryBundle/Entity/Library.php new file mode 100644 index 00000000..0a08031a --- /dev/null +++ b/Symfony/src/Codebender/LibraryBundle/Entity/Library.php @@ -0,0 +1,368 @@ +id; + } + + /** + * Set name + * + * @param string $name + * @return Library + */ + public function setName($name) + { + $this->name = $name; + + return $this; + } + + /** + * Get name + * + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Set default_header + * + * @param string $defaultHeader + * @return Library + */ + public function setDefaultHeader($defaultHeader) + { + $this->default_header = $defaultHeader; + + return $this; + } + + /** + * Get default_header + * + * @return string + */ + public function getDefaultHeader() + { + return $this->default_header; + } + + /** + * Set folder_name + * + * @param string $folderName + * @return Library + */ + public function setFolderName($folderName) + { + $this->folder_name = $folderName; + + return $this; + } + + /** + * Get folder_name + * + * @return string + */ + public function getFolderName() + { + return $this->folder_name; + } + + /** + * Set description + * + * @param string $description + * @return Library + */ + public function setDescription($description) + { + $this->description = $description; + + return $this; + } + + /** + * Get description + * + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * Set owner + * + * @param string $owner + * @return Library + */ + public function setOwner($owner) + { + $this->owner = $owner; + + return $this; + } + + /** + * Get owner + * + * @return string + */ + public function getOwner() + { + return $this->owner; + } + + /** + * Set repo + * + * @param string $repo + * @return Library + */ + public function setRepo($repo) + { + $this->repo = $repo; + + return $this; + } + + /** + * Get repo + * + * @return string + */ + public function getRepo() + { + return $this->repo; + } + + /** + * Set notes + * + * @param string $notes + * @return Library + */ + public function setNotes($notes) + { + $this->notes = $notes; + + return $this; + } + + /** + * Get notes + * + * @return string + */ + public function getNotes() + { + return $this->notes; + } + + /** + * Set verified + * + * @param boolean $verified + * @return Library + */ + public function setVerified($verified) + { + $this->verified = $verified; + + return $this; + } + + /** + * Get verified + * + * @return boolean + */ + public function getVerified() + { + return $this->verified; + } + + /** + * Set active + * + * @param boolean $active + * @return Library + */ + public function setActive($active) + { + $this->active = $active; + + return $this; + } + + /** + * Get active + * + * @return boolean + */ + public function getActive() + { + return $this->active; + } + + /** + * Set last_commit + * + * @param string $lastCommit + * @return Library + */ + public function setLastCommit($lastCommit) + { + $this->last_commit = $lastCommit; + + return $this; + } + + /** + * Get last_commit + * + * @return string + */ + public function getLastCommit() + { + return $this->last_commit; + } + + /** + * Set url + * + * @param string $url + * @return Library + */ + public function setUrl($url) + { + $this->url = $url; + + return $this; + } + + /** + * Get url + * + * @return string + */ + public function getUrl() + { + return $this->url; + } +} From 30d1ca0f4d1e47c37004c1430b6a23e1e355d2f3 Mon Sep 17 00:00:00 2001 From: Jiang Sheng Date: Tue, 2 Feb 2016 15:06:39 +0800 Subject: [PATCH 013/265] Add one to many relationship to Library and Partner entity. --- .../LibraryBundle/Entity/Library.php | 45 ++++++++++++++++++ .../LibraryBundle/Entity/Partner.php | 46 +++++++++++++++++++ 2 files changed, 91 insertions(+) diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/Library.php b/Symfony/src/Codebender/LibraryBundle/Entity/Library.php index 0a08031a..20c8469b 100644 --- a/Symfony/src/Codebender/LibraryBundle/Entity/Library.php +++ b/Symfony/src/Codebender/LibraryBundle/Entity/Library.php @@ -103,6 +103,11 @@ class Library */ private $url; + /** + * @ORM\OneToMany(targetEntity="Version", mappedBy="library") + */ + private $versions; + /** * Get id * @@ -365,4 +370,44 @@ public function getUrl() { return $this->url; } + /** + * Constructor + */ + public function __construct() + { + $this->versions = new \Doctrine\Common\Collections\ArrayCollection(); + } + + /** + * Add versions + * + * @param \Codebender\LibraryBundle\Entity\Version $versions + * @return Library + */ + public function addVersion(\Codebender\LibraryBundle\Entity\Version $versions) + { + $this->versions[] = $versions; + + return $this; + } + + /** + * Remove versions + * + * @param \Codebender\LibraryBundle\Entity\Version $versions + */ + public function removeVersion(\Codebender\LibraryBundle\Entity\Version $versions) + { + $this->versions->removeElement($versions); + } + + /** + * Get versions + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getVersions() + { + return $this->versions; + } } diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/Partner.php b/Symfony/src/Codebender/LibraryBundle/Entity/Partner.php index 4b972e74..cec24ab4 100644 --- a/Symfony/src/Codebender/LibraryBundle/Entity/Partner.php +++ b/Symfony/src/Codebender/LibraryBundle/Entity/Partner.php @@ -38,6 +38,11 @@ class Partner */ private $auth_key; + /** + * @ORM\OneToMany(targetEntity="Preference", mappedBy="partner") + */ + private $preferences; + /** * Get id * @@ -93,4 +98,45 @@ public function getAuthKey() { return $this->auth_key; } + + /** + * Constructor + */ + public function __construct() + { + $this->preferences = new \Doctrine\Common\Collections\ArrayCollection(); + } + + /** + * Add preferences + * + * @param \Codebender\LibraryBundle\Entity\Preference $preferences + * @return Partner + */ + public function addPreference(\Codebender\LibraryBundle\Entity\Preference $preferences) + { + $this->preferences[] = $preferences; + + return $this; + } + + /** + * Remove preferences + * + * @param \Codebender\LibraryBundle\Entity\Preference $preferences + */ + public function removePreference(\Codebender\LibraryBundle\Entity\Preference $preferences) + { + $this->preferences->removeElement($preferences); + } + + /** + * Get preferences + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getPreferences() + { + return $this->preferences; + } } From 80ff679b9f65c7f72b8b1095d681ac3080ec0be4 Mon Sep 17 00:00:00 2001 From: Jiang Sheng Date: Tue, 2 Feb 2016 15:13:14 +0800 Subject: [PATCH 014/265] Change the reference entity from "ExternalLibrary" to use the newly created "Library" entity. --- .../src/Codebender/LibraryBundle/Entity/Preference.php | 10 +++++----- .../src/Codebender/LibraryBundle/Entity/Version.php | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/Preference.php b/Symfony/src/Codebender/LibraryBundle/Entity/Preference.php index e84ee434..3b617c1a 100644 --- a/Symfony/src/Codebender/LibraryBundle/Entity/Preference.php +++ b/Symfony/src/Codebender/LibraryBundle/Entity/Preference.php @@ -25,9 +25,9 @@ class Preference private $id; /** - * @var ExternalLibrary + * @var Library * - * @ORM\ManyToOne(targetEntity="ExternalLibrary") + * @ORM\ManyToOne(targetEntity="Library") * @ORM\JoinColumn(name="library_id", referencedColumnName="id") */ private $library; @@ -61,10 +61,10 @@ public function getId() /** * Set library * - * @param \Codebender\LibraryBundle\Entity\ExternalLibrary $library + * @param \Codebender\LibraryBundle\Entity\Library $library * @return Preference */ - public function setLibrary(\Codebender\LibraryBundle\Entity\ExternalLibrary $library = null) + public function setLibrary(\Codebender\LibraryBundle\Entity\Library $library = null) { $this->library = $library; @@ -74,7 +74,7 @@ public function setLibrary(\Codebender\LibraryBundle\Entity\ExternalLibrary $lib /** * Get library * - * @return \Codebender\LibraryBundle\Entity\ExternalLibrary + * @return \Codebender\LibraryBundle\Entity\Library */ public function getLibrary() { diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/Version.php b/Symfony/src/Codebender/LibraryBundle/Entity/Version.php index 2367c9a4..da4eabb1 100644 --- a/Symfony/src/Codebender/LibraryBundle/Entity/Version.php +++ b/Symfony/src/Codebender/LibraryBundle/Entity/Version.php @@ -26,9 +26,9 @@ class Version private $id; /** - * @var ExternalLibrary + * @var Library * - * @ORM\ManyToOne(targetEntity="ExternalLibrary", inversedBy="versions") + * @ORM\ManyToOne(targetEntity="Library", inversedBy="versions") * @ORM\JoinColumn(name="library_id", referencedColumnName="id") */ private $library; @@ -286,10 +286,10 @@ public function getFolderName() /** * Set library * - * @param \Codebender\LibraryBundle\Entity\ExternalLibrary $library + * @param \Codebender\LibraryBundle\Entity\Library $library * @return Version */ - public function setLibrary(\Codebender\LibraryBundle\Entity\ExternalLibrary $library = null) + public function setLibrary(\Codebender\LibraryBundle\Entity\Library $library = null) { $this->library = $library; @@ -299,7 +299,7 @@ public function setLibrary(\Codebender\LibraryBundle\Entity\ExternalLibrary $lib /** * Get library * - * @return \Codebender\LibraryBundle\Entity\ExternalLibrary + * @return \Codebender\LibraryBundle\Entity\Library */ public function getLibrary() { From 9e7b1c19c8a5fe1117b761505f935f304ce0d9e0 Mon Sep 17 00:00:00 2001 From: seokmin Date: Tue, 2 Feb 2016 10:19:55 +0000 Subject: [PATCH 015/265] Create CodeExample Entity --- .../LibraryBundle/Entity/Architecture.php | 2 +- .../LibraryBundle/Entity/CodeExample.php | 157 ++++++++++++++++++ 2 files changed, 158 insertions(+), 1 deletion(-) create mode 100644 Symfony/src/Codebender/LibraryBundle/Entity/CodeExample.php diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/Architecture.php b/Symfony/src/Codebender/LibraryBundle/Entity/Architecture.php index ff460450..30c935ca 100644 --- a/Symfony/src/Codebender/LibraryBundle/Entity/Architecture.php +++ b/Symfony/src/Codebender/LibraryBundle/Entity/Architecture.php @@ -45,7 +45,7 @@ public function getId() * Set name * * @param string $name - * @return Example + * @return Architecture */ public function setName($name) { diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/CodeExample.php b/Symfony/src/Codebender/LibraryBundle/Entity/CodeExample.php new file mode 100644 index 00000000..f98d8ae0 --- /dev/null +++ b/Symfony/src/Codebender/LibraryBundle/Entity/CodeExample.php @@ -0,0 +1,157 @@ +id; + } + + /** + * Set version_id + * + * @param string $version_id + * @return CodeExample + */ + public function setVersionId($version_id) + { + $this->version_id = $version_id; + + return $this; + } + + /** + * Get version_id + * + * @return string + */ + public function getVersionId() + { + return $this->version_id; + } + + /** + * Set name + * + * @param string $name + * @return CodeExample + */ + public function setName($name) + { + $this->name = $name; + + return $this; + } + + /** + * Get name + * + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Set path + * + * @param string $path + * @return CodeExample + */ + public function setPath($path) + { + $this->path = $path; + + return $this; + } + + /** + * Get path + * + * @return string + */ + public function getPath() + { + return $this->path; + } + + /** + * Set boards + * + * @param string $boards + * @return CodeExample + */ + public function setBoards($boards) + { + $this->boards = $boards; + + return $this; + } + + /** + * Get boards + * + * @return string + */ + public function getBoards() + { + return $this->boards; + } + +} From d0acb203a264c94390decf29b8738eb8ed56e418 Mon Sep 17 00:00:00 2001 From: seokmin Date: Tue, 2 Feb 2016 13:12:43 +0000 Subject: [PATCH 016/265] Renamed CodeExample to LibraryExample. Fixed a syntax error. --- .../Entity/{CodeExample.php => LibraryExample.php} | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) rename Symfony/src/Codebender/LibraryBundle/Entity/{CodeExample.php => LibraryExample.php} (87%) diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/CodeExample.php b/Symfony/src/Codebender/LibraryBundle/Entity/LibraryExample.php similarity index 87% rename from Symfony/src/Codebender/LibraryBundle/Entity/CodeExample.php rename to Symfony/src/Codebender/LibraryBundle/Entity/LibraryExample.php index f98d8ae0..0040a414 100644 --- a/Symfony/src/Codebender/LibraryBundle/Entity/CodeExample.php +++ b/Symfony/src/Codebender/LibraryBundle/Entity/LibraryExample.php @@ -5,15 +5,15 @@ use Doctrine\ORM\Mapping as ORM; /** - * CodeExample + * LibraryExample * * @ORM\Entity * @ORM\Table( - * name="CodeExample" + * name="LibraryExample", * uniqueConstraints={@ORM\UniqueConstraint(name="version_idx", columns={"version_id"})} * ) */ -class CodeExample +class LibraryExample { /** * @var integer @@ -66,7 +66,7 @@ public function getId() * Set version_id * * @param string $version_id - * @return CodeExample + * @return LibraryExample */ public function setVersionId($version_id) { @@ -89,7 +89,7 @@ public function getVersionId() * Set name * * @param string $name - * @return CodeExample + * @return LibraryExample */ public function setName($name) { @@ -112,7 +112,7 @@ public function getName() * Set path * * @param string $path - * @return CodeExample + * @return LibraryExample */ public function setPath($path) { @@ -135,7 +135,7 @@ public function getPath() * Set boards * * @param string $boards - * @return CodeExample + * @return LibraryExample */ public function setBoards($boards) { From c13bd4ca73f3a491130a01b3eacabd744e1b0db7 Mon Sep 17 00:00:00 2001 From: Kai Yuan Thng Date: Tue, 2 Feb 2016 23:01:33 +0800 Subject: [PATCH 017/265] Add one-to-many relationship between Version and LibraryExample --- .../LibraryBundle/Entity/LibraryExample.php | 213 +++++++++--------- .../LibraryBundle/Entity/Version.php | 46 ++++ 2 files changed, 153 insertions(+), 106 deletions(-) diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/LibraryExample.php b/Symfony/src/Codebender/LibraryBundle/Entity/LibraryExample.php index 0040a414..31459acf 100644 --- a/Symfony/src/Codebender/LibraryBundle/Entity/LibraryExample.php +++ b/Symfony/src/Codebender/LibraryBundle/Entity/LibraryExample.php @@ -25,11 +25,12 @@ class LibraryExample private $id; /** - * @var string + * @var Version * - * @ORM\Column(name="version_id", type="string", length=255) + * @ORM\ManyToOne(targetEntity="Version") + * @ORM\JoinColumn(name="version_id", referencedColumnName="id") */ - private $version_id; + private $version; /** * @var string @@ -52,106 +53,106 @@ class LibraryExample */ private $boards; - /** - * Get id - * - * @return integer - */ - public function getId() - { - return $this->id; - } - - /** - * Set version_id - * - * @param string $version_id - * @return LibraryExample - */ - public function setVersionId($version_id) - { - $this->version_id = $version_id; - - return $this; - } - - /** - * Get version_id - * - * @return string - */ - public function getVersionId() - { - return $this->version_id; - } - - /** - * Set name - * - * @param string $name - * @return LibraryExample - */ - public function setName($name) - { - $this->name = $name; - - return $this; - } - - /** - * Get name - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Set path - * - * @param string $path - * @return LibraryExample - */ - public function setPath($path) - { - $this->path = $path; - - return $this; - } - - /** - * Get path - * - * @return string - */ - public function getPath() - { - return $this->path; - } - - /** - * Set boards - * - * @param string $boards - * @return LibraryExample - */ - public function setBoards($boards) - { - $this->boards = $boards; - - return $this; - } - - /** - * Get boards - * - * @return string - */ - public function getBoards() - { - return $this->boards; - } - -} + + /** + * Get id + * + * @return integer + */ + public function getId() + { + return $this->id; + } + + /** + * Set name + * + * @param string $name + * @return LibraryExample + */ + public function setName($name) + { + $this->name = $name; + + return $this; + } + + /** + * Get name + * + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Set path + * + * @param string $path + * @return LibraryExample + */ + public function setPath($path) + { + $this->path = $path; + + return $this; + } + + /** + * Get path + * + * @return string + */ + public function getPath() + { + return $this->path; + } + + /** + * Set boards + * + * @param string $boards + * @return LibraryExample + */ + public function setBoards($boards) + { + $this->boards = $boards; + + return $this; + } + + /** + * Get boards + * + * @return string + */ + public function getBoards() + { + return $this->boards; + } + + /** + * Set version + * + * @param \Codebender\LibraryBundle\Entity\Version $version + * @return LibraryExample + */ + public function setVersion(\Codebender\LibraryBundle\Entity\Version $version = null) + { + $this->version = $version; + + return $this; + } + + /** + * Get version + * + * @return \Codebender\LibraryBundle\Entity\Version + */ + public function getVersion() + { + return $this->version; + } +} diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/Version.php b/Symfony/src/Codebender/LibraryBundle/Entity/Version.php index da4eabb1..4ed8b666 100644 --- a/Symfony/src/Codebender/LibraryBundle/Entity/Version.php +++ b/Symfony/src/Codebender/LibraryBundle/Entity/Version.php @@ -89,6 +89,19 @@ class Version */ private $folderName; + /** + * @ORM\OneToMany(targetEntity="LibraryExample", mappedBy="version") + */ + private $libraryExamples; + + /** + * Constructor + */ + public function __construct() + { + $this->libraryExamples = new \Doctrine\Common\Collections\ArrayCollection(); + } + /** * Get id * @@ -305,4 +318,37 @@ public function getLibrary() { return $this->library; } + + /** + * Add libraryExamples + * + * @param \Codebender\LibraryBundle\Entity\LibraryExample $libraryExamples + * @return Version + */ + public function addLibraryExample(\Codebender\LibraryBundle\Entity\LibraryExample $libraryExamples) + { + $this->libraryExamples[] = $libraryExamples; + + return $this; + } + + /** + * Remove libraryExamples + * + * @param \Codebender\LibraryBundle\Entity\LibraryExample $libraryExamples + */ + public function removeLibraryExample(\Codebender\LibraryBundle\Entity\LibraryExample $libraryExamples) + { + $this->libraryExamples->removeElement($libraryExamples); + } + + /** + * Get libraryExamples + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getLibraryExamples() + { + return $this->libraryExamples; + } } From 37b671fa42f7ad8b590e254b4ef7a69ae47fafbd Mon Sep 17 00:00:00 2001 From: Kai Yuan Thng Date: Wed, 3 Feb 2016 18:00:21 +0800 Subject: [PATCH 018/265] Update composer files to upgrade doctrine/ORM and install doctrine/migration --- Symfony/composer.json | 5 +- Symfony/composer.lock | 882 ++++++++++++++++++++++++++++++++---------- 2 files changed, 679 insertions(+), 208 deletions(-) diff --git a/Symfony/composer.json b/Symfony/composer.json index 81abc1b0..9909cfd4 100644 --- a/Symfony/composer.json +++ b/Symfony/composer.json @@ -9,7 +9,7 @@ "require": { "php": ">=5.3.3", "symfony/symfony": "2.3.*", - "doctrine/orm": ">=2.2.3,<2.4-dev", + "doctrine/orm": "2.4.*", "doctrine/doctrine-bundle": "1.2.*", "twig/extensions": "1.0.*", "symfony/assetic-bundle": "2.3.*", @@ -19,7 +19,8 @@ "sensio/framework-extra-bundle": "2.3.*", "sensio/generator-bundle": "2.3.*", "incenteev/composer-parameter-handler": "~2.0", - "doctrine/doctrine-fixtures-bundle": "^2.2" + "doctrine/doctrine-fixtures-bundle": "^2.2", + "doctrine/doctrine-migrations-bundle": "^1.0" }, "require-dev": { "phpunit/phpunit": "4.8.*", diff --git a/Symfony/composer.lock b/Symfony/composer.lock index e421278a..ec7f32b5 100644 --- a/Symfony/composer.lock +++ b/Symfony/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "1ea0627142f4ec2d8e41b3f81b63416f", - "content-hash": "40237162eb9019bb37b9009aa56285e9", + "hash": "ea9ee384757a3d9531247eed6dcfba0a", + "content-hash": "32ca2c32de351e8c373a140364d97488", "packages": [ { "name": "doctrine/annotations", @@ -77,38 +77,38 @@ }, { "name": "doctrine/cache", - "version": "v1.4.2", + "version": "v1.6.0", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "8c434000f420ade76a07c64cbe08ca47e5c101ca" + "reference": "f8af318d14bdb0eff0336795b428b547bd39ccb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/8c434000f420ade76a07c64cbe08ca47e5c101ca", - "reference": "8c434000f420ade76a07c64cbe08ca47e5c101ca", + "url": "https://api.github.com/repos/doctrine/cache/zipball/f8af318d14bdb0eff0336795b428b547bd39ccb6", + "reference": "f8af318d14bdb0eff0336795b428b547bd39ccb6", "shasum": "" }, "require": { - "php": ">=5.3.2" + "php": "~5.5|~7.0" }, "conflict": { "doctrine/common": ">2.2,<2.4" }, "require-dev": { - "phpunit/phpunit": ">=3.7", + "phpunit/phpunit": "~4.8|~5.0", "predis/predis": "~1.0", "satooshi/php-coveralls": "~0.6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.5.x-dev" + "dev-master": "1.6.x-dev" } }, "autoload": { - "psr-0": { - "Doctrine\\Common\\Cache\\": "lib/" + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" } }, "notification-url": "https://packagist.org/downloads/", @@ -143,7 +143,7 @@ "cache", "caching" ], - "time": "2015-08-31 12:36:41" + "time": "2015-12-31 16:37:02" }, { "name": "doctrine/collections", @@ -213,16 +213,16 @@ }, { "name": "doctrine/common", - "version": "v2.4.3", + "version": "v2.6.1", "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "4824569127daa9784bf35219a1cd49306c795389" + "reference": "a579557bc689580c19fee4e27487a67fe60defc0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/4824569127daa9784bf35219a1cd49306c795389", - "reference": "4824569127daa9784bf35219a1cd49306c795389", + "url": "https://api.github.com/repos/doctrine/common/zipball/a579557bc689580c19fee4e27487a67fe60defc0", + "reference": "a579557bc689580c19fee4e27487a67fe60defc0", "shasum": "" }, "require": { @@ -231,20 +231,20 @@ "doctrine/collections": "1.*", "doctrine/inflector": "1.*", "doctrine/lexer": "1.*", - "php": ">=5.3.2" + "php": "~5.5|~7.0" }, "require-dev": { - "phpunit/phpunit": "~3.7" + "phpunit/phpunit": "~4.8|~5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4.x-dev" + "dev-master": "2.7.x-dev" } }, "autoload": { - "psr-0": { - "Doctrine\\Common\\": "lib/" + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" } }, "notification-url": "https://packagist.org/downloads/", @@ -282,28 +282,31 @@ "persistence", "spl" ], - "time": "2015-08-31 14:38:45" + "time": "2015-12-25 13:18:31" }, { "name": "doctrine/data-fixtures", - "version": "v1.0.2", + "version": "v1.1.1", "source": { "type": "git", "url": "https://github.com/doctrine/data-fixtures.git", - "reference": "422952ccf7151c02bb5c01fadb305dce266a3b5f" + "reference": "bd44f6b6e40247b6530bc8abe802e4e4d914976a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/422952ccf7151c02bb5c01fadb305dce266a3b5f", - "reference": "422952ccf7151c02bb5c01fadb305dce266a3b5f", + "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/bd44f6b6e40247b6530bc8abe802e4e4d914976a", + "reference": "bd44f6b6e40247b6530bc8abe802e4e4d914976a", "shasum": "" }, "require": { "doctrine/common": "~2.2", "php": ">=5.3.2" }, + "conflict": { + "doctrine/orm": "< 2.4" + }, "require-dev": { - "doctrine/orm": "~2.2" + "doctrine/orm": "~2.4" }, "suggest": { "doctrine/mongodb-odm": "For loading MongoDB ODM fixtures", @@ -313,7 +316,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { @@ -336,35 +339,37 @@ "keywords": [ "database" ], - "time": "2015-03-27 21:01:43" + "time": "2015-03-30 12:14:13" }, { "name": "doctrine/dbal", - "version": "2.3.5", + "version": "v2.4.5", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "d5067b0b7e5ef59ba165dcc116c539400bf957ff" + "reference": "5a1f4bf34d61d997ccd9f0539fbc14c7a772aa16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/d5067b0b7e5ef59ba165dcc116c539400bf957ff", - "reference": "d5067b0b7e5ef59ba165dcc116c539400bf957ff", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/5a1f4bf34d61d997ccd9f0539fbc14c7a772aa16", + "reference": "5a1f4bf34d61d997ccd9f0539fbc14c7a772aa16", "shasum": "" }, "require": { - "doctrine/common": ">=2.3.0,<2.5-dev", + "doctrine/common": "~2.4", "php": ">=5.3.2" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } + "require-dev": { + "phpunit/phpunit": "3.7.*", + "symfony/console": "~2.0" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." }, + "type": "library", "autoload": { "psr-0": { - "Doctrine\\DBAL": "lib/" + "Doctrine\\DBAL\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -397,7 +402,7 @@ "persistence", "queryobject" ], - "time": "2014-09-15 11:44:29" + "time": "2016-01-05 22:18:20" }, { "name": "doctrine/doctrine-bundle", @@ -471,23 +476,23 @@ }, { "name": "doctrine/doctrine-fixtures-bundle", - "version": "v2.2.1", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineFixturesBundle.git", - "reference": "817c2d233fde0fe85cb7e4d25d43fbfcd028aef8" + "reference": "0f1a2f91b349e10f5c343f75ab71d23aace5b029" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/817c2d233fde0fe85cb7e4d25d43fbfcd028aef8", - "reference": "817c2d233fde0fe85cb7e4d25d43fbfcd028aef8", + "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/0f1a2f91b349e10f5c343f75ab71d23aace5b029", + "reference": "0f1a2f91b349e10f5c343f75ab71d23aace5b029", "shasum": "" }, "require": { "doctrine/data-fixtures": "~1.0", "doctrine/doctrine-bundle": "~1.0", "php": ">=5.3.2", - "symfony/doctrine-bridge": "~2.1" + "symfony/doctrine-bridge": "~2.3|~3.0" }, "type": "symfony-bundle", "extra": { @@ -524,20 +529,78 @@ "Fixture", "persistence" ], - "time": "2015-08-04 22:43:14" + "time": "2015-11-04 21:23:23" + }, + { + "name": "doctrine/doctrine-migrations-bundle", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/DoctrineMigrationsBundle.git", + "reference": "303a576e2124efb07ec215e34ea2480b841cf5e4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/303a576e2124efb07ec215e34ea2480b841cf5e4", + "reference": "303a576e2124efb07ec215e34ea2480b841cf5e4", + "shasum": "" + }, + "require": { + "doctrine/doctrine-bundle": "~1.0", + "doctrine/migrations": "~1.0", + "php": ">=5.3.2", + "symfony/framework-bundle": "~2.3|~3.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Bundle\\MigrationsBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Doctrine Project", + "homepage": "http://www.doctrine-project.org" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony DoctrineMigrationsBundle", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "dbal", + "migrations", + "schema" + ], + "time": "2015-11-04 13:45:30" }, { "name": "doctrine/inflector", - "version": "v1.0.1", + "version": "v1.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604" + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/0bcb2e79d8571787f18b7eb036ed3d004908e604", - "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae", + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae", "shasum": "" }, "require": { @@ -549,7 +612,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { @@ -591,7 +654,7 @@ "singularize", "string" ], - "time": "2014-12-20 21:24:13" + "time": "2015-11-06 14:35:42" }, { "name": "doctrine/lexer", @@ -647,25 +710,99 @@ ], "time": "2014-09-09 13:34:57" }, + { + "name": "doctrine/migrations", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/migrations.git", + "reference": "2ce8d87d4247e4b87cc5905ea5f8446b12bd9b5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/2ce8d87d4247e4b87cc5905ea5f8446b12bd9b5b", + "reference": "2ce8d87d4247e4b87cc5905ea5f8446b12bd9b5b", + "shasum": "" + }, + "require": { + "doctrine/dbal": "~2.2", + "ocramius/proxy-manager": "^1.0", + "php": "^5.5|^7.0", + "symfony/console": "~2.3|~3.0", + "symfony/yaml": "~2.3|~3.0" + }, + "require-dev": { + "doctrine/coding-standard": "dev-master", + "doctrine/orm": "2.*", + "johnkary/phpunit-speedtrap": "~1.0@dev", + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "~4.7", + "satooshi/php-coveralls": "0.6.*" + }, + "bin": [ + "bin/doctrine-migrations" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "v1.4.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\DBAL\\Migrations\\": "lib/Doctrine/DBAL/Migrations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1" + ], + "authors": [ + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Michael Simonson", + "email": "contact@mikesimonson.com" + } + ], + "description": "Database Schema migrations using Doctrine DBAL", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "migrations" + ], + "time": "2016-01-23 09:49:17" + }, { "name": "doctrine/orm", - "version": "v2.3.6", + "version": "v2.4.8", "source": { "type": "git", "url": "https://github.com/doctrine/doctrine2.git", - "reference": "c2135b38216c6c8a410e764792aa368e946f2ae5" + "reference": "5aedac1e5c5caaeac14798822c70325dc242d467" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/c2135b38216c6c8a410e764792aa368e946f2ae5", - "reference": "c2135b38216c6c8a410e764792aa368e946f2ae5", + "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/5aedac1e5c5caaeac14798822c70325dc242d467", + "reference": "5aedac1e5c5caaeac14798822c70325dc242d467", "shasum": "" }, "require": { - "doctrine/dbal": "2.3.*", + "doctrine/collections": "~1.1", + "doctrine/dbal": "~2.4", "ext-pdo": "*", "php": ">=5.3.2", - "symfony/console": "2.*" + "symfony/console": "~2.0" + }, + "require-dev": { + "satooshi/php-coveralls": "dev-master", + "symfony/yaml": "~2.1" }, "suggest": { "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" @@ -677,12 +814,12 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3.x-dev" + "dev-master": "2.4.x-dev" } }, "autoload": { "psr-0": { - "Doctrine\\ORM": "lib/" + "Doctrine\\ORM\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -690,17 +827,6 @@ "MIT" ], "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/", - "role": "Creator" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -708,6 +834,14 @@ { "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" } ], "description": "Object-Relational-Mapper for PHP", @@ -716,25 +850,25 @@ "database", "orm" ], - "time": "2014-06-03 19:53:45" + "time": "2015-08-31 13:19:01" }, { "name": "incenteev/composer-parameter-handler", - "version": "v2.1.1", + "version": "v2.1.2", "source": { "type": "git", "url": "https://github.com/Incenteev/ParameterHandler.git", - "reference": "84a205fe80a46101607bafbc423019527893ddd0" + "reference": "d7ce7f06136109e81d1cb9d57066c4d4a99cf1cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/84a205fe80a46101607bafbc423019527893ddd0", - "reference": "84a205fe80a46101607bafbc423019527893ddd0", + "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/d7ce7f06136109e81d1cb9d57066c4d4a99cf1cc", + "reference": "d7ce7f06136109e81d1cb9d57066c4d4a99cf1cc", "shasum": "" }, "require": { "php": ">=5.3.3", - "symfony/yaml": "~2.0" + "symfony/yaml": "~2.3|~3.0" }, "require-dev": { "composer/composer": "1.0.*@dev", @@ -767,7 +901,7 @@ "keywords": [ "parameters management" ], - "time": "2015-06-03 08:27:03" + "time": "2015-11-10 17:04:01" }, { "name": "jdorn/sql-formatter", @@ -967,6 +1101,117 @@ ], "time": "2015-10-14 12:51:02" }, + { + "name": "ocramius/proxy-manager", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/Ocramius/ProxyManager.git", + "reference": "57e9272ec0e8deccf09421596e0e2252df440e11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Ocramius/ProxyManager/zipball/57e9272ec0e8deccf09421596e0e2252df440e11", + "reference": "57e9272ec0e8deccf09421596e0e2252df440e11", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "zendframework/zend-code": ">2.2.5,<3.0" + }, + "require-dev": { + "ext-phar": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "1.5.*" + }, + "suggest": { + "ocramius/generated-hydrator": "To have very fast object to array to object conversion for ghost objects", + "zendframework/zend-json": "To have the JsonRpc adapter (Remote Object feature)", + "zendframework/zend-soap": "To have the Soap adapter (Remote Object feature)", + "zendframework/zend-stdlib": "To use the hydrator proxy", + "zendframework/zend-xmlrpc": "To have the XmlRpc adapter (Remote Object feature)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "ProxyManager\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A library providing utilities to generate, instantiate and generally operate with Object Proxies", + "homepage": "https://github.com/Ocramius/ProxyManager", + "keywords": [ + "aop", + "lazy loading", + "proxy", + "proxy pattern", + "service proxies" + ], + "time": "2015-08-09 04:28:19" + }, + { + "name": "paragonie/random_compat", + "version": "1.1.6", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "e6f80ab77885151908d0ec743689ca700886e8b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/e6f80ab77885151908d0ec743689ca700886e8b0", + "reference": "e6f80ab77885151908d0ec743689ca700886e8b0", + "shasum": "" + }, + "require": { + "php": ">=5.2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "autoload": { + "files": [ + "lib/random.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "pseudorandom", + "random" + ], + "time": "2016-01-29 16:19:52" + }, { "name": "psr/log", "version": "1.0.0", @@ -1326,28 +1571,28 @@ }, { "name": "symfony/swiftmailer-bundle", - "version": "v2.3.8", + "version": "v2.3.11", "source": { "type": "git", "url": "https://github.com/symfony/swiftmailer-bundle.git", - "reference": "970b13d01871207e81d17b17ddda025e7e21e797" + "reference": "5e1a90f28213231ceee19c953bbebc5b5b95c690" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/970b13d01871207e81d17b17ddda025e7e21e797", - "reference": "970b13d01871207e81d17b17ddda025e7e21e797", + "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/5e1a90f28213231ceee19c953bbebc5b5b95c690", + "reference": "5e1a90f28213231ceee19c953bbebc5b5b95c690", "shasum": "" }, "require": { "php": ">=5.3.2", "swiftmailer/swiftmailer": ">=4.2.0,~5.0", - "symfony/swiftmailer-bridge": "~2.1" + "symfony/config": "~2.3|~3.0", + "symfony/dependency-injection": "~2.3|~3.0", + "symfony/http-kernel": "~2.3|~3.0", + "symfony/yaml": "~2.3|~3.0" }, "require-dev": { - "symfony/config": "~2.1", - "symfony/dependency-injection": "~2.1", - "symfony/http-kernel": "~2.1", - "symfony/yaml": "~2.1" + "symfony/phpunit-bridge": "~2.7|~3.0" }, "suggest": { "psr/log": "Allows logging" @@ -1379,27 +1624,28 @@ ], "description": "Symfony SwiftmailerBundle", "homepage": "http://symfony.com", - "time": "2014-12-01 17:44:50" + "time": "2016-01-15 16:41:20" }, { "name": "symfony/symfony", - "version": "v2.3.33", + "version": "v2.3.37", "source": { "type": "git", "url": "https://github.com/symfony/symfony.git", - "reference": "3b8a8ee48e8ad81cb5d9d85b909bbd28011423a1" + "reference": "8fe60fae1d35406762149faa3cf097725ffba9e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/symfony/zipball/3b8a8ee48e8ad81cb5d9d85b909bbd28011423a1", - "reference": "3b8a8ee48e8ad81cb5d9d85b909bbd28011423a1", + "url": "https://api.github.com/repos/symfony/symfony/zipball/8fe60fae1d35406762149faa3cf097725ffba9e2", + "reference": "8fe60fae1d35406762149faa3cf097725ffba9e2", "shasum": "" }, "require": { "doctrine/common": "~2.4", + "paragonie/random_compat": "~1.0", "php": ">=5.3.3", "psr/log": "~1.0", - "twig/twig": "~1.20|~2.0" + "twig/twig": "~1.23|~2.0" }, "replace": { "symfony/browser-kit": "self.version", @@ -1428,7 +1674,10 @@ "symfony/proxy-manager-bridge": "self.version", "symfony/routing": "self.version", "symfony/security": "self.version", + "symfony/security-acl": "self.version", "symfony/security-bundle": "self.version", + "symfony/security-core": "self.version", + "symfony/security-http": "self.version", "symfony/serializer": "self.version", "symfony/stopwatch": "self.version", "symfony/swiftmailer-bridge": "self.version", @@ -1447,8 +1696,7 @@ "ircmaxell/password-compat": "~1.0", "monolog/monolog": "~1.3", "ocramius/proxy-manager": "~0.3.1", - "propel/propel1": "~1.6", - "symfony/phpunit-bridge": "~2.7" + "propel/propel1": "~1.6" }, "type": "library", "extra": { @@ -1466,6 +1714,9 @@ ], "files": [ "src/Symfony/Component/Intl/Resources/stubs/functions.php" + ], + "exclude-from-classmap": [ + "**/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1487,7 +1738,7 @@ "keywords": [ "framework" ], - "time": "2015-09-25 09:08:49" + "time": "2016-01-14 09:15:03" }, { "name": "twig/extensions", @@ -1538,16 +1789,16 @@ }, { "name": "twig/twig", - "version": "v1.22.3", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "ebfc36b7e77b0c1175afe30459cf943010245540" + "reference": "3e5aa30ebfbafd5951fb1b01e338e1800ce7e0e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/ebfc36b7e77b0c1175afe30459cf943010245540", - "reference": "ebfc36b7e77b0c1175afe30459cf943010245540", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/3e5aa30ebfbafd5951fb1b01e338e1800ce7e0e8", + "reference": "3e5aa30ebfbafd5951fb1b01e338e1800ce7e0e8", "shasum": "" }, "require": { @@ -1560,7 +1811,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.22-dev" + "dev-master": "1.24-dev" } }, "autoload": { @@ -1595,7 +1846,113 @@ "keywords": [ "templating" ], - "time": "2015-10-13 07:07:02" + "time": "2016-01-25 21:22:18" + }, + { + "name": "zendframework/zend-code", + "version": "2.6.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-code.git", + "reference": "c4e8f976a772cfb14b47dabd69b5245a423082b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-code/zipball/c4e8f976a772cfb14b47dabd69b5245a423082b4", + "reference": "c4e8f976a772cfb14b47dabd69b5245a423082b4", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "zendframework/zend-eventmanager": "^2.6|^3.0" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-stdlib": "~2.7" + }, + "suggest": { + "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", + "zendframework/zend-stdlib": "Zend\\Stdlib component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Code\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides facilities to generate arbitrary code using an object oriented interface", + "homepage": "https://github.com/zendframework/zend-code", + "keywords": [ + "code", + "zf2" + ], + "time": "2016-01-05 05:58:37" + }, + { + "name": "zendframework/zend-eventmanager", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-eventmanager.git", + "reference": "8c9917f1595ff260f289439bdeb1f46500c65d62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/8c9917f1595ff260f289439bdeb1f46500c65d62", + "reference": "8c9917f1595ff260f289439bdeb1f46500c65d62", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0" + }, + "require-dev": { + "athletic/athletic": "^0.1", + "container-interop/container-interop": "^1.1.0", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "^2.0", + "zendframework/zend-stdlib": "^2.7.3" + }, + "suggest": { + "container-interop/container-interop": "^1.1.0, to use the lazy listeners feature", + "zendframework/zend-stdlib": "^2.7.3, to use the FilterChain feature" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev", + "dev-develop": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\EventManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Trigger and listen to events within a PHP application", + "homepage": "https://github.com/zendframework/zend-eventmanager", + "keywords": [ + "event", + "eventmanager", + "events", + "zf2" + ], + "time": "2016-01-12 23:27:48" } ], "packages-dev": [ @@ -1654,70 +2011,41 @@ "time": "2015-06-14 21:17:01" }, { - "name": "guzzle/guzzle", - "version": "v3.9.3", + "name": "guzzlehttp/guzzle", + "version": "6.1.1", "source": { "type": "git", - "url": "https://github.com/guzzle/guzzle3.git", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" + "url": "https://github.com/guzzle/guzzle.git", + "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/c6851d6e48f63b69357cbfa55bca116448140e0c", + "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c", "shasum": "" }, "require": { - "ext-curl": "*", - "php": ">=5.3.3", - "symfony/event-dispatcher": "~2.1" - }, - "replace": { - "guzzle/batch": "self.version", - "guzzle/cache": "self.version", - "guzzle/common": "self.version", - "guzzle/http": "self.version", - "guzzle/inflection": "self.version", - "guzzle/iterator": "self.version", - "guzzle/log": "self.version", - "guzzle/parser": "self.version", - "guzzle/plugin": "self.version", - "guzzle/plugin-async": "self.version", - "guzzle/plugin-backoff": "self.version", - "guzzle/plugin-cache": "self.version", - "guzzle/plugin-cookie": "self.version", - "guzzle/plugin-curlauth": "self.version", - "guzzle/plugin-error-response": "self.version", - "guzzle/plugin-history": "self.version", - "guzzle/plugin-log": "self.version", - "guzzle/plugin-md5": "self.version", - "guzzle/plugin-mock": "self.version", - "guzzle/plugin-oauth": "self.version", - "guzzle/service": "self.version", - "guzzle/stream": "self.version" + "guzzlehttp/promises": "~1.0", + "guzzlehttp/psr7": "~1.1", + "php": ">=5.5.0" }, "require-dev": { - "doctrine/cache": "~1.3", - "monolog/monolog": "~1.0", - "phpunit/phpunit": "3.7.*", - "psr/log": "~1.0", - "symfony/class-loader": "~2.1", - "zendframework/zend-cache": "2.*,<2.3", - "zendframework/zend-log": "2.*,<2.3" - }, - "suggest": { - "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." + "ext-curl": "*", + "phpunit/phpunit": "~4.0", + "psr/log": "~1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.9-dev" + "dev-master": "6.1-dev" } }, "autoload": { - "psr-0": { - "Guzzle": "src/", - "Guzzle\\Tests": "tests/" + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1729,13 +2057,9 @@ "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" - }, - { - "name": "Guzzle Community", - "homepage": "https://github.com/guzzle/guzzle/contributors" } ], - "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", + "description": "Guzzle is a PHP HTTP client library", "homepage": "http://guzzlephp.org/", "keywords": [ "client", @@ -1746,7 +2070,116 @@ "rest", "web service" ], - "time": "2015-03-18 18:23:50" + "time": "2015-11-23 00:47:50" + }, + { + "name": "guzzlehttp/promises", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "b1e1c0d55f8083c71eda2c28c12a228d708294ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/b1e1c0d55f8083c71eda2c28c12a228d708294ea", + "reference": "b1e1c0d55f8083c71eda2c28c12a228d708294ea", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2015-10-15 22:28:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.2.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "f5d04bdd2881ac89abde1fb78cc234bce24327bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5d04bdd2881ac89abde1fb78cc234bce24327bb", + "reference": "f5d04bdd2881ac89abde1fb78cc234bce24327bb", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "PSR-7 message implementation", + "keywords": [ + "http", + "message", + "stream", + "uri" + ], + "time": "2016-01-23 01:23:02" }, { "name": "pdepend/pdepend", @@ -2180,16 +2613,16 @@ }, { "name": "phpunit/phpunit", - "version": "4.8.14", + "version": "4.8.22", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "b4900675926860bef091644849305399b986efa2" + "reference": "dfb11aa5236376b4fc63853cf746af39fe780e72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b4900675926860bef091644849305399b986efa2", - "reference": "b4900675926860bef091644849305399b986efa2", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/dfb11aa5236376b4fc63853cf746af39fe780e72", + "reference": "dfb11aa5236376b4fc63853cf746af39fe780e72", "shasum": "" }, "require": { @@ -2248,7 +2681,7 @@ "testing", "xunit" ], - "time": "2015-10-17 15:03:30" + "time": "2016-02-02 09:01:21" }, { "name": "phpunit/phpunit-mock-objects", @@ -2306,58 +2739,95 @@ ], "time": "2015-10-02 06:51:40" }, + { + "name": "psr/http-message", + "version": "1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/85d63699f0dbedb190bbd4b0d2b9dc707ea4c298", + "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2015-05-04 20:22:00" + }, { "name": "satooshi/php-coveralls", "version": "dev-master", "source": { "type": "git", "url": "https://github.com/satooshi/php-coveralls.git", - "reference": "2fbf803803d179ab1082807308a67bbd5a760c70" + "reference": "50c60bb64054974f8ed7540ae6e75fd7981a5fd3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/satooshi/php-coveralls/zipball/2fbf803803d179ab1082807308a67bbd5a760c70", - "reference": "2fbf803803d179ab1082807308a67bbd5a760c70", + "url": "https://api.github.com/repos/satooshi/php-coveralls/zipball/50c60bb64054974f8ed7540ae6e75fd7981a5fd3", + "reference": "50c60bb64054974f8ed7540ae6e75fd7981a5fd3", "shasum": "" }, "require": { "ext-json": "*", "ext-simplexml": "*", - "guzzle/guzzle": ">=2.7", - "php": ">=5.3", - "psr/log": "1.0.0", - "symfony/config": ">=2.0", - "symfony/console": ">=2.0", - "symfony/stopwatch": ">=2.2", - "symfony/yaml": ">=2.0" - }, - "require-dev": { - "apigen/apigen": "2.8.*@stable", - "pdepend/pdepend": "dev-master as 2.0.0", - "phpmd/phpmd": "dev-master", - "phpunit/php-invoker": ">=1.1.0,<1.2.0", - "phpunit/phpunit": "3.7.*@stable", - "sebastian/finder-facade": "dev-master", - "sebastian/phpcpd": "1.4.*@stable", - "squizlabs/php_codesniffer": "1.4.*@stable", - "theseer/fdomdocument": "dev-master" + "guzzlehttp/guzzle": "^6.0", + "php": ">=5.5", + "psr/log": "^1.0", + "symfony/config": "^2.1|^3.0", + "symfony/console": "^2.1|^3.0", + "symfony/stopwatch": "^2.0|^3.0", + "symfony/yaml": "^2.0|^3.0" }, "suggest": { "symfony/http-kernel": "Allows Symfony integration" }, "bin": [ - "composer/bin/coveralls" + "bin/coveralls" ], "type": "library", "extra": { "branch-alias": { - "dev-master": "0.7-dev" + "dev-master": "2.0-dev" } }, "autoload": { - "psr-0": { - "Satooshi\\Component": "src/", - "Satooshi\\Bundle": "src/" + "psr-4": { + "Satooshi\\": "src/Satooshi/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2379,7 +2849,7 @@ "github", "test" ], - "time": "2014-11-11 15:35:34" + "time": "2016-01-20 17:44:41" }, { "name": "sebastian/comparator", @@ -2447,28 +2917,28 @@ }, { "name": "sebastian/diff", - "version": "1.3.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "phpunit/phpunit": "~4.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.4-dev" } }, "autoload": { @@ -2491,24 +2961,24 @@ } ], "description": "Diff implementation", - "homepage": "http://www.github.com/sebastianbergmann/diff", + "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ "diff" ], - "time": "2015-02-22 15:13:53" + "time": "2015-12-08 07:14:41" }, { "name": "sebastian/environment", - "version": "1.3.2", + "version": "1.3.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44" + "reference": "6e7133793a8e5a5714a551a8324337374be209df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6324c907ce7a52478eeeaede764f48733ef5ae44", - "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6e7133793a8e5a5714a551a8324337374be209df", + "reference": "6e7133793a8e5a5714a551a8324337374be209df", "shasum": "" }, "require": { @@ -2545,7 +3015,7 @@ "environment", "hhvm" ], - "time": "2015-08-03 06:14:51" + "time": "2015-12-02 08:37:27" }, { "name": "sebastian/exporter", @@ -2756,16 +3226,16 @@ }, { "name": "sebastian/recursion-context", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "994d4a811bafe801fb06dccbee797863ba2792ba" + "reference": "913401df809e99e4f47b27cdd781f4a258d58791" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/994d4a811bafe801fb06dccbee797863ba2792ba", - "reference": "994d4a811bafe801fb06dccbee797863ba2792ba", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791", + "reference": "913401df809e99e4f47b27cdd781f4a258d58791", "shasum": "" }, "require": { @@ -2805,7 +3275,7 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2015-06-21 08:04:50" + "time": "2015-11-11 19:50:13" }, { "name": "sebastian/version", From 1e6e0afb2aff25448344895fb19d965dbd420ea3 Mon Sep 17 00:00:00 2001 From: Kai Yuan Thng Date: Wed, 3 Feb 2016 18:01:45 +0800 Subject: [PATCH 019/265] Enable and configure doctrine/migrations bundle --- Symfony/app/AppKernel.php | 3 ++- Symfony/app/config/config.yml | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Symfony/app/AppKernel.php b/Symfony/app/AppKernel.php index d14d7fe9..e0351afa 100644 --- a/Symfony/app/AppKernel.php +++ b/Symfony/app/AppKernel.php @@ -17,7 +17,8 @@ public function registerBundles() new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(), new Codebender\LibraryBundle\CodebenderLibraryBundle(), - new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle() + new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle(), + new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle() ); if (in_array($this->getEnvironment(), array('dev', 'test'))) { diff --git a/Symfony/app/config/config.yml b/Symfony/app/config/config.yml index 033d6682..8be21a1a 100644 --- a/Symfony/app/config/config.yml +++ b/Symfony/app/config/config.yml @@ -65,6 +65,12 @@ doctrine: auto_generate_proxy_classes: %kernel.debug% auto_mapping: true +doctrine_migrations: + dir_name: "%kernel.root_dir%/DoctrineMigrations" + namespace: Application\Migrations + table_name: migration_versions + name: Application Migrations + # Swiftmailer Configuration # swiftmailer: # transport: %mailer_transport% From 0a05a4f02b7c815c4ff0bdfcea82c0bf885d9a42 Mon Sep 17 00:00:00 2001 From: Kai Yuan Thng Date: Wed, 3 Feb 2016 18:42:23 +0800 Subject: [PATCH 020/265] Add many-to-many relationship between architectures and versions --- .../LibraryBundle/Entity/Version.php | 45 ++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/Symfony/src/Codebender/LibraryBundle/Entity/Version.php b/Symfony/src/Codebender/LibraryBundle/Entity/Version.php index 4ed8b666..bb82d38a 100644 --- a/Symfony/src/Codebender/LibraryBundle/Entity/Version.php +++ b/Symfony/src/Codebender/LibraryBundle/Entity/Version.php @@ -93,13 +93,23 @@ class Version * @ORM\OneToMany(targetEntity="LibraryExample", mappedBy="version") */ private $libraryExamples; - + + /** + * @ORM\ManyToMany(targetEntity="Architecture") + * @ORM\JoinTable(name="Architecture_Version", + * joinColumns={@ORM\JoinColumn(name="version_id", referencedColumnName="id")}, + * inverseJoinColumns={@ORM\JoinColumn(name="architecture_id", referencedColumnName="id")} + * ) + */ + private $architectures; /** * Constructor */ + public function __construct() { $this->libraryExamples = new \Doctrine\Common\Collections\ArrayCollection(); + $this->architectures = new \Doctrine\Common\Collections\ArrayCollection(); } /** @@ -351,4 +361,37 @@ public function getLibraryExamples() { return $this->libraryExamples; } + + /** + * Add architectures + * + * @param \Codebender\LibraryBundle\Entity\Architecture $architectures + * @return Version + */ + public function addArchitecture(\Codebender\LibraryBundle\Entity\Architecture $architectures) + { + $this->architectures[] = $architectures; + + return $this; + } + + /** + * Remove architectures + * + * @param \Codebender\LibraryBundle\Entity\Architecture $architectures + */ + public function removeArchitecture(\Codebender\LibraryBundle\Entity\Architecture $architectures) + { + $this->architectures->removeElement($architectures); + } + + /** + * Get architectures + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getArchitectures() + { + return $this->architectures; + } } From 675bc194c8d691e80ebe75c6bfb4b0ac14dd7b04 Mon Sep 17 00:00:00 2001 From: Kai Yuan Thng Date: Wed, 3 Feb 2016 18:50:48 +0800 Subject: [PATCH 021/265] Create migration file for new schema --- .../Version20160203104457.php | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Symfony/app/DoctrineMigrations/Version20160203104457.php diff --git a/Symfony/app/DoctrineMigrations/Version20160203104457.php b/Symfony/app/DoctrineMigrations/Version20160203104457.php new file mode 100644 index 00000000..ba9dd809 --- /dev/null +++ b/Symfony/app/DoctrineMigrations/Version20160203104457.php @@ -0,0 +1,55 @@ +abortIf($this->connection->getDatabasePlatform()->getName() != 'mysql', 'Migration can only be executed safely on \'mysql\'.'); + + $this->addSql('CREATE TABLE Architecture (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, UNIQUE INDEX name_idx (name), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); + $this->addSql('CREATE TABLE Library (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, default_header VARCHAR(255) NOT NULL, folder_name VARCHAR(255) NOT NULL, description VARCHAR(2048) NOT NULL, owner VARCHAR(255) DEFAULT NULL, repo VARCHAR(255) DEFAULT NULL, notes LONGTEXT DEFAULT NULL, verified TINYINT(1) NOT NULL, active TINYINT(1) NOT NULL, last_commit VARCHAR(255) DEFAULT NULL, url VARCHAR(512) DEFAULT NULL, UNIQUE INDEX header_idx (default_header, folder_name), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); + $this->addSql('CREATE TABLE LibraryExample (id INT AUTO_INCREMENT NOT NULL, version_id INT DEFAULT NULL, name VARCHAR(255) NOT NULL, path VARCHAR(255) NOT NULL, boards VARCHAR(2048) DEFAULT NULL, UNIQUE INDEX version_idx (version_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); + $this->addSql('CREATE TABLE Partner (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, auth_key VARCHAR(255) NOT NULL, UNIQUE INDEX auth_key_idx (auth_key), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); + $this->addSql('CREATE TABLE Preference (id INT AUTO_INCREMENT NOT NULL, library_id INT DEFAULT NULL, partner_id INT DEFAULT NULL, version_id INT DEFAULT NULL, INDEX IDX_1234B383FE2541D7 (library_id), INDEX IDX_1234B3839393F8FE (partner_id), INDEX IDX_1234B3834BBC2705 (version_id), UNIQUE INDEX search_idx (library_id, partner_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); + $this->addSql('CREATE TABLE Version (id INT AUTO_INCREMENT NOT NULL, library_id INT DEFAULT NULL, version VARCHAR(255) NOT NULL, description VARCHAR(2048) NOT NULL, notes LONGTEXT NOT NULL, source_url VARCHAR(512) NOT NULL, release_commit VARCHAR(255) NOT NULL, in_repo_path VARCHAR(255) NOT NULL, branch VARCHAR(255) NOT NULL, folder_name VARCHAR(255) NOT NULL, INDEX IDX_70A1EA5FFE2541D7 (library_id), UNIQUE INDEX folders_idx (folder_name), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); + $this->addSql('CREATE TABLE Architecture_Version (version_id INT NOT NULL, architecture_id INT NOT NULL, INDEX IDX_356FC0C54BBC2705 (version_id), INDEX IDX_356FC0C573F96878 (architecture_id), PRIMARY KEY(version_id, architecture_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); + $this->addSql('ALTER TABLE LibraryExample ADD CONSTRAINT FK_3EE4A5D34BBC2705 FOREIGN KEY (version_id) REFERENCES Version (id)'); + $this->addSql('ALTER TABLE Preference ADD CONSTRAINT FK_1234B383FE2541D7 FOREIGN KEY (library_id) REFERENCES Library (id)'); + $this->addSql('ALTER TABLE Preference ADD CONSTRAINT FK_1234B3839393F8FE FOREIGN KEY (partner_id) REFERENCES Partner (id)'); + $this->addSql('ALTER TABLE Preference ADD CONSTRAINT FK_1234B3834BBC2705 FOREIGN KEY (version_id) REFERENCES Version (id)'); + $this->addSql('ALTER TABLE Version ADD CONSTRAINT FK_70A1EA5FFE2541D7 FOREIGN KEY (library_id) REFERENCES Library (id)'); + $this->addSql('ALTER TABLE Architecture_Version ADD CONSTRAINT FK_356FC0C54BBC2705 FOREIGN KEY (version_id) REFERENCES Version (id)'); + $this->addSql('ALTER TABLE Architecture_Version ADD CONSTRAINT FK_356FC0C573F96878 FOREIGN KEY (architecture_id) REFERENCES Architecture (id)'); + } + + /** + * @param Schema $schema + */ + public function down(Schema $schema) + { + $this->abortIf($this->connection->getDatabasePlatform()->getName() != 'mysql', 'Migration can only be executed safely on \'mysql\'.'); + + $this->addSql('ALTER TABLE Architecture_Version DROP FOREIGN KEY FK_356FC0C573F96878'); + $this->addSql('ALTER TABLE Preference DROP FOREIGN KEY FK_1234B383FE2541D7'); + $this->addSql('ALTER TABLE Version DROP FOREIGN KEY FK_70A1EA5FFE2541D7'); + $this->addSql('ALTER TABLE Preference DROP FOREIGN KEY FK_1234B3839393F8FE'); + $this->addSql('ALTER TABLE LibraryExample DROP FOREIGN KEY FK_3EE4A5D34BBC2705'); + $this->addSql('ALTER TABLE Preference DROP FOREIGN KEY FK_1234B3834BBC2705'); + $this->addSql('ALTER TABLE Architecture_Version DROP FOREIGN KEY FK_356FC0C54BBC2705'); + $this->addSql('DROP TABLE Architecture'); + $this->addSql('DROP TABLE Library'); + $this->addSql('DROP TABLE LibraryExample'); + $this->addSql('DROP TABLE Partner'); + $this->addSql('DROP TABLE Preference'); + $this->addSql('DROP TABLE Version'); + $this->addSql('DROP TABLE Architecture_Version'); + } +} From 16f1ebf2b9ac946d1f943452eec812bb987cfdc8 Mon Sep 17 00:00:00 2001 From: Jiang Sheng Date: Thu, 4 Feb 2016 02:12:01 +0800 Subject: [PATCH 022/265] Create new fixtures for - Architecture - Partner - Library - Version --- .../DataFixtures/ORM/LoadArchitectureData.php | 62 ++++++ .../DataFixtures/ORM/LoadLibraryData.php | 160 +++++++++++++++ .../DataFixtures/ORM/LoadPartnerData.php | 57 ++++++ .../DataFixtures/ORM/LoadVersionData.php | 184 ++++++++++++++++++ 4 files changed, 463 insertions(+) create mode 100644 Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadArchitectureData.php create mode 100644 Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadLibraryData.php create mode 100644 Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadPartnerData.php create mode 100644 Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadVersionData.php diff --git a/Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadArchitectureData.php b/Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadArchitectureData.php new file mode 100644 index 00000000..b87767c5 --- /dev/null +++ b/Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadArchitectureData.php @@ -0,0 +1,62 @@ +setName('AVR'); + + $objectManager->persist($avrArchitecture); + + $esp8266Architecture = new Architecture(); + $esp8266Architecture->setName('ESP8266'); + + $objectManager->persist($esp8266Architecture); + + $edisonArchitecture = new Architecture(); + $edisonArchitecture->setName('Intel Edison'); + + $objectManager->persist($edisonArchitecture); + + $teensyArchitecture = new Architecture(); + $teensyArchitecture->setName('Teensy'); + + $objectManager->persist($teensyArchitecture); + /* + * After all fixture objects have been added to the ObjectManager (`persist` operation), + * it's time to flush the contents of the ObjectManager + */ + $objectManager->flush(); + } + + /** + * Returns the order in which the current fixture will be loaded, + * compared to other fixture classes. + * + * @return int + */ + public function getOrder() + { + return 3; + } +} diff --git a/Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadLibraryData.php b/Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadLibraryData.php new file mode 100644 index 00000000..b3b41016 --- /dev/null +++ b/Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadLibraryData.php @@ -0,0 +1,160 @@ +setName('Default Arduino Library'); + $defaultLibrary->setDefaultHeader('default'); + $defaultLibrary->setActive(true); + $defaultLibrary->setVerified(false); + $defaultLibrary->setDescription('The default Arduino library (in fact it\'s Adafruit\'s GPS library)'); + $defaultLibrary->setNotes('No notes provided for this library'); + $defaultLibrary->setUrl('http://localhost/library/url'); + $defaultLibrary->setFolderName('default'); + + /* + * Set a reference for the library and add it to the database using + * the object manager interface + */ + $this->setReference('defaultLibrary', $defaultLibrary); + $objectManager->persist($defaultLibrary); + + // Dynamic Array Helper library hosted on codebender's Github organistion + $dahLibrary = new Library(); + $dahLibrary->setName('Dynamic Array Helper Arduino Library'); + $dahLibrary->setDefaultHeader('DynamicArrayHelper'); + $dahLibrary->setActive(true); + $dahLibrary->setVerified(false); + $dahLibrary->setDescription('DynamicArrayHelper Arduino Library from the Arduino Playground'); + $dahLibrary->setUrl('https://github.com/codebendercc/DynamicArrayHelper-Arduino-Library'); + $dahLibrary->setOwner('codebendercc'); + $dahLibrary->setRepo('DynamicArrayHelper-Arduino-Library'); + $dahLibrary->setLastCommit('72b8865ee53b3edf159f22f5ff6f9a6dafa7ee1b'); // This is not the last commit of the branch + $dahLibrary->setFolderName('DynamicArrayHelper'); + + // Reference to DynamicArrayHelper library + $this->setReference('dynamicArrayHelperLibrary', $dahLibrary); + $objectManager->persist($dahLibrary); + + // A fake library with multi-ino examples + $multiIno = new Library(); + $multiIno->setName('MultiIno Arduino Library'); + $multiIno->setDefaultHeader('MultiIno'); + $multiIno->setActive(true); + $multiIno->setVerified(false); + $multiIno->setDescription('A library containing multi-ino examples which should be correctly fetched'); + $multiIno->setUrl('https://some/url.com'); + $multiIno->setFolderName('MultiIno'); + + // Reference to MultiIno library + $this->setReference('MultiInoLibrary', $multiIno); + $objectManager->persist($multiIno); + + // A fake library with examples contained in subcategories + $subcategLibrary = new Library(); + $subcategLibrary->setName('SubCategories Arduino Library'); + $subcategLibrary->setDefaultHeader('SubCateg'); + $subcategLibrary->setActive(true); + $subcategLibrary->setVerified(false); + $subcategLibrary->setDescription('A library containing examples sorted in categories'); + $subcategLibrary->setUrl('https://some/url.com'); + $subcategLibrary->setFolderName('SubCateg'); + + // Reference to SubCateg library + $this->setReference('SubCategLibrary', $subcategLibrary); + $objectManager->persist($subcategLibrary); + + // A fake library containing hidden files + $hiddenFilesLibrary = new Library(); + $hiddenFilesLibrary->setName('Hidden'); + $hiddenFilesLibrary->setDefaultHeader('Hidden'); + $hiddenFilesLibrary->setActive(true); + $hiddenFilesLibrary->setVerified(false); + $hiddenFilesLibrary->setDescription('A library containing hidden files and directories in its code & examples'); + $hiddenFilesLibrary->setUrl('https://some/url.com'); + $hiddenFilesLibrary->setFolderName('Hidden'); + + // Reference to Hidden library + $this->setReference('HiddenLibrary', $hiddenFilesLibrary); + $objectManager->persist($hiddenFilesLibrary); + + // A fake library with non UTF-8 encoded content. + $invalidEncodingLibrary = new Library(); + $invalidEncodingLibrary->setName('Invalid Encoding Library'); + $invalidEncodingLibrary->setDefaultHeader('Encode'); + $invalidEncodingLibrary->setActive(true); + $invalidEncodingLibrary->setVerified(false); + $invalidEncodingLibrary->setDescription('A library containing characters with invalid encoding in it code & examples'); + $invalidEncodingLibrary->setUrl('https://some/url.com'); + $invalidEncodingLibrary->setFolderName('Encode'); + + // Reference to Encode library + $this->setReference('EncodeLibrary', $invalidEncodingLibrary); + $objectManager->persist($invalidEncodingLibrary); + + // A fake library with HTML doc files. + $htmlLibrary = new Library(); + $htmlLibrary->setName('HTML content Library'); + $htmlLibrary->setDefaultHeader('HtmlLib'); + $htmlLibrary->setActive(true); + $htmlLibrary->setVerified(false); + $htmlLibrary->setDescription('A library containing HTML in its files'); + $htmlLibrary->setUrl('https://some/url.com'); + $htmlLibrary->setFolderName('HtmlLib'); + + $objectManager->persist($htmlLibrary); + + // A fake library with non-text contents. + $binaryLbrary = new Library(); + $binaryLbrary->setName('Binary content Library'); + $binaryLbrary->setDefaultHeader('Binary'); + $binaryLbrary->setActive(true); + $binaryLbrary->setVerified(false); + $binaryLbrary->setDescription('A library containing non-text files'); + $binaryLbrary->setUrl('https://some/url.com'); + $binaryLbrary->setFolderName('Binary'); + + // Persist the new library + $objectManager->persist($binaryLbrary); + + /* + * After all fixture objects have been added to the ObjectManager (`persist` operation), + * it's time to flush the contents of the ObjectManager + */ + $objectManager->flush(); + } + + /** + * Returns the order in which the current fixture will be loaded, + * compared to other fixture classes. + * + * @return int + */ + public function getOrder() + { + return 5; + } +} \ No newline at end of file diff --git a/Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadPartnerData.php b/Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadPartnerData.php new file mode 100644 index 00000000..8028dd7d --- /dev/null +++ b/Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadPartnerData.php @@ -0,0 +1,57 @@ +setName('codebender'); + $codebender->setAuthKey('youMustChangeThis'); + + $objectManager->persist($codebender); + + // partner 2 : arduino.cc + $arduinoCc = new Partner(); + $arduinoCc->setName('arduino.cc'); + $arduinoCc->setAuthKey('authKey'); + + $objectManager->persist($arduinoCc); + + /* + * After all fixture objects have been added to the ObjectManager (`persist` operation), + * it's time to flush the contents of the ObjectManager + */ + $objectManager->flush(); + } + + /** + * Returns the order in which the current fixture will be loaded, + * compared to other fixture classes. + * + * @return int + */ + public function getOrder() + { + return 4; + } +} \ No newline at end of file diff --git a/Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadVersionData.php b/Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadVersionData.php new file mode 100644 index 00000000..4161d8cb --- /dev/null +++ b/Symfony/src/Codebender/LibraryBundle/DataFixtures/ORM/LoadVersionData.php @@ -0,0 +1,184 @@ +getReference('defaultLibrary'); + + /* + * Create mock version 1.0.0 for default library + */ + $defaultLibraryVersion1 = new Version(); + $defaultLibraryVersion1->setVersion('1.0.0'); + $defaultLibraryVersion1->setLibrary($defaultLibrary); + $defaultLibraryVersion1->setDescription('Version 1.0.0'); + $defaultLibraryVersion1->setFolderName('1.0.0'); + + /* + * Set a reference for each version and add it to the database using + * the object manager interface + */ + $this->setReference('defaultLibraryVersion1', $defaultLibraryVersion1); + $objectManager->persist($defaultLibraryVersion1); + + /* + * Create mock version 1.1.0 for default library + */ + $defaultLibraryVersion2 = new Version(); + $defaultLibraryVersion2->setVersion('1.1.0'); + $defaultLibraryVersion2->setLibrary($defaultLibrary); + $defaultLibraryVersion2->setDescription('Version 1.1.0'); + $defaultLibraryVersion2->setFolderName('1.1.0'); + + /* + * Set a reference for each version and add it to the database using + * the object manager interface + */ + $this->setReference('defaultLibraryVersion2', $defaultLibraryVersion2); + $objectManager->persist($defaultLibraryVersion2); + + /* @var \Codebender\LibraryBundle\Entity\Library $dahLibrary */ + $dahLibrary = $this->getReference('dynamicArrayHelperLibrary'); + + /* + * Create mock version 1.0.0 for Dynamic Array Helper library + */ + $dahLibraryVersion1 = new Version(); + $dahLibraryVersion1->setVersion('1.0.0'); + $dahLibraryVersion1->setLibrary($dahLibrary); + $dahLibraryVersion1->setDescription('Version 1.0.0'); + $dahLibraryVersion1->setFolderName('1.0.0'); + $dahLibraryVersion1->setBranch('1.0.x'); + $dahLibraryVersion1->setInRepoPath(''); + $dahLibraryVersion1->setReleaseCommit('1751ccb9f8a1c5d9161fe18d97a03415e3517235'); + $dahLibraryVersion1->setSourceUrl('https://github.com/codebendercc/DynamicArrayHelper-Arduino-Library/archive/1.0.x.zip'); + + $this->setReference('dynamicArrayHelperLibraryVersion1', $dahLibraryVersion1); + $objectManager->persist($dahLibraryVersion1); + + /* @var \Codebender\LibraryBundle\Entity\Library $multiInoLibrary */ + $multiInoLibrary = $this->getReference('MultiInoLibrary'); + + /* + * Create mock version 1.0.0 for Multi Ino library + */ + $multiInoLibraryVersion1 = new Version(); + $multiInoLibraryVersion1->setVersion('1.0.0'); + $multiInoLibraryVersion1->setLibrary($multiInoLibrary); + $multiInoLibraryVersion1->setDescription('Version 1.0.0'); + $multiInoLibraryVersion1->setFolderName('1.0.0'); + + $this->setReference('MultiInoLibraryVersion1', $multiInoLibraryVersion1); + $objectManager->persist($multiInoLibraryVersion1); + + /* + * Create mock version 2.0.0 for Multi Ino library + */ + $multiInoLibraryVersion2 = new Version(); + $multiInoLibraryVersion2->setVersion('2.0.0'); + $multiInoLibraryVersion2->setLibrary($multiInoLibrary); + $multiInoLibraryVersion2->setDescription('Version 2.0.0'); + $multiInoLibraryVersion2->setFolderName('2.0.0'); + + $this->setReference('MultiInoLibraryVersion2', $multiInoLibraryVersion2); + $objectManager->persist($multiInoLibraryVersion2); + + /* @var \Codebender\LibraryBundle\Entity\Library $subcategLibrary */ + $subcategLibrary = $this->getReference('SubCategLibrary'); + + /* + * Create mock version 1.0.0 for Sub Category library + */ + $subcategLibraryVersion1 = new Version(); + $subcategLibraryVersion1->setVersion('1.0.0'); + $subcategLibraryVersion1->setLibrary($subcategLibrary); + $subcategLibraryVersion1->setDescription('Version 1.0.0'); + $subcategLibraryVersion1->setFolderName('1.0.0'); + + $this->setReference('SubCategLibraryVersion1', $subcategLibraryVersion1); + $objectManager->persist($subcategLibraryVersion1); + + /* + * Create mock version 1.5.2 for Sub Category library + */ + $subcategLibraryVersion2 = new Version(); + $subcategLibraryVersion2->setVersion('1.5.2'); + $subcategLibraryVersion2->setLibrary($subcategLibrary); + $subcategLibraryVersion2->setDescription('Version 1.5.2'); + $subcategLibraryVersion2->setFolderName('1.5.2'); + + $this->setReference('SubCategLibraryVersion2', $subcategLibraryVersion2); + $objectManager->persist($subcategLibraryVersion2); + + /* @var \Codebender\LibraryBundle\Entity\Library $hiddenFilesLibrary */ + $hiddenFilesLibrary = $this->getReference('HiddenLibrary'); + + /* + * Create mock version 1.0.0 for Hidden library + */ + $hiddenFilesLibraryVersion1 = new Version(); + $hiddenFilesLibraryVersion1->setVersion('1.0.0'); + $hiddenFilesLibraryVersion1->setLibrary($hiddenFilesLibrary); + $hiddenFilesLibraryVersion1->setDescription('Version 1.0.0'); + $hiddenFilesLibraryVersion1->setFolderName('1.0.0'); + + $this->setReference('HiddenLibraryVersion1', $hiddenFilesLibraryVersion1); + $objectManager->persist($hiddenFilesLibraryVersion1); + + /* @var \Codebender\LibraryBundle\Entity\Library $encodeLibrary */ + $encodeLibrary = $this->getReference('EncodeLibrary'); + + /* + * Create mock version 1.0.0 for Encode library + */ + $encodeLibraryVersion1 = new Version(); + $encodeLibraryVersion1->setVersion('1.0.0'); + $encodeLibraryVersion1->setLibrary($encodeLibrary); + $encodeLibraryVersion1->setDescription('Version 1.0.0'); + $encodeLibraryVersion1->setFolderName('1.0.0'); + + $this->setReference('EncodeLibraryVersion1', $encodeLibraryVersion1); + $objectManager->persist($encodeLibraryVersion1); + + /* + * After all fixture objects have been added to the ObjectManager (`persist` operation), + * it's time to flush the contents of the ObjectManager + */ + $objectManager->flush(); + } + + /** + * Returns the order in which the current fixture will be loaded, + * compared to other fixture classes. + * Examples database data should be provided after the library data, + * because there is a foreign key constraint between them which should + * be satisfied. + * + * @return int + */ + public function getOrder() + { + return 6; + } +} From ddbf8401da1ea68f4bb26f8aaa4436bbdbbefdc3 Mon Sep 17 00:00:00 2001 From: seokmin Date: Thu, 4 Feb 2016 09:19:44 +0000 Subject: [PATCH 023/265] Created a new directory with the new structure. --- .../library_files_new/Binary/Binary.h | 3 + .../library_files_new/Binary/command.bat | 2 + .../library_files_new/Binary/file.zip | Bin 0 -> 134 bytes .../library_files_new/Binary/icon48.png | Bin 0 -> 1685 bytes .../Binary/windows_executable.exe | Bin 0 -> 513364 bytes .../library_files_new/Encode/1.0.0/Encode.h | 5 + .../encoded_example/encoded_example.ino | 9 + .../Hidden/1.0.0/.hidden_dir/config | 2 + .../Hidden/1.0.0/.hidden_file | 3 + .../library_files_new/Hidden/1.0.0/Hidden.h | 3 + .../hidden_files_example/.other_hidden_file | 3 + .../hidden_files_example.ino | 9 + .../Hidden/1.0.0/library.properties | 9 + .../library_files_new/HtmlLib/HtmlLib.h | 7 + .../library_files_new/HtmlLib/docs/doc.html | 8 + .../MultiIno/1.0.0/MultiIno.cpp | 9 + .../MultiIno/1.0.0/MultiIno.h | 11 + .../examples/multi_ino_example/methods.ino | 12 + .../multi_ino_example/multi_ino_example.ino | 12 + .../MultiIno/2.0.0/MultiIno.cpp | 9 + .../MultiIno/2.0.0/MultiIno.h | 11 + .../examples/multi_ino_example/methods.ino | 12 + .../multi_ino_example/multi_ino_example.ino | 12 + .../subcateg_example_three.ino | 7 + .../subcateg_example_two.ino | 7 + .../subcateg_example_one.ino | 7 + .../SubCateg/1.0.0/SubCateg.h | 1 + .../subcateg_example_three.ino | 7 + .../subcateg_example_two.ino | 7 + .../subcateg_example_one.ino | 7 + .../SubCateg/1.5.2/SubCateg.h | 1 + .../default/1.0.0/assembly_file.S | 2 + .../default/1.0.0/default.cpp | 500 ++++++++++++++++++ .../library_files_new/default/1.0.0/default.h | 168 ++++++ .../examples/example_one/example_one.ino | 11 + .../default/1.0.0/hpp_file.hpp | 2 + .../default/1.0.0/inc_file.inc | 2 + .../default/1.1.0/assembly_file.S | 2 + .../default/1.1.0/default.cpp | 500 ++++++++++++++++++ .../library_files_new/default/1.1.0/default.h | 168 ++++++ .../examples/example_one/example_one.ino | 11 + .../default/1.1.0/hpp_file.hpp | 2 + .../default/1.1.0/inc_file.inc | 2 + 43 files changed, 1565 insertions(+) create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Binary/Binary.h create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Binary/command.bat create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Binary/file.zip create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Binary/icon48.png create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Binary/windows_executable.exe create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Encode/1.0.0/Encode.h create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Encode/1.0.0/examples/encoded_example/encoded_example.ino create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Hidden/1.0.0/.hidden_dir/config create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Hidden/1.0.0/.hidden_file create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Hidden/1.0.0/Hidden.h create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Hidden/1.0.0/examples/hidden_files_example/.other_hidden_file create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Hidden/1.0.0/examples/hidden_files_example/hidden_files_example.ino create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Hidden/1.0.0/library.properties create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/HtmlLib/HtmlLib.h create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/HtmlLib/docs/doc.html create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/MultiIno/1.0.0/MultiIno.cpp create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/MultiIno/1.0.0/MultiIno.h create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/MultiIno/1.0.0/examples/multi_ino_example/methods.ino create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/MultiIno/1.0.0/examples/multi_ino_example/multi_ino_example.ino create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/MultiIno/2.0.0/MultiIno.cpp create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/MultiIno/2.0.0/MultiIno.h create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/MultiIno/2.0.0/examples/multi_ino_example/methods.ino create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/MultiIno/2.0.0/examples/multi_ino_example/multi_ino_example.ino create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/SubCateg/1.0.0/Examples/experienceBased/Advanced/Experts/subcateg_example_three/subcateg_example_three.ino create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/SubCateg/1.0.0/Examples/experienceBased/Beginners/subcateg_example_two/subcateg_example_two.ino create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/SubCateg/1.0.0/Examples/subcateg_example_one/subcateg_example_one.ino create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/SubCateg/1.0.0/SubCateg.h create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/SubCateg/1.5.2/Examples/experienceBased/Advanced/Experts/subcateg_example_three/subcateg_example_three.ino create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/SubCateg/1.5.2/Examples/experienceBased/Beginners/subcateg_example_two/subcateg_example_two.ino create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/SubCateg/1.5.2/Examples/subcateg_example_one/subcateg_example_one.ino create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/SubCateg/1.5.2/SubCateg.h create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/default/1.0.0/assembly_file.S create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/default/1.0.0/default.cpp create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/default/1.0.0/default.h create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/default/1.0.0/examples/example_one/example_one.ino create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/default/1.0.0/hpp_file.hpp create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/default/1.0.0/inc_file.inc create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/default/1.1.0/assembly_file.S create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/default/1.1.0/default.cpp create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/default/1.1.0/default.h create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/default/1.1.0/examples/example_one/example_one.ino create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/default/1.1.0/hpp_file.hpp create mode 100644 Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/default/1.1.0/inc_file.inc diff --git a/Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Binary/Binary.h b/Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Binary/Binary.h new file mode 100644 index 00000000..db3a97f7 --- /dev/null +++ b/Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Binary/Binary.h @@ -0,0 +1,3 @@ +#include + + diff --git a/Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Binary/command.bat b/Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Binary/command.bat new file mode 100644 index 00000000..f6b74d26 --- /dev/null +++ b/Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Binary/command.bat @@ -0,0 +1,2 @@ +:: A Windows batch file (nothing more but a text file) + diff --git a/Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Binary/file.zip b/Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Binary/file.zip new file mode 100644 index 0000000000000000000000000000000000000000..1c590ea1901897ccca4f21103f2d836a2ee68e36 GIT binary patch literal 134 zcmWIWW@h1H00CQ{7~+@HUTf{O z_ZcRSPhbJB*RF*en<%Cx%@F&s3L9(JsvP^D$I}?LTu)D0*raEmkGBhD>lo%(f06>n zHQ=@}>2_l^dJSW}9NRr%nakp^NWw#7(0&vbw1?1zq*)G!Qs&_m=(_|DV}Qj};3(!= zXxHF#xT4*FD@n7ag~wdV7^ciY>ab$vFISiqBTnLAg>E|@!ILSlP5E*SlJ=2&x8Pv% zuFJc;5+e>*lqrm=zpvnNJcd_midX6DS9NTV?>?5iu5`#7XbGpLWV;PN!G;c+VdeR- zMz?@B@?IUA#oD|#y;tQ~mj&l=H-6h>NF9eP@6G!7b2x&B@Gjwi)gs)_ae7P{N3T_Rq9T-}YGOLT4@H|mczYgq z;a+?Mw^+K?ln}WU@4=19qbc9Yby9ofTNVdJay2o2v_dy6D#}jWjIE;gfo&DKb$BN} zi2Ly2eD_NY{1;Ppwc@P^kJp$EQu(HYyGhJM6(wokf-QKTn4$f7zZ*O7MN8M5Vao2r zIIYB`yq7BRB)+1#-#MA|JrP=WrGh(gUU4YV6X(!MI;Qr4fr2`nvMNe0L6?tvuh9I<%t8fHim^X?plQzTZMS5Qfd+4zcL0!VO08 z+=UW0Z^aK%Rxf2gpuKmxsyFXr4?cvC<1&s^=vS-dyt&ZYzUR<=>_Rr30($dQG-zl5i7yjLMCUTE^xYq$r$t3BT!JpUYC5o^G#D5qWgy713@?+KC2 zbyRs?o=%I30d2w-gw+KzspJl^Nx31Pol72PMBL80cJ%O~nDw^tf=kn5G93ydh_HKq zD%caTzFy?Q&qW#Cme1yml6c&i7>csHxEvuXi`8;WQpb##k-lisPT&{$yKiZm(1h}Q zN^=v~h;e72^z#=*&ogkfM|*giQ6F?dgy$toXJD%1{Wpwebu8yjTiUy{P4%p(P-nCs ziok5Pa-u9ur-Y|Z;m;yjH;H2K7cpb|@JZpUo|v&qqDY((3*EPIWE$Ve zOTMrh@4)T&S_+-To%j}Bu6U>`L5tvIQ4(eg^G?-b`Xv)G$T6=rSw*()h@kI^D`0)MK>niJ)7lUOwO=Gc$$F_C{) zp({}?imhDf&-dc~99s|``Kj)5*Aw2}kndc?uWQN|Suf`A`%_lQjiYVK7Xe+^o{Dz0 z(>Dq4b~$4T|41YLCc>r(8}Wjr?ey(p##$M7;RL>GR4uj|+51y_gaUXNAcwfe@1!tg2iBkEH@ej6+ zU90jdIa+)cU&p7!Y|I;NjyB`nsq_)Ce`w;-C8P0Z@p>KZUNAbEFJo`&;qL#<@p>1= z{lKxq%0F=IsPLKS2ac){)#JWnuKy>dYVr7wJ~0(s>qoxx+6_4GP5#JNFzzSMTZ~F$ z({(y&CMk2G=!?^frbJ%MvH!}4?r|{?O15oqUQ*eNOaj;ApFN&h;n<3BJq$Q5O5fSq fb=j!-n;8BDS-FdHF){PN00000NkvXXu0mjfG=Nt0 literal 0 HcmV?d00001 diff --git a/Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Binary/windows_executable.exe b/Symfony/src/Codebender/LibraryBundle/Resources/library_files_new/Binary/windows_executable.exe new file mode 100644 index 0000000000000000000000000000000000000000..28972539ee7dc599db47e6d4f4afe57ccd7c8dbe GIT binary patch literal 513364 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%0AJw3N!VKP%W({z>9mf^p1W~rQ(mY!F`~i%%$o#5` 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∥6t-Bm6oVv82Ji^ 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