public function testCreateNodeWithOnlyRequiredConfigUsesTheDefaultValues() { /** @var Application|\PHPUnit_Framework_MockObject_MockObject $appMock */ $appMock = $this->getMockBuilder('Silex\\Application')->disableOriginalConstructor()->getMock(); $appMock->expects(self::any())->method('offsetExists')->with('manager-config')->will(self::returnValue(['manager' => []])); $appMock->expects(self::any())->method('offsetGet')->with('manager-config')->will(self::returnValue(['manager' => ['dummy' => ['index' => ['columns' => []]]]])); $node = new Node($appMock, 'dummy', 'index'); self::assertSame(10, $node->getItemPerPage()); self::assertSame([], $node->getColumns()); self::assertSame('dummy', $node->getDbTable()); self::assertSame('Manager: dummy', $node->getHeader()); self::assertSame('setting', $node->getIcon()); self::assertEmpty($node->getQuery()); self::assertNull($node->getSearch()); }
public function delete(Application $app, $dbTable, $id) { $config = new Node($app, $dbTable, 'index'); $sql = sprintf('DELETE FROM %s WHERE %s = %s', $config->getDbTable(), $config->getPrimaryKey(), $id); if ($this->db->execute($sql)) { $app['session']->getFlashBag()->add('messageSuccess', 'Deleted with success'); return $app->redirect($app['url_generator']->generate('manager-index', ['dbTable' => $dbTable])); } }
/** * {@inheritDoc} */ public function fetchByConfig(Node $config, $pagination) { if ($config->getQuery()) { return $this->fetchAll(sprintf('%s %s', $config->getQuery(), $config->getWhere()), $pagination); } $sql = sprintf('SELECT %s FROM %s %s ORDER BY %s %s' . $pagination, implode(',', array_flip($config->getColumns())), $config->getDbTable(), $config->getWhere(), $config->getOrderColumn(), $config->getOrder()); return $this->fetchAll($sql); }