1c3437056SNickeau<?php 2c3437056SNickeau 3c3437056SNickeau 4c3437056SNickeaunamespace ComboStrap; 5c3437056SNickeau 6c3437056SNickeau 7c3437056SNickeauclass SqliteResult 8c3437056SNickeau{ 9c3437056SNickeau private $res; 10c3437056SNickeau /** 11c3437056SNickeau * @var SqliteRequest 12c3437056SNickeau */ 13c3437056SNickeau private $sqlite; 14c3437056SNickeau /** 15c3437056SNickeau * @var \helper_plugin_sqlite 16c3437056SNickeau */ 17c3437056SNickeau private $sqlitePlugin; 18c3437056SNickeau 19c3437056SNickeau /** 20c3437056SNickeau * SqliteResult constructor. 21c3437056SNickeau */ 22c3437056SNickeau public function __construct(SqliteRequest $sqlite, $res) 23c3437056SNickeau { 24c3437056SNickeau $this->sqlite = $sqlite; 25c3437056SNickeau $this->res = $res; 26c3437056SNickeau $this->sqlitePlugin = $this->sqlite->getSqliteConnection()->getSqlitePlugin(); 27c3437056SNickeau 28c3437056SNickeau } 29c3437056SNickeau 30c3437056SNickeau public function getRows(): array 31c3437056SNickeau { 32c3437056SNickeau return $this->sqlitePlugin->res2arr($this->res); 33c3437056SNickeau } 34c3437056SNickeau 35c3437056SNickeau public function close(): SqliteResult 36c3437056SNickeau { 37*04fd306cSNickeau /** 38*04fd306cSNickeau * $this->res is a number in CI 39*04fd306cSNickeau * 40*04fd306cSNickeau * We get: 41*04fd306cSNickeau * Error: Call to a member function closeCursor() on int 42*04fd306cSNickeau * /home/runner/work/combo/combo/lib/plugins/sqlite/classes/adapter_pdosqlite.php:125 43*04fd306cSNickeau */ 44*04fd306cSNickeau if ($this->res instanceof \PDOStatement) { 45c3437056SNickeau $this->sqlitePlugin->res_close($this->res); 46*04fd306cSNickeau } 47c3437056SNickeau $this->res = null; 48c3437056SNickeau return $this; 49c3437056SNickeau } 50c3437056SNickeau 51c3437056SNickeau public function getInsertId(): string 52c3437056SNickeau { 53c3437056SNickeau return $this->sqlitePlugin->getAdapter()->getDb()->lastInsertId(); 54c3437056SNickeau } 55c3437056SNickeau 56c3437056SNickeau public function getChangeCount() 57c3437056SNickeau { 58c3437056SNickeau return $this->sqlitePlugin->countChanges($this->res); 59c3437056SNickeau } 60c3437056SNickeau 61c3437056SNickeau public function getFirstCellValue() 62c3437056SNickeau { 63c3437056SNickeau return $this->sqlitePlugin->res2single($this->res); 64c3437056SNickeau } 65c3437056SNickeau 66c3437056SNickeau public function getFirstCellValueAsInt(): int 67c3437056SNickeau { 68c3437056SNickeau return intval($this->getFirstCellValue()); 69c3437056SNickeau } 70c3437056SNickeau 71c3437056SNickeau public function getFirstRow() 72c3437056SNickeau { 73c3437056SNickeau $rows = $this->getRows(); 74c3437056SNickeau if (sizeof($rows) >= 1) { 75c3437056SNickeau return $rows[0]; 76c3437056SNickeau } 77c3437056SNickeau return []; 78c3437056SNickeau } 79c3437056SNickeau 80c3437056SNickeau 81c3437056SNickeau} 82