| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- namespace ModulesGarden\ProxmoxAddon\Core\Helper;
- use ModulesGarden\ProxmoxAddon\Core\FileReader\Reader;
- use ModulesGarden\ProxmoxAddon\Core\ServiceLocator;
- use Illuminate\Database\Capsule\Manager;
- /**
- * Autometes some of database queries
- *
- * @author
- */
- class DatabaseHelper
- {
- /**
- * Helper to perform raw queries for module
- *
- * @param string $file
- * @return array
- */
- public function performQueryFromFile($file = '')
- {
- return $this->checkIsAllSuccess(array_map([$this, "execute"], $this->getQueries($file)));
- }
- protected function checkIsAllSuccess(array $array = [])
- {
- return in_array(false, $array, true);
- }
- protected function execute(&$query)
- {
- try
- {
- $pdo = Manager::connection()->getPdo();
- if (empty($query) === false)
- {
- $statement = $pdo->prepare($query);
- $statement->execute();
- }
- $query = true;
- }
- catch (\PDOException $ex)
- {
- ServiceLocator::call('errorManager')->addError(self::class, $ex->getMessage(), ['query' => $query]);
- $query = false;
- }
- return $query;
- }
- protected function getQueries($file)
- {
- return explode(';', Reader::read($file)->get());
- }
- }
|