Автоматическое удаление

Добрый день! Хотел попросить помощи. Есть снипет добавления ресурса и фоток на сайт:
Добавление ресурса
<?php
$doc = $modx->getObject('modResource',array('id'=>$hook->getValue('resource_id')));
if (empty($doc)){
    $doc = $modx->newObject('modResource');
    $doc->set('createdby', $modx->user->get('id'));
}
else{
    $doc->set('editedby', $modx->user->get('id'));
}
$allFormFields = $hook->getValues();
foreach ($allFormFields as $field=>$value)
{
   if ($field !== 'spam' && $field !== 'resource_id'){
         $doc->set($field, $value);
    }
}
$alias = $doc->cleanAlias($fields['pagetitle']);
if($modx->getCount(modResource, array('alias'=>$alias))!= 0) {
$count = 1;
$newAlias = $alias;
while($modx->getCount(modResource, array('alias'=>$newAlias))!= 0) {
$newAlias = $alias;
$newAlias .= '-' . $count;
$count++;
}
$alias = $newAlias;
}
$doc->set('alias',$alias);
$doc->set('template', $template);
$doc->save();
foreach ($allFormFields as $field=>$value)
{
    if (!empty($value) && $tv = $modx->getObject('modTemplateVar', array ('name'=>$field)))
    {
        if (is_array($value)) {
            $featureInsert = array();
            while (list($featureValue, $featureItem) = each($value)) {
                $featureInsert[count($featureInsert)] = $featureItem;
            }
            $value = implode('||',$featureInsert);
        }
        $tv->setValue($doc->get('id'), $value);
        $tv->save();
    }
}
$modx->cacheManager->refresh();
return true;
Добавление файла:
<?php
$doc = $modx->getObject('modResource',array('id'=>$hook->getValue('resource_id')));
if (empty($doc)){
    $doc = $modx->newObject('modResource');
    $doc->set('createdby', $modx->user->get('id'));
}
else{
    $doc->set('editedby', $modx->user->get('id'));
}
$allFormFields = $hook->getValues();
foreach ($allFormFields as $field=>$value)
{
   if ($field !== 'spam' && $field !== 'resource_id'){
         $doc->set($field, $value);
    }
}
$alias = $doc->cleanAlias($fields['pagetitle']);
if($modx->getCount(modResource, array('alias'=>$alias))!= 0) {
$count = 1;
$newAlias = $alias;
while($modx->getCount(modResource, array('alias'=>$newAlias))!= 0) {
$newAlias = $alias;
$newAlias .= '-' . $count;
$count++;
}
$alias = $newAlias;
}
$doc->set('alias',$alias);
$doc->set('template', $template);
$doc->save();
foreach ($allFormFields as $field=>$value)
{
    if (!empty($value) && $tv = $modx->getObject('modTemplateVar', array ('name'=>$field)))
    {
        if (is_array($value)) {
            $featureInsert = array();
            while (list($featureValue, $featureItem) = each($value)) {
                $featureInsert[count($featureInsert)] = $featureItem;
            }
            $value = implode('||',$featureInsert);
        }
        $tv->setValue($doc->get('id'), $value);
        $tv->save();
    }
}
$modx->cacheManager->refresh();
return true;
Подскажите как сделать что бы по прошествии например 7 дней объявление либо становилось не опубликованным либо удалялось.
(За код не пинайте, подглядывал везде где мог)
Михаил
10 сентября 2013, 08:39
modx.pro
1
1 382
0
Поблагодарить автора Отправить деньги

Комментарии: 4

Муравьев Олег
10 сентября 2013, 22:42
0
Как вариант, можно попробовать с помощью Cron запускать скрипт, который бы проверял все ресурсы. А если попробовать выставлять «Дату отмены публикации»?
    Василий Наумкин
    11 сентября 2013, 05:38
    0
    А если попробовать выставлять «Дату отмены публикации»?

    Хорошая идея (я ни разу не пробовал).
      Михаил
      11 сентября 2013, 08:24
      0
      Блин точно! Есть же дата публикации)) Я чет запарился. Пока доков не много можно самому проставлять. Только возможно с картинками придется повозится. Потому что их чистить надо будет. Спасибо!
      Василий Наумкин
      11 сентября 2013, 05:37
      2
      0
      Плагин на OnLoadWebDocument.

      При запросе проверять дату создания, и если больше 7 дней — удалять или отключать ресурс и отправлять на главную или на 404.
      То есть, юзеры сами будут инициировать отключение, cron не нужен.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        4