private function delete_question(FaqQuestion $question)
 {
     FaqService::delete('WHERE id=:id', array('id' => $question->get_id()));
     PersistenceContext::get_querier()->delete(DB_TABLE_EVENTS, 'WHERE module=:module AND id_in_module=:id', array('module' => 'faq', 'id' => $question->get_id()));
     Feed::clear_cache('faq');
     FaqCache::invalidate();
 }
 private function delete_question()
 {
     AppContext::get_session()->csrf_post_protect();
     FaqService::delete('WHERE id=:id', array('id' => $this->faq_question->get_id()));
     PersistenceContext::get_querier()->delete(DB_TABLE_EVENTS, 'WHERE module=:module AND id_in_module=:id', array('module' => 'faq', 'id' => $this->faq_question->get_id()));
     Feed::clear_cache('faq');
     FaqCache::invalidate();
 }
 public function execute(HTTPRequestCustom $request)
 {
     AppContext::get_session()->csrf_get_protect();
     $this->get_downloadfile($request);
     $this->check_authorizations();
     DownloadService::delete('WHERE id=:id', array('id' => $this->downloadfile->get_id()));
     DownloadService::get_keywords_manager()->delete_relations($this->downloadfile->get_id());
     PersistenceContext::get_querier()->delete(DB_TABLE_EVENTS, 'WHERE module=:module AND id_in_module=:id', array('module' => 'download', 'id' => $this->downloadfile->get_id()));
     CommentsService::delete_comments_topic_module('download', $this->downloadfile->get_id());
     NotationService::delete_notes_id_in_module('download', $this->downloadfile->get_id());
     Feed::clear_cache('download');
     DownloadCache::invalidate();
     AppContext::get_response()->redirect($request->get_url_referrer() ? $request->get_url_referrer() : DownloadUrlBuilder::home(), StringVars::replace_vars(LangLoader::get_message('download.message.success.delete', 'common', 'download'), array('name' => $this->downloadfile->get_name())));
 }
 public function execute(HTTPRequestCustom $request)
 {
     AppContext::get_session()->csrf_get_protect();
     $news = $this->get_news($request);
     if (!$news->is_authorized_to_delete()) {
         $error_controller = PHPBoostErrors::user_not_authorized();
         DispatchManager::redirect($error_controller);
     }
     if (AppContext::get_current_user()->is_readonly()) {
         $controller = PHPBoostErrors::user_in_read_only();
         DispatchManager::redirect($controller);
     }
     NewsService::delete('WHERE id=:id', array('id' => $news->get_id()));
     NewsService::get_keywords_manager()->delete_relations($news->get_id());
     PersistenceContext::get_querier()->delete(DB_TABLE_EVENTS, 'WHERE module=:module AND id_in_module=:id', array('module' => 'news', 'id' => $news->get_id()));
     CommentsService::delete_comments_topic_module('news', $news->get_id());
     Feed::clear_cache('news');
     AppContext::get_response()->redirect($request->get_url_referrer() ? $request->get_url_referrer() : NewsUrlBuilder::home(), StringVars::replace_vars(LangLoader::get_message('news.message.success.delete', 'common', 'news'), array('name' => $news->get_name())));
 }
 private function save()
 {
     $news = $this->get_news();
     $news->set_name($this->form->get_value('name'));
     $news->set_id_cat($this->form->get_value('id_cat')->get_raw_value());
     $news->set_contents($this->form->get_value('contents'));
     $news->set_short_contents($this->form->get_value('enable_short_contents') ? $this->form->get_value('short_contents') : '');
     $news->set_picture(new Url($this->form->get_value('picture')));
     $news->set_sources($this->form->get_value('sources'));
     if ($this->is_contributor_member()) {
         if ($news->get_id() === null) {
             $news->set_creation_date(new Date());
         }
         $news->set_rewrited_name(Url::encode_rewrite($news->get_name()));
         $news->set_approbation_type(News::NOT_APPROVAL);
         $news->clean_start_and_end_date();
     } else {
         $news->set_creation_date($this->form->get_value('creation_date'));
         $rewrited_name = $this->form->get_value('rewrited_name', '');
         $rewrited_name = $this->form->get_value('personalize_rewrited_name') && !empty($rewrited_name) ? $rewrited_name : Url::encode_rewrite($news->get_name());
         $news->set_rewrited_name($rewrited_name);
         $news->set_top_list_enabled($this->form->get_value('top_list'));
         $news->set_approbation_type($this->form->get_value('approbation_type')->get_raw_value());
         if ($news->get_approbation_type() == News::APPROVAL_DATE) {
             $news->set_start_date($this->form->get_value('start_date'));
             if ($this->form->get_value('end_date_enable')) {
                 $news->set_end_date($this->form->get_value('end_date'));
             } else {
                 $news->clean_end_date();
             }
         } else {
             $news->clean_start_and_end_date();
         }
     }
     if ($news->get_id() === null) {
         $news->set_author_user(AppContext::get_current_user());
         $id_news = NewsService::add($news);
     } else {
         $id_news = $news->get_id();
         NewsService::update($news);
     }
     $this->contribution_actions($news, $id_news);
     NewsService::get_keywords_manager()->put_relations($id_news, $this->form->get_value('keywords'));
     Feed::clear_cache('news');
 }
 private function save()
 {
     $weblink = $this->get_weblink();
     $weblink->set_name($this->form->get_value('name'));
     $weblink->set_rewrited_name(Url::encode_rewrite($weblink->get_name()));
     $weblink->set_id_category($this->form->get_value('id_category')->get_raw_value());
     $weblink->set_url(new Url($this->form->get_value('url')));
     $weblink->set_contents($this->form->get_value('contents'));
     $weblink->set_short_contents($this->form->get_value('short_contents_enabled') ? $this->form->get_value('short_contents') : '');
     $weblink->set_partner($this->form->get_value('partner'));
     $weblink->set_partner_picture(new Url($this->form->get_value('partner_picture')));
     $weblink->set_privileged_partner($this->form->get_value('privileged_partner'));
     if ($this->is_contributor_member()) {
         if ($weblink->get_id() === null) {
             $weblink->set_creation_date(new Date());
         }
         $weblink->set_approbation_type(WebLink::NOT_APPROVAL);
         $weblink->clean_start_and_end_date();
     } else {
         $weblink->set_creation_date($this->form->get_value('creation_date'));
         $weblink->set_approbation_type($this->form->get_value('approbation_type')->get_raw_value());
         if ($weblink->get_approbation_type() == WebLink::APPROVAL_DATE) {
             $weblink->set_start_date($this->form->get_value('start_date'));
             if ($this->form->get_value('end_date_enable')) {
                 $weblink->set_end_date($this->form->get_value('end_date'));
             } else {
                 $weblink->clean_end_date();
             }
         } else {
             $weblink->clean_start_and_end_date();
         }
     }
     if ($weblink->get_id() === null) {
         $id = WebService::add($weblink);
     } else {
         $id = $weblink->get_id();
         WebService::update($weblink);
     }
     $this->contribution_actions($weblink, $id);
     WebService::get_keywords_manager()->put_relations($id, $this->form->get_value('keywords'));
     Feed::clear_cache('web');
     WebCache::invalidate();
 }
 public static function update_module($module_id, $activated)
 {
     $error = '';
     if (!$activated) {
         MenuService::delete_mini_module($module_id);
         MenuService::delete_module_feeds_menus($module_id);
         $general_config = GeneralConfig::load();
         $module_home_page_selected = $general_config->get_module_home_page();
         if ($module_home_page_selected == $module_id) {
             $general_config->set_module_home_page('');
             $general_config->set_other_home_page('index.php');
         }
         $editors = AppContext::get_content_formatting_service()->get_available_editors();
         if (in_array($module_id, $editors)) {
             if (count($editors) > 1) {
                 $default_editor = ContentFormattingConfig::load()->get_default_editor();
                 if ($default_editor !== $module_id) {
                     PersistenceContext::get_querier()->update(DB_TABLE_MEMBER, array('editor' => $default_editor), 'WHERE editor=:old_editor', array('old_editor' => 'bbcode'));
                 } else {
                     $error = LangLoader::get_message('is_default_editor', 'editor-common');
                 }
             } else {
                 $error = LangLoader::get_message('last_editor_installed', 'editor-common');
             }
         }
     } else {
         $module = self::get_module($module_id);
         if ($module->get_configuration()->get_compatibility() != GeneralConfig::load()->get_phpboost_major_version()) {
             $error = LangLoader::get_message('modules.not_compatible', 'admin-modules-common');
         }
     }
     if (empty($error)) {
         $module = self::get_module($module_id);
         $module->set_activated($activated);
         ModulesConfig::load()->update($module);
         ModulesConfig::save();
         MenuService::generate_cache();
         Feed::clear_cache($module_id);
         if (ServerEnvironmentConfig::load()->is_url_rewriting_enabled()) {
             HtaccessFileCache::regenerate();
         }
     }
     return $error;
 }
Esempio n. 8
0
                     $visible = 0;
                 }
                 break;
             case 1:
                 list($start_timestamp, $end_timestamp) = array(0, 0);
                 break;
             default:
                 list($visible, $start_timestamp, $end_timestamp) = array(0, 0, 0);
         }
         $Sql->query_inject("INSERT INTO " . PREFIX . "news (title, idcat, url, size, count, contents, short_contents, image, timestamp, release_timestamp, start, end, visible) VALUES ('" . $news_title . "', '" . $news_cat_id . "', '" . $news_url . "', '" . $news_size . "', '" . $news_hits . "', '" . strparse($news_contents) . "', '" . strparse($news_short_contents) . "', '" . $news_image . "', '" . $news_creation_date->get_timestamp() . "', '" . ($ignore_release_date ? 0 : $news_release_date->get_timestamp()) . "', '" . $start_timestamp . "', '" . $end_timestamp . "', '" . $visible . "')", __LINE__, __FILE__);
         $new_id_news = $Sql->insert_id("SELECT MAX(id) FROM " . PREFIX . "news");
         if ($news_cat_id != $news_infos['idcat']) {
             $news_categories->Recount_sub_newss();
         }
         import('content/syndication/feed');
         Feed::clear_cache('news');
         redirect(HOST . DIR . '/news/' . url('news.php?id=' . $new_id_news, 'news-' . $new_id_news . '+' . url_encode_rewrite($news_title) . '.php'));
     } else {
         redirect(HOST . DIR . '/news/' . url('news.php'));
     }
 } elseif ($preview) {
     $begining_calendar = new MiniCalendar('begining_date');
     $begining_calendar->set_date($begining_date);
     $end_calendar = new MiniCalendar('end_date');
     $end_calendar->set_date($end_date);
     $end_calendar->set_style('margin-left:150px;');
     $Template->set_filenames(array('news' => 'news/news.tpl'));
     if ($news_size > 1) {
         $size_tpl = $news_size . ' ' . $LANG['unit_megabytes'];
     } elseif ($news_size > 0) {
         $size_tpl = $news_size * 1024 . ' ' . $LANG['unit_kilobytes'];
 private function save()
 {
     $now = new Date();
     $pm_recipients_list = array();
     $send_pm = true;
     $versions = array_reverse($this->config->get_versions_fix(), true);
     $status = $this->form->get_value('status')->get_raw_value();
     if (count($versions)) {
         if (!$this->form->field_is_disabled('fixed_in')) {
             $fixed_in = $this->form->get_value('fixed_in')->get_raw_value() ? $this->form->get_value('fixed_in')->get_raw_value() : 0;
             if ($fixed_in != $this->bug->get_fixed_in()) {
                 //Bug history update
                 BugtrackerService::add_history(array('bug_id' => $this->bug->get_id(), 'updater_id' => $this->current_user->get_id(), 'update_date' => $now->get_timestamp(), 'updated_field' => 'fixed_in', 'old_value' => $this->bug->get_fixed_in(), 'new_value' => $fixed_in));
                 $this->bug->set_fixed_in($fixed_in);
             }
         } else {
             if (in_array($status, array(Bug::NEW_BUG, Bug::REJECTED))) {
                 $this->bug->set_fixed_in(0);
             }
         }
     }
     if (!$this->form->field_is_disabled('assigned_to')) {
         $assigned_to = $this->form->get_value('assigned_to');
         $assigned_to_id = UserService::user_exists("WHERE display_name = :display_name", array('display_name' => $assigned_to));
         if ($this->bug->get_assigned_to_id()) {
             $old_user_assigned_id = UserService::user_exists("WHERE user_id = :user_id", array('user_id' => $this->bug->get_assigned_to_id()));
             $old_user_assigned = !empty($old_user_assigned_id) ? UserService::get_user($old_user_assigned_id) : 0;
         } else {
             $old_user_assigned = 0;
         }
         $new_user_assigned = !empty($assigned_to) && !empty($assigned_to_id) ? UserService::get_user($assigned_to_id) : 0;
         $new_assigned_to_id = !empty($new_user_assigned) ? $new_user_assigned->get_id() : 0;
         if ($new_assigned_to_id != $this->bug->get_assigned_to_id()) {
             //Bug history update
             BugtrackerService::add_history(array('bug_id' => $this->bug->get_id(), 'updater_id' => $this->current_user->get_id(), 'update_date' => $now->get_timestamp(), 'updated_field' => 'assigned_to_id', 'old_value' => $old_user_assigned ? $old_user_assigned->get_display_name() : $this->lang['notice.no_one'], 'new_value' => $new_user_assigned ? $new_user_assigned->get_display_name() : $this->lang['notice.no_one']));
             //Bug update
             $this->bug->set_assigned_to_id($new_assigned_to_id);
             //The PM will only be sent to the assigned user
             if ($new_assigned_to_id != $this->current_user->get_id()) {
                 $pm_recipients_list[] = $new_assigned_to_id;
             } else {
                 $send_pm = false;
             }
         }
     }
     if ($status != $this->bug->get_status()) {
         //Bug history update
         BugtrackerService::add_history(array('bug_id' => $this->bug->get_id(), 'updater_id' => $this->current_user->get_id(), 'update_date' => $now->get_timestamp(), 'updated_field' => 'status', 'old_value' => $this->bug->get_status(), 'new_value' => $status));
         //Bug update
         $this->bug->set_status($status);
         if ($this->bug->is_fixed() || $this->bug->is_rejected()) {
             $this->bug->set_fix_date($now);
         } else {
             $this->bug->set_fix_date(0);
         }
     }
     BugtrackerService::update($this->bug);
     Feed::clear_cache('bugtracker');
     switch ($status) {
         case Bug::IN_PROGRESS:
             $is_pm_enabled = $this->config->are_pm_in_progress_enabled();
             break;
         case Bug::PENDING:
             $is_pm_enabled = $this->config->are_pm_pending_enabled();
             break;
         case Bug::ASSIGNED:
             $is_pm_enabled = $this->config->are_pm_assign_enabled();
             break;
         case Bug::FIXED:
             $is_pm_enabled = $this->config->are_pm_fix_enabled();
             break;
         case Bug::REOPEN:
             $is_pm_enabled = $this->config->are_pm_reopen_enabled();
             break;
         case Bug::REJECTED:
             $is_pm_enabled = $this->config->are_pm_reject_enabled();
             break;
         default:
             $is_pm_enabled = false;
             break;
     }
     //Add comment if needed
     $comment = $this->form->get_value('comments_message', '');
     if (!empty($comment)) {
         $comments_topic = new BugtrackerCommentsTopic();
         $comments_topic->set_id_in_module($this->bug->get_id());
         $comments_topic->set_url(BugtrackerUrlBuilder::detail($this->bug->get_id() . '-' . $this->bug->get_rewrited_title()));
         CommentsManager::add_comment($comments_topic->get_module_id(), $comments_topic->get_id_in_module(), $comments_topic->get_topic_identifier(), $comments_topic->get_path(), $comment);
         //New line in the bug history
         BugtrackerService::add_history(array('bug_id' => $this->bug->get_id(), 'updater_id' => $this->current_user->get_id(), 'update_date' => $now->get_timestamp(), 'change_comment' => $this->lang['notice.new_comment']));
     }
     //Send PM with comment to updaters if the option is enabled
     if (!$this->bug->is_new() && $this->config->are_pm_enabled() && $is_pm_enabled && $send_pm) {
         BugtrackerPMService::send_PM_to_updaters($status, $this->bug->get_id(), $comment, $pm_recipients_list);
     }
     if (in_array($status, array(Bug::NEW_BUG, Bug::REOPEN, Bug::REJECTED, Bug::FIXED)) && $this->config->are_admin_alerts_enabled() && in_array($this->bug->get_severity(), $this->config->get_admin_alerts_levels())) {
         $alerts = AdministratorAlertService::find_by_criteria($this->bug->get_id(), 'bugtracker');
         if (!empty($alerts)) {
             $alert = $alerts[0];
             if ($this->bug->is_new() || $this->bug->is_reopen()) {
                 $alert->set_status(AdministratorAlert::ADMIN_ALERT_STATUS_UNREAD);
                 AdministratorAlertService::save_alert($alert);
             } else {
                 if ($this->config->is_admin_alerts_fix_action_fix()) {
                     $alert->set_status(AdministratorAlert::ADMIN_ALERT_STATUS_PROCESSED);
                     AdministratorAlertService::save_alert($alert);
                 } else {
                     AdministratorAlertService::delete_alert($alert);
                 }
             }
         }
     }
     BugtrackerStatsCache::invalidate();
 }
 private function delete_event($delete_all_serie_events = false)
 {
     $events_list = CalendarService::get_serie_events($this->event->get_content()->get_id());
     if ($delete_all_serie_events) {
         foreach ($events_list as $event) {
             //Delete event comments
             CommentsService::delete_comments_topic_module('calendar', $event->get_id());
             //Delete participants
             CalendarService::delete_all_participants($event->get_id());
         }
         CalendarService::delete_all_serie_events($this->event->get_content()->get_id());
         PersistenceContext::get_querier()->delete(DB_TABLE_EVENTS, 'WHERE module = :module AND id_in_module = :id', array('module' => 'calendar', 'id' => !$this->event->get_parent_id() ? $this->event->get_id() : $this->event->get_parent_id()));
     } else {
         if (!$this->event->belongs_to_a_serie() || count($events_list) == 1) {
             CalendarService::delete_event_content('WHERE id = :id', array('id' => $this->event->get_parent_id()));
         }
         //Delete event
         CalendarService::delete_event('WHERE id_event = :id', array('id' => $this->event->get_id()));
         if (!$this->event->get_parent_id()) {
             PersistenceContext::get_querier()->delete(DB_TABLE_EVENTS, 'WHERE module=:module AND id_in_module=:id', array('module' => 'calendar', 'id' => $this->event->get_id()));
         }
         //Delete event comments
         CommentsService::delete_comments_topic_module('calendar', $this->event->get_id());
         //Delete participants
         CalendarService::delete_all_participants($this->event->get_id());
     }
     Feed::clear_cache('calendar');
     CalendarCurrentMonthEventsCache::invalidate();
 }
 private function save()
 {
     $article = $this->get_article();
     $article->set_title($this->form->get_value('title'));
     $article->set_id_category($this->form->get_value('id_category')->get_raw_value());
     $article->set_description($this->form->get_value('enable_description') ? $this->form->get_value('description') : '');
     $article->set_contents($this->form->get_value('contents'));
     $author_name_displayed = $this->form->get_value('author_name_displayed') ? $this->form->get_value('author_name_displayed') : Article::AUTHOR_NAME_NOTDISPLAYED;
     $article->set_author_name_displayed($author_name_displayed);
     $notation_enabled = $this->form->get_value('notation_enabled') ? $this->form->get_value('notation_enabled') : Article::NOTATION_DISABLED;
     $article->set_notation_enabled($notation_enabled);
     $article->set_picture(new Url($this->form->get_value('picture')));
     $article->set_sources($this->form->get_value('sources'));
     if ($this->is_contributor_member()) {
         if ($article->get_id() === null) {
             $article->set_date_created(new Date());
         }
         $article->set_rewrited_title(Url::encode_rewrite($article->get_title()));
         $article->set_publishing_state(Article::NOT_PUBLISHED);
         $article->clean_publishing_start_and_end_date();
     } else {
         $article->set_date_created($this->form->get_value('date_created'));
         $rewrited_title = $this->form->get_value('rewrited_title', '');
         $rewrited_title = $this->form->get_value('personalize_rewrited_title') && !empty($rewrited_title) ? $rewrited_title : Url::encode_rewrite($article->get_title());
         $article->set_rewrited_title($rewrited_title);
         $article->set_publishing_state($this->form->get_value('publishing_state')->get_raw_value());
         if ($article->get_publishing_state() == Article::PUBLISHED_DATE) {
             $article->set_publishing_start_date($this->form->get_value('publishing_start_date'));
             if ($this->form->get_value('end_date_enable')) {
                 $article->set_publishing_end_date($this->form->get_value('publishing_end_date'));
             } else {
                 $article->clean_publishing_end_date();
             }
         } else {
             $article->clean_publishing_start_and_end_date();
         }
     }
     if ($article->get_id() === null) {
         $article->set_author_user(AppContext::get_current_user());
         $id_article = ArticlesService::add($article);
     } else {
         $now = new Date();
         $article->set_date_updated($now);
         $id_article = $article->get_id();
         ArticlesService::update($article);
     }
     $this->contribution_actions($article, $id_article);
     ArticlesService::get_keywords_manager()->put_relations($id_article, $this->form->get_value('keywords'));
     Feed::clear_cache('articles');
 }
 private function save()
 {
     $now = new Date();
     $current_user = AppContext::get_current_user();
     if ($this->config->are_pm_enabled() && $this->config->are_pm_delete_enabled()) {
         //Add comment if needed
         $comment = !$this->form->field_is_disabled('comments_message') ? $this->form->get_value('comments_message', '') : '';
         //Send PM with comment to updaters if the option is enabled
         BugtrackerPMService::send_PM_to_updaters('delete', $this->bug->get_id(), $comment);
     }
     //Delete bug
     BugtrackerService::delete("WHERE id=:id", array('id' => $this->bug->get_id()));
     //Delete bug history
     BugtrackerService::delete_history("WHERE bug_id=:id", array('id' => $this->bug->get_id()));
     //Delete comments
     CommentsService::delete_comments_topic_module('bugtracker', $this->bug->get_id());
     //Delete admin alert
     if ($this->config->are_admin_alerts_enabled()) {
         $alerts = AdministratorAlertService::find_by_criteria($this->bug->get_id(), 'bugtracker');
         if (!empty($alerts)) {
             AdministratorAlertService::delete_alert($alerts[0]);
         }
     }
     BugtrackerStatsCache::invalidate();
     Feed::clear_cache('bugtracker');
 }
Esempio n. 13
0
 private static function clear_feed_cache()
 {
     Feed::clear_cache();
 }
Esempio n. 14
0
                $errstr = $LANG['wiki_title_already_exists'];
            } else {
                $Sql->query_inject("INSERT INTO " . PREFIX . "wiki_articles (title, encoded_title, id_cat, is_cat, undefined_status, auth) VALUES ('" . $title . "', '" . url_encode_rewrite($title) . "', '" . $new_id_cat . "', '" . $is_cat . "', '', '')", __LINE__, __FILE__);
                $id_article = $Sql->insert_id("SELECT MAX(id) FROM " . PREFIX . "wiki_articles");
                $Sql->query_inject("INSERT INTO " . PREFIX . "wiki_contents (id_article, menu, content, activ, user_id, user_ip, timestamp) VALUES ('" . $id_article . "', '" . addslashes($menu) . "', '" . $contents . "', 1, " . $User->get_attribute('user_id') . ", '" . USER_IP . "', " . time() . ")", __LINE__, __FILE__);
                $id_contents = $Sql->insert_id("SELECT MAX(id_contents) FROM " . PREFIX . "wiki_contents");
                $cat_update = '';
                if ($is_cat == 1) {
                    $Sql->query_inject("INSERT INTO " . PREFIX . "wiki_cats (id_parent, article_id) VALUES (" . $new_id_cat . ", '" . $id_article . "')", __LINE__, __FILE__);
                    $id_created_cat = $Sql->insert_id("SELECT MAX(id) FROM " . PREFIX . "wiki_articles");
                    $cat_update = ", id_cat = '" . $id_created_cat . "'";
                    $Cache->Generate_module_file('wiki');
                }
                $Sql->query_inject("UPDATE " . PREFIX . "wiki_articles SET id_contents = '" . $id_contents . "'" . $cat_update . " WHERE id = " . $id_article, __LINE__, __FILE__);
                import('content/syndication/feed');
                Feed::clear_cache('wiki');
                $redirect = $Sql->query("SELECT encoded_title FROM " . PREFIX . "wiki_articles WHERE id = '" . $id_article . "'", __LINE__, __FILE__);
                redirect(url('wiki.php?title=' . $redirect, $redirect, '', '&'));
            }
        }
    }
}
$Template->set_filenames(array('wiki_edit' => 'wiki/post.tpl'));
$Template->assign_vars(array('WIKI_PATH' => $Template->get_module_data_path('wiki')));
if ($id_edit > 0) {
    $article_infos = $Sql->query_array(PREFIX . 'wiki_articles', '*', "WHERE id = '" . $id_edit . "'", __LINE__, __FILE__);
    $general_auth = empty($article_infos['auth']) ? true : false;
    $article_auth = !empty($article_infos['auth']) ? unserialize($article_infos['auth']) : array();
    if (!((!$general_auth || $User->check_auth($_WIKI_CONFIG['auth'], WIKI_EDIT)) && ($general_auth || $User->check_auth($article_auth, WIKI_EDIT)))) {
        $Errorh->handler('e_auth', E_USER_REDIRECT);
    }
Esempio n. 15
0
require_once '../admin/admin_header.php';
$cache_mode = retrieve(GET, 'cache', '');
if (empty($cache_mode)) {
    if (!empty($_POST['cache'])) {
        $Cache->Generate_all_files();
        redirect(HOST . DIR . '/admin/admin_cache.php?s=1');
    } else {
        $Template->set_filenames(array('admin_cache' => 'admin/admin_cache.tpl'));
        $get_error = retrieve(GET, 's', 0);
        if ($get_error == 1) {
            $Errorh->handler($LANG['cache_success'], E_USER_SUCCESS);
        }
        $Template->assign_vars(array('L_CACHE' => $LANG['cache'], 'L_SYNDICATION' => $LANG['syndication'], 'L_EXPLAIN_SITE_CACHE' => $LANG['explain_site_cache'], 'L_GENERATE' => $LANG['generate']));
        $Template->pparse('admin_cache');
    }
} else {
    if (!empty($_POST['cache'])) {
        import('content/syndication/feed');
        Feed::clear_cache();
        redirect(HOST . DIR . '/admin/admin_cache.php?cache=syndication&s=1');
    } else {
        $Template->set_filenames(array('admin_cache_syndication' => 'admin/admin_cache_syndication.tpl'));
        $get_error = retrieve(GET, 's', 0);
        if ($get_error == 1) {
            $Errorh->handler($LANG['cache_success'], E_USER_SUCCESS);
        }
        $Template->assign_vars(array('L_CACHE' => $LANG['cache'], 'L_SYNDICATION' => $LANG['syndication'], 'L_EXPLAIN_SITE_CACHE' => $LANG['explain_site_cache_syndication'], 'L_GENERATE' => $LANG['generate']));
        $Template->pparse('admin_cache_syndication');
    }
}
require_once '../admin/admin_footer.php';
 private function save()
 {
     $event = $this->get_event();
     $event_content = $event->get_content();
     $event_content->set_title($this->form->get_value('title'));
     $event_content->set_rewrited_title(Url::encode_rewrite($this->form->get_value('title')));
     $event_content->set_category_id($this->form->get_value('category_id')->get_raw_value());
     $event_content->set_contents($this->form->get_value('contents'));
     $event_content->set_location($this->form->get_value('location'));
     if (!$this->is_contributor_member() && $this->form->get_value('approved')) {
         $event_content->approve();
     } else {
         $event_content->unapprove();
     }
     if ($this->form->get_value('registration_authorized')) {
         $event_content->authorize_registration();
         $event_content->set_max_registered_members($this->form->get_value('max_registered_members'));
         if ($this->form->get_value('last_registration_date_enabled')) {
             $event_content->enable_last_registration_date();
             $event_content->set_last_registration_date($this->form->get_value('last_registration_date'));
         } else {
             $event_content->disable_last_registration_date();
             $event_content->set_last_registration_date(null);
         }
         $event_content->set_register_authorizations($this->form->get_value('register_authorizations', $event_content->get_register_authorizations())->build_auth_array());
     } else {
         $event_content->unauthorize_registration();
     }
     $event_content->set_repeat_type($this->form->get_value('repeat_type')->get_raw_value());
     if ($event_content->get_repeat_type() != CalendarEventContent::NEVER) {
         $event_content->set_repeat_number($this->form->get_value('repeat_number'));
     }
     $event->set_start_date($this->form->get_value('start_date'));
     $event->set_end_date($this->form->get_value('end_date'));
     if ($event->get_id() === null) {
         $id_content = CalendarService::add_event_content($event_content);
         $event_content->set_id($id_content);
         $event->set_content($event_content);
         $id_event = CalendarService::add_event($event);
         if ($event->get_content()->is_repeatable()) {
             $new_start_date = $event->get_start_date();
             $new_end_date = $event->get_end_date();
             for ($i = 1; $i <= $event->get_content()->get_repeat_number(); $i++) {
                 $e = new CalendarEvent();
                 $e->set_content($event->get_content());
                 $e->set_parent_id($id_event);
                 $e = $this->set_event_start_and_end_date($e, $new_start_date, $new_end_date);
                 CalendarService::add_event($e);
                 $new_start_date = $e->get_start_date();
                 $new_end_date = $e->get_end_date();
             }
         }
     } else {
         CalendarService::update_event_content($event_content);
         $id_event = CalendarService::update_event($event);
         if ($event->get_content()->is_repeatable() || $event_content->is_repeatable() && ($event->get_content()->get_repeat_number() != $event_content->get_repeat_number() || $event->get_content()->get_repeat_type() != $event_content->get_repeat_type())) {
             $events_list = CalendarService::get_serie_events($event_content->get_id());
             $new_start_date = $event->get_start_date();
             $new_end_date = $event->get_end_date();
             $i = 0;
             foreach ($events_list as $id => $e) {
                 if ($id != $id_event) {
                     $e->set_content($event_content);
                     $e = $this->set_event_start_and_end_date($e, $new_start_date, $new_end_date);
                     if ($i <= $event_content->get_repeat_number()) {
                         CalendarService::update_event($e);
                     } else {
                         CalendarService::delete_event('WHERE id_event = :id', array('id' => $e->get_id()));
                     }
                     $new_start_date = $e->get_start_date();
                     $new_end_date = $e->get_end_date();
                 }
                 $i++;
             }
             if ($i < $event_content->get_repeat_number()) {
                 for ($j = $i; $j <= $event_content->get_repeat_number(); $j++) {
                     $e = new CalendarEvent();
                     $e->set_content($event_content);
                     $e->set_parent_id($id_event);
                     $e = $this->set_event_start_and_end_date($e, $new_start_date, $new_end_date);
                     CalendarService::add_event($e);
                     $new_start_date = $e->get_start_date();
                     $new_end_date = $e->get_end_date();
                 }
             }
         }
     }
     $this->contribution_actions($event, $id_event);
     Feed::clear_cache('calendar');
     CalendarCurrentMonthEventsCache::invalidate();
 }
Esempio n. 17
0
             import('events/contribution');
             import('events/contribution_service');
             $download_contribution = new Contribution();
             $download_contribution->set_id_in_module($new_id_file);
             $download_contribution->set_description(stripslashes($contribution_counterpart));
             $download_contribution->set_entitled(sprintf($DOWNLOAD_LANG['contribution_entitled'], $file_title));
             $download_contribution->set_fixing_url('/download/management.php?edit=' . $new_id_file);
             $download_contribution->set_poster_id($User->get_attribute('user_id'));
             $download_contribution->set_module('download');
             $download_contribution->set_auth(Authorizations::capture_and_shift_bit_auth(Authorizations::merge_auth($CONFIG_DOWNLOAD['global_auth'], $download_categories->compute_heritated_auth($file_cat_id, DOWNLOAD_WRITE_CAT_AUTH_BIT, AUTH_CHILD_PRIORITY), DOWNLOAD_WRITE_CAT_AUTH_BIT, AUTH_CHILD_PRIORITY), DOWNLOAD_WRITE_CAT_AUTH_BIT, CONTRIBUTION_AUTH_BIT));
             ContributionService::save_contribution($download_contribution);
             redirect(HOST . DIR . '/download/contribution.php');
         }
         $download_categories->Recount_sub_files();
         import('content/syndication/feed');
         Feed::clear_cache('download');
         redirect(HOST . DIR . '/download/' . url('download.php?id=' . $new_id_file, 'download-' . $new_id_file . '+' . url_encode_rewrite($file_title) . '.php'));
     } else {
         redirect(HOST . DIR . '/download/' . url('download.php'));
     }
 } elseif ($preview) {
     $contribution_counterpart_source = strprotect(retrieve(POST, 'counterpart', '', TSTRING_AS_RECEIVED), HTML_PROTECT, ADDSLASHES_NONE);
     $begining_calendar = new MiniCalendar('begining_date');
     $begining_calendar->set_date($begining_date);
     $end_calendar = new MiniCalendar('end_date');
     $end_calendar->set_date($end_date);
     $end_calendar->set_style('margin-left:150px;');
     $Template->set_filenames(array('download' => 'download/download.tpl'));
     if ($file_size > 1) {
         $size_tpl = $file_size . ' ' . $LANG['unit_megabytes'];
     } elseif ($file_size > 0) {
Esempio n. 18
0
        if (!empty($delete)) {
            foreach ($delete as $key) {
                $Sql->query_inject("DELETE FROM " . PREFIX . "media WHERE id = '" . $key . "'", __LINE__, __FILE__);
                $Sql->query_inject("DELETE FROM " . PREFIX . "com WHERE idprov = '" . $delete . "' AND script = 'media'", __LINE__, __FILE__);
            }
        }
        import('content/syndication/feed');
        Feed::clear_cache('media');
        $media_categories->recount_media_per_cat();
        redirect_confirm(url('moderation_media.php'), $MEDIA_LANG['moderation_success'], TIME_REDIRECT);
    } else {
        redirect(url('moderation_media.php'));
    }
} elseif (!empty($_GET['recount'])) {
    import('content/syndication/feed');
    Feed::clear_cache('media');
    $media_categories->recount_media_per_cat();
    redirect_confirm(url('moderation_media.php'), $MEDIA_LANG['recount_success'], TIME_REDIRECT);
} else {
    $array_cats = $js_array = array();
    if (!empty($_POST['filter'])) {
        $state = retrieve(POST, 'state', 'all', TSTRING);
        $cat = retrieve(POST, 'idcat', 0, TINTEGER);
        $sub_cats = retrieve(POST, 'sub_cats', false, TBOOL);
        if ($state == "visible") {
            $db_where = MEDIA_STATUS_APROBED;
        } elseif ($state == 'unvisible') {
            $db_where = MEDIA_STATUS_UNVISIBLE;
        } elseif ($state == 'unaprobed') {
            $db_where = MEDIA_STATUS_UNAPROBED;
        } else {
 private function save()
 {
     $faq_question = $this->get_faq_question();
     $faq_question->set_question($this->form->get_value('question'));
     $faq_question->set_rewrited_question(Url::encode_rewrite($faq_question->get_question()));
     $faq_question->set_id_category($this->form->get_value('id_category')->get_raw_value());
     $faq_question->set_answer($this->form->get_value('answer'));
     if ($faq_question->get_q_order() === null) {
         $number_questions_in_category = FaqService::count('WHERE id_category = :id_category', array('id_category' => $faq_question->get_id_category()));
         $faq_question->set_q_order($number_questions_in_category + 1);
     }
     if (!$this->is_contributor_member() && $this->form->get_value('approved')) {
         $faq_question->approve();
     } else {
         $faq_question->unapprove();
     }
     if ($faq_question->get_id() === null) {
         $id = FaqService::add($faq_question);
     } else {
         $id = $faq_question->get_id();
         FaqService::update($faq_question);
     }
     $this->contribution_actions($faq_question, $id);
     Feed::clear_cache('faq');
     FaqCache::invalidate();
 }
    private function save()
    {
        $bug = $this->get_bug();
        if ($bug->get_id() === null) {
            $title = $this->form->get_value('title');
            $bug->set_title($title);
            $bug->set_rewrited_title(Url::encode_rewrite($title));
            $bug->set_contents($this->form->get_value('contents'));
            $bug->set_type($this->form->get_value('type') ? $this->form->get_value('type')->get_raw_value() : $this->config->get_default_type());
            $bug->set_category($this->form->get_value('category') ? $this->form->get_value('category')->get_raw_value() : $this->config->get_default_category());
            $bug->set_severity($this->form->get_value('severity') ? $this->form->get_value('severity')->get_raw_value() : $this->config->get_default_severity());
            $bug->set_priority($this->form->get_value('priority') ? $this->form->get_value('priority')->get_raw_value() : $this->config->get_default_priority());
            $bug->set_detected_in($this->form->get_value('detected_in') ? $this->form->get_value('detected_in')->get_raw_value() : $this->config->get_default_version());
            $bug->set_reproductible($this->form->get_value('reproductible') ? true : 0);
            if ($bug->is_reproductible()) {
                $bug->set_reproduction_method($this->form->get_value('reproduction_method'));
            }
            //Bug creation
            $bug->set_id(BugtrackerService::add($bug));
            if ($this->config->are_admin_alerts_enabled() && in_array($bug->get_severity(), $this->config->get_admin_alerts_levels())) {
                $alert = new AdministratorAlert();
                $alert->set_entitled('[' . $this->lang['module_title'] . '] ' . $bug->get_title());
                $alert->set_fixing_url(BugtrackerUrlBuilder::detail($bug->get_id() . '-' . $bug->get_rewrited_title())->relative());
                switch ($bug->get_priority()) {
                    case 1:
                        switch ($bug->get_severity()) {
                            case 1:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_VERY_LOW_PRIORITY;
                                break;
                            case 2:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_LOW_PRIORITY;
                                break;
                            default:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_MEDIUM_PRIORITY;
                                break;
                        }
                        break;
                    case 2:
                        switch ($bug->get_severity()) {
                            case 1:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_LOW_PRIORITY;
                                break;
                            default:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_MEDIUM_PRIORITY;
                                break;
                        }
                        break;
                    case 3:
                        switch ($bug->get_severity()) {
                            case 1:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_LOW_PRIORITY;
                                break;
                            case 2:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_MEDIUM_PRIORITY;
                                break;
                            case 3:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_HIGH_PRIORITY;
                                break;
                            default:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_MEDIUM_PRIORITY;
                                break;
                        }
                        break;
                    case 4:
                        switch ($bug->get_severity()) {
                            case 2:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_MEDIUM_PRIORITY;
                                break;
                            case 3:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_HIGH_PRIORITY;
                                break;
                            default:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_LOW_PRIORITY;
                                break;
                        }
                        break;
                    case 5:
                        switch ($bug->get_severity()) {
                            case 2:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_HIGH_PRIORITY;
                                break;
                            case 3:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_VERY_HIGH_PRIORITY;
                                break;
                            default:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_MEDIUM_PRIORITY;
                                break;
                        }
                        break;
                    default:
                        switch ($bug->get_severity()) {
                            case 1:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_LOW_PRIORITY;
                                break;
                            case 2:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_MEDIUM_PRIORITY;
                                break;
                            case 3:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_HIGH_PRIORITY;
                                break;
                            default:
                                $alert_priority = AdministratorAlert::ADMIN_ALERT_MEDIUM_PRIORITY;
                                break;
                        }
                        break;
                }
                $alert->set_priority($alert_priority);
                $alert->set_id_in_module($bug->get_id());
                $alert->set_type('bugtracker');
                AdministratorAlertService::save_alert($alert);
            }
        } else {
            $old_values = clone $bug;
            $now = new Date();
            $types = $this->config->get_types();
            $categories = $this->config->get_categories();
            $severities = $this->config->get_severities();
            $priorities = $this->config->get_priorities();
            $versions = $this->config->get_versions();
            $display_versions = count($versions) > 1;
            $status_list = $this->config->get_status_list();
            $common_lang = LangLoader::get('common');
            $title = $this->form->get_value('title', $old_values->get_title());
            $bug->set_title($title);
            $bug->set_rewrited_title(Url::encode_rewrite($title));
            $bug->set_contents($this->form->get_value('contents', $old_values->get_contents()));
            $bug->set_type($this->form->get_value('type') ? $this->form->get_value('type')->get_raw_value() : $old_values->get_type());
            $bug->set_category($this->form->get_value('category') ? $this->form->get_value('category')->get_raw_value() : $old_values->get_category());
            $bug->set_severity($this->form->get_value('severity') ? $this->form->get_value('severity')->get_raw_value() : $old_values->get_severity());
            $bug->set_priority($this->form->get_value('priority') ? $this->form->get_value('priority')->get_raw_value() : $old_values->get_priority());
            $bug->set_detected_in($this->form->get_value('detected_in') ? $this->form->get_value('detected_in')->get_raw_value() : $old_values->get_detected_in());
            $bug->set_reproductible($this->form->get_value('reproductible') ? true : 0);
            if ($bug->is_reproductible()) {
                $bug->set_reproduction_method($this->form->get_value('reproduction_method', $old_values->get_reproduction_method()));
            }
            $pm_comment = '';
            $modification = false;
            $fields = array('title', 'contents', 'type', 'category', 'severity', 'priority', 'detected_in', 'reproductible', 'reproduction_method');
            $n_values = $bug->get_properties();
            $o_values = $old_values->get_properties();
            foreach ($fields as $field) {
                if ($o_values[$field] != $n_values[$field]) {
                    $modification = true;
                    $comment = '';
                    switch ($field) {
                        case 'title':
                            $new_value = stripslashes($n_values[$field]);
                            $o_values[$field] = addslashes($o_values[$field]);
                            $comment = '';
                            break;
                        case 'contents':
                            $o_values[$field] = '';
                            $n_values[$field] = '';
                            $comment = $this->lang['notice.contents_update'];
                            break;
                        case 'reproduction_method':
                            $o_values[$field] = '';
                            $n_values[$field] = '';
                            $comment = $this->lang['notice.reproduction_method_update'];
                            break;
                        case 'type':
                            $new_value = !empty($n_values[$field]) ? stripslashes($types[$n_values[$field]]) : $this->lang['notice.none'];
                            break;
                        case 'category':
                            $new_value = !empty($n_values[$field]) ? stripslashes($categories[$n_values[$field]]) : $this->lang['notice.none_e'];
                            break;
                        case 'priority':
                            $new_value = !empty($n_values[$field]) ? stripslashes($priorities[$n_values[$field]]) : $this->lang['notice.none_e'];
                            break;
                        case 'severity':
                            $new_value = !empty($n_values[$field]) ? stripslashes($severities[$n_values[$field]]['name']) : $this->lang['notice.none'];
                            break;
                        case 'detected_in':
                            $new_value = !empty($n_values[$field]) ? stripslashes($versions[$n_values[$field]]['name']) : $this->lang['notice.none_e'];
                            break;
                        case 'status':
                            $new_value = $this->lang['status.' . $n_values[$field]];
                            break;
                        case 'reproductible':
                            $new_value = $n_values[$field] ? $common_lang['yes'] : $common_lang['no'];
                            break;
                        default:
                            $new_value = $n_values[$field];
                            $comment = '';
                    }
                    $pm_comment .= $field != 'contents' && $field != 'reproduction_method' ? $this->lang['labels.fields.' . $field] . ' : ' . stripslashes($new_value) . '
	' : '';
                    //Bug history update
                    BugtrackerService::add_history(array('bug_id' => $bug->get_id(), 'updater_id' => $this->current_user->get_id(), 'update_date' => $now->get_timestamp(), 'updated_field' => $field, 'old_value' => $o_values[$field], 'new_value' => $n_values[$field], 'change_comment' => $comment));
                }
            }
            if ($modification) {
                //Bug update
                BugtrackerService::update($bug);
                //Send PM to updaters if the option is enabled
                if ($this->config->are_pm_enabled() && $this->config->are_pm_edit_enabled() && !empty($pm_comment)) {
                    BugtrackerPMService::send_PM_to_updaters('edit', $bug->get_id(), $pm_comment);
                }
            }
        }
        Feed::clear_cache('bugtracker');
        BugtrackerStatsCache::invalidate();
        AppContext::get_response()->redirect($this->form->get_value('referrer') ? $this->form->get_value('referrer') : BugtrackerUrlBuilder::unsolved(), StringVars::replace_vars($this->is_new_bug ? $this->lang['success.add'] : $this->lang['success.edit'], array('id' => $bug->get_id())));
    }
 function uninstall_module($module_id, $drop_files)
 {
     global $Cache, $Sql, $CONFIG, $MODULES;
     $module_name = $Sql->query("SELECT name FROM " . DB_TABLE_MODULES . " WHERE id = '" . $module_id . "'", __LINE__, __FILE__);
     if (!empty($module_id) && !empty($module_name)) {
         $Sql->query_inject("DELETE FROM " . DB_TABLE_MODULES . " WHERE id = '" . $module_id . "'", __LINE__, __FILE__);
         $info_module = load_ini_file(PATH_TO_ROOT . '/' . $module_name . '/lang/', get_ulang());
         $Cache->delete_file($module_name);
         if (!empty($info_module['com'])) {
             $Sql->query_inject("DELETE FROM " . DB_TABLE_COM . " WHERE script = '" . addslashes($info_module['com']) . "'", __LINE__, __FILE__);
         }
         if (!empty($info_module)) {
             $Sql->query_inject("DELETE FROM " . DB_TABLE_CONFIGS . " WHERE name = '" . addslashes($module_name) . "'", __LINE__, __FILE__);
         }
         import('core/menu_service');
         MenuService::delete_mini_module($module_name);
         MenuService::delete_module_feeds_menus($module_name);
         $dir_db_module = get_ulang();
         $dir = PATH_TO_ROOT . '/' . $module_name . '/db';
         import('io/filesystem/folder');
         $folder_path = new Folder($dir . '/' . $dir_db_module);
         foreach ($folder_path->get_folders('`^[a-z0-9_ -]+$`i') as $dir) {
             $dir_db_module = $dir->get_name();
             break;
         }
         if (file_exists(PATH_TO_ROOT . '/' . $module_name . '/db/' . $dir_db_module . '/uninstall_' . $module_name . '.' . DBTYPE . '.sql')) {
             $Sql->parse(PATH_TO_ROOT . '/' . $module_name . '/db/' . $dir_db_module . '/uninstall_' . $module_name . '.' . DBTYPE . '.sql', PREFIX);
         }
         if (file_exists(PATH_TO_ROOT . '/' . $module_name . '/db/' . $dir_db_module . '/uninstall_' . $module_name . '.php')) {
             @(include_once PATH_TO_ROOT . '/' . $module_name . '/db/' . $dir_db_module . '/uninstall_' . $module_name . '.php');
         }
         $Cache->Generate_file('modules');
         $Cache->Generate_file('css');
         MenuService::generate_cache();
         import('content/syndication/feed');
         Feed::clear_cache();
         if ($CONFIG['rewrite'] == 1 && !empty($info_module['url_rewrite'])) {
             $Cache->Generate_file('htaccess');
         }
         if ($drop_files) {
             $folder = new Folder(PATH_TO_ROOT . '/' . $module_name);
             if (!$folder->delete()) {
                 return MODULE_FILES_COULD_NOT_BE_DROPPED;
             }
         }
         return MODULE_UNINSTALLED;
     } else {
         return NOT_INSTALLED_MODULE;
     }
 }
Esempio n. 22
0
        } else {
            $timestamp = time();
        }
        $Cache->load('articles');
        if (empty($idcat)) {
            $CAT_ARTICLES[0]['id_left'] = 0;
            $CAT_ARTICLES[0]['id_right'] = 0;
        }
        $Sql->query_inject("INSERT INTO " . PREFIX . "articles (idcat, title, contents, icon, timestamp, visible, start, end, user_id, views, users_note, nbrnote, note, nbr_com) VALUES('" . $idcat . "', '" . $title . "', '" . str_replace('[page][/page]', '', $contents) . "', '" . $icon . "', '" . $timestamp . "', '" . $visible . "', '" . $start_timestamp . "', '" . $end_timestamp . "', '" . $User->get_attribute('user_id') . "', 0, 0, 0, 0, 0)", __LINE__, __FILE__);
        $last_articles_id = $Sql->insert_id("SELECT MAX(id) FROM " . PREFIX . "articles");
        $clause_update = $visible == 1 ? 'nbr_articles_visible = nbr_articles_visible + 1' : 'nbr_articles_unvisible = nbr_articles_unvisible + 1';
        $Sql->query_inject("UPDATE " . PREFIX . "articles_cats SET " . $clause_update . " WHERE id_left <= '" . $CAT_ARTICLES[$idcat]['id_left'] . "' AND id_right >= '" . $CAT_ARTICLES[$idcat]['id_right'] . "'", __LINE__, __FILE__);
        ###### Regénération du cache #######
        $Cache->Generate_module_file('articles');
        import('content/syndication/feed');
        Feed::clear_cache('articles');
        redirect(HOST . DIR . '/articles/admin_articles.php');
    } else {
        redirect(HOST . DIR . '/articles/admin_articles_add.php?error=incomplete#errorh');
    }
} elseif (!empty($_POST['previs'])) {
    $Template->set_filenames(array('admin_articles_add' => 'articles/admin_articles_add.tpl'));
    $title = retrieve(POST, 'title', '', TSTRING_UNCHANGE);
    $icon = retrieve(POST, 'icon', '', TSTRING_UNCHANGE);
    $icon_path = retrieve(POST, 'icon_path', '', TSTRING_UNCHANGE);
    $contents = retrieve(POST, 'contents', '', TSTRING_AS_RECEIVED);
    $contents_preview = htmlspecialchars(retrieve(POST, 'contents', '', TSTRING_UNCHANGE), ENT_COMPAT, 'ISO-8859-1');
    $idcat = retrieve(POST, 'idcat', 0);
    $current_date = retrieve(POST, 'current_date', '', TSTRING_UNCHANGE);
    $start = retrieve(POST, 'start', '', TSTRING_UNCHANGE);
    $end = retrieve(POST, 'end', '', TSTRING_UNCHANGE);
Esempio n. 23
0
function forum_generate_feeds()
{
    import('content/syndication/feed');
    Feed::clear_cache('forum');
}
 private function save()
 {
     $downloadfile = $this->get_downloadfile();
     $downloadfile->set_name($this->form->get_value('name'));
     $downloadfile->set_rewrited_name(Url::encode_rewrite($downloadfile->get_name()));
     $downloadfile->set_id_category($this->form->get_value('id_category')->get_raw_value());
     $downloadfile->set_url(new Url($this->form->get_value('url')));
     $downloadfile->set_contents($this->form->get_value('contents'));
     $downloadfile->set_short_contents($this->form->get_value('short_contents_enabled') ? $this->form->get_value('short_contents') : '');
     $downloadfile->set_picture(new Url($this->form->get_value('picture')));
     if ($this->config->is_author_displayed()) {
         $downloadfile->set_author_display_name($this->form->get_value('author_display_name') && $this->form->get_value('author_display_name') !== $downloadfile->get_author_user()->get_display_name() ? $this->form->get_value('author_display_name') : '');
     }
     $file_size = $status = 0;
     $file = new File($downloadfile->get_url()->rel());
     if ($file->exists()) {
         $file_size = $file->get_file_size();
     }
     if (empty($file_size)) {
         $file_headers = get_headers($downloadfile->get_url()->absolute(), true);
         if (is_array($file_headers)) {
             if (isset($file_headers['Content-Length'])) {
                 $file_size = $file_headers['Content-Length'];
             }
             if (preg_match('/^HTTP\\/[12]\\.[01] (\\d\\d\\d)/', $file_headers[0], $matches)) {
                 $status = (int) $matches[1];
             }
         }
     }
     $file_size = $status == 200 && empty($file_size) && $downloadfile->get_size() ? $downloadfile->get_size() : $file_size;
     $downloadfile->set_size($file_size);
     if ($this->get_downloadfile()->get_id() !== null && $downloadfile->get_number_downloads() > 0 && $this->form->get_value('reset_number_downloads')) {
         $downloadfile->set_number_downloads(0);
     }
     if ($this->is_contributor_member()) {
         $downloadfile->set_approbation_type(DownloadFile::NOT_APPROVAL);
         $downloadfile->clean_start_and_end_date();
     } else {
         $downloadfile->set_creation_date($this->form->get_value('creation_date'));
         $downloadfile->set_approbation_type($this->form->get_value('approbation_type')->get_raw_value());
         if ($downloadfile->get_approbation_type() == DownloadFile::APPROVAL_DATE) {
             $downloadfile->set_start_date($this->form->get_value('start_date'));
             if ($this->form->get_value('end_date_enable')) {
                 $downloadfile->set_end_date($this->form->get_value('end_date'));
             } else {
                 $downloadfile->clean_end_date();
             }
         } else {
             $downloadfile->clean_start_and_end_date();
         }
     }
     if ($this->is_new_downloadfile) {
         $id = DownloadService::add($downloadfile);
     } else {
         $downloadfile->set_updated_date(new Date());
         $id = $downloadfile->get_id();
         DownloadService::update($downloadfile);
     }
     $this->contribution_actions($downloadfile, $id);
     DownloadService::get_keywords_manager()->put_relations($id, $this->form->get_value('keywords'));
     Feed::clear_cache('download');
     DownloadCache::invalidate();
 }
Esempio n. 25
0
function forum_generate_feeds()
{
    Feed::clear_cache('forum');
}