@@ 145-161 (lines=17) @@ | ||
142 | * |
|
143 | * @return mixed |
|
144 | */ |
|
145 | public function countPagePartsOfType(HasPagePartsInterface $page, $pagepartClassname, $context = 'main') |
|
146 | { |
|
147 | $em = $this->getEntityManager(); |
|
148 | $pageClassname = ClassLookup::getClass($page); |
|
149 | ||
150 | $sql = 'SELECT COUNT(pp.id) FROM KunstmaanPagePartBundle:PagePartRef pp |
|
151 | WHERE pp.pageEntityname = :pageEntityname |
|
152 | AND pp.pageId = :pageId |
|
153 | AND pp.pagePartEntityname = :pagePartEntityname |
|
154 | AND pp.context = :context'; |
|
155 | ||
156 | return $em->createQuery($sql) |
|
157 | ->setParameter('pageEntityname', $pageClassname) |
|
158 | ->setParameter('pageId', $page->getId()) |
|
159 | ->setParameter('pagePartEntityname', $pagepartClassname) |
|
160 | ->setParameter('context', $context)->getSingleScalarResult(); |
|
161 | } |
|
162 | ||
163 | /** |
|
164 | * Test if entity has pageparts for the specified context |
|
@@ 171-185 (lines=15) @@ | ||
168 | * |
|
169 | * @return bool |
|
170 | */ |
|
171 | public function hasPageParts(HasPagePartsInterface $page, $context = 'main') |
|
172 | { |
|
173 | $em = $this->getEntityManager(); |
|
174 | $pageClassname = ClassLookup::getClass($page); |
|
175 | ||
176 | $sql = 'SELECT COUNT(pp.id) FROM KunstmaanPagePartBundle:PagePartRef pp |
|
177 | WHERE pp.pageEntityname = :pageEntityname |
|
178 | AND pp.pageId = :pageId |
|
179 | AND pp.context = :context'; |
|
180 | ||
181 | return $em->createQuery($sql) |
|
182 | ->setParameter('pageEntityname', $pageClassname) |
|
183 | ->setParameter('pageId', $page->getId()) |
|
184 | ->setParameter('context', $context)->getSingleScalarResult() != 0; |
|
185 | } |
|
186 | ||
187 | /** |
|
188 | * @param int $id The id |