/**
  * Usuwa te rekordy z tabeli _tmpRecord, dla których sesja już na pewno wygasła.
  * Usuwa też przypisane do tych rekordów pliki.
  */
 public function clean()
 {
     $calendar = new Calendar();
     $time = $calendar->addSeconds(CoreUtils::getDateTime(), -CoreConfig::get('Cron', 'tmpRecordOldAgeSeconds'));
     $tmpRecordDAO = new TmpRecordDAO();
     $oldRecords = $tmpRecordDAO->getOldRecords($time, CoreConfig::get('Cron', 'tmpRecordsToDeletePerExecution'));
     $fileDAO = new FileDAO();
     foreach ($oldRecords as $record) {
         if ($this->isForDeletion($record)) {
             $files = $fileDAO->getListByRecord('_tmpRecord', $record['id']);
             foreach ($files as $file) {
                 $fileDAO->delete($file);
             }
             $tmpRecordDAO->delete($record);
         }
     }
 }
 /**
  * UWAGA!
  * Z założenia to jest odporne na takie sytuacje jak dodanie lub usunięcie załączników
  * współbieżnie przez innego użytkownika, w wyniku czego lista identyfikatorów jest
  * nieaktualna. Na tej liście mogą niektóre identyfikatory wystepowac po klika razy
  * a moga też byc kompletne smiecie.
  */
 protected function updateFilesOrder()
 {
     foreach ($this->swfAttachmentTypes as $listName => $listInfo) {
         if ($this->isSWFUploadOrderingActive($listName)) {
             $orderFieldValue = $this->form->getField($listName . '_order')->getValue();
             if (!empty($orderFieldValue)) {
                 $ids = explode(',', $orderFieldValue);
                 $order = array_flip($ids);
                 $files = $this->fileDAO->getListByRecord($this->getRecordType(), $this->record['id'], $listInfo['fileCategory'], $listName);
                 $i = 0;
                 foreach ($files as $file) {
                     if (array_key_exists($file['id'], $order)) {
                         $file['fileOrder'] = $order[$file['id']];
                     } else {
                         $file['fileOrder'] = sizeof($files) + $i;
                         $i++;
                     }
                     $this->fileDAO->save($file);
                 }
             }
         }
     }
 }
 protected function getDirectlyRelatedRecords(&$record)
 {
     $fileDAO = new FileDAO();
     return array('SubpageDAO' => $this->getChildren($record), 'FileDAO' => $fileDAO->getListByRecord('subpage', $record['id']));
 }
예제 #4
0
 protected function getDirectlyRelatedRecords(&$record)
 {
     $creditsPackageDAO = new CreditsPackageDAO();
     $downloadDAO = new DownloadDAO();
     $clipboardDAO = new ClipboardDAO();
     $fileDAO = new FileDAO();
     $forumThreadDAO = new ForumThreadDAO();
     $forumPostDAO = new ForumPostDAO();
     $authorDAO = new AuthorDAO();
     return array('CreditsPackageDAO' => $creditsPackageDAO->getListByForeignKey('userId', $record['id']), 'DownloadDAO' => $downloadDAO->getListByForeignKey('userId', $record['id']), 'ClipboardDAO' => $clipboardDAO->getListByForeignKey('userId', $record['id']), 'FileDAO' => $fileDAO->getListByRecord('user', $record['id']), 'ForumThreadDAO' => $forumThreadDAO->getListByForeignKey('userId', $record['id']), 'ForumPostDAO' => $forumPostDAO->getListByForeignKey('userId', $record['id']), 'AuthorDAO' => $authorDAO->getListByForeignKey('userId', $record['id']));
 }
 protected function getDirectlyRelatedRecords(&$record)
 {
     $fileDAO = new FileDAO();
     return array('FileDAO' => $fileDAO->getListByRecord('_tmpRecord', $record['id']));
 }
 public function initAdditionalData()
 {
     parent::initAdditionalData();
     $fileDAO = new FileDAO();
     $this->gallery = $fileDAO->getListByRecord('subpage', $this->subpage['id'], 'image', 'gallery');
 }