/**
  * Marks all unreferenced element records as deleted with a recursion level of 99
  *
  * @return int Number of records deleted
  */
 public function markDeletedUnreferencedElementsRecords($markAsNegativeColPos = FALSE)
 {
     $pids = $this->sharedHelper->getPageIds();
     $allReferencedElementsArr = array();
     foreach ($pids as $pid) {
         $pageRecord = $this->sharedHelper->getPage($pid);
         if (!empty($pageRecord)) {
             $contentTree = $this->sharedHelper->getTemplavoilaAPIObj()->getContentTree('pages', $pageRecord, FALSE);
             $referencedElementsArrAsKeys = $contentTree['contentElementUsage'];
             if (!empty($referencedElementsArrAsKeys)) {
                 $referencedElementsArr = array_keys($referencedElementsArrAsKeys);
                 $allReferencedElementsArr = array_merge($allReferencedElementsArr, $referencedElementsArr);
             }
         }
     }
     $allReferencedElementsArr = array_unique($allReferencedElementsArr);
     $allRecordUids = $this->getUnreferencedElementsRecords($allReferencedElementsArr);
     $countRecords = count($allRecordUids);
     if ($markAsNegativeColPos) {
         $this->markNegativeColPos($allRecordUids);
     } else {
         $this->markDeleted($allRecordUids);
     }
     return $countRecords;
 }
 /**
  * Sets the backend layout uid for the page with the given uid if the value of the TV template matches
  * the uid of the given uidTvTemplate
  *
  * @param int $pageUid
  * @param int $UidTvTemplate
  * @param int $uidBeLayout
  * @return int Number of page templates updated
  */
 public function updatePageTemplate($pageUid, $UidTvTemplate, $uidBeLayout)
 {
     $pageRecord = $this->sharedHelper->getPage($pageUid);
     $updateFields = array();
     $count = 0;
     if ($pageRecord['tx_templavoila_to'] > 0 && $pageRecord['tx_templavoila_to'] == $UidTvTemplate) {
         $updateFields['backend_layout'] = $uidBeLayout;
     }
     if ($pageRecord['tx_templavoila_next_to'] > 0 && $pageRecord['tx_templavoila_next_to'] == $UidTvTemplate) {
         $updateFields['backend_layout_next_level'] = $uidBeLayout;
     }
     if (count($updateFields) > 0) {
         $GLOBALS['TYPO3_DB']->exec_UPDATEquery('pages', 'uid=' . intval($pageUid), $updateFields);
         $count++;
     }
     return $count;
 }