function get_feed_data_struct($idcat = 0) { global $Cache, $Sql, $LANG, $MEDIA_LANG, $CONFIG, $MEDIA_CONFIG, $MEDIA_CATS; $Cache->load('media'); load_module_lang('media'); require_once PATH_TO_ROOT . '/media/media_constant.php'; require_once PATH_TO_ROOT . '/media/media_cats.class.php'; import('content/syndication/feed_data'); import('util/date'); import('util/url'); $data = new FeedData(); $data->set_title($MEDIA_LANG['xml_media_desc']); $data->set_date(new Date()); $data->set_link(new Url('/syndication.php?m=media&cat=' . $idcat)); $data->set_host(HOST); $data->set_desc($MEDIA_LANG['xml_media_desc']); $data->set_lang($LANG['xml_lang']); $data->set_auth_bit(MEDIA_AUTH_READ); $cats = new MediaCats(); $children_cats = array(); $cats->build_children_id_list($idcat, $children_cats, RECURSIVE_EXPLORATION, ADD_THIS_CATEGORY_IN_LIST); $result = $Sql->query_while("SELECT id, idcat, name, contents, timestamp FROM " . PREFIX . "media WHERE infos = '" . MEDIA_STATUS_APROBED . "' AND idcat IN (" . implode($children_cats, ',') . " ) ORDER BY timestamp DESC" . $Sql->limit(0, $MEDIA_CONFIG['pagin']), __LINE__, __FILE__); while ($row = $Sql->fetch_assoc($result)) { $item = new FeedItem(); $link = new Url('/media/media' . url('.php?id=' . $row['id'], '-' . $row['id'] . '+' . url_encode_rewrite($row['name']) . '.php')); $item->set_title($row['name']); $item->set_link($link); $item->set_guid($link); $item->set_desc(second_parse($row['contents'])); $item->set_date(new Date(DATE_TIMESTAMP, TIMEZONE_SYSTEM, $row['timestamp'])); $item->set_image_url($MEDIA_CATS[$row['idcat']]['image']); $item->set_auth($cats->compute_heritated_auth($row['idcat'], MEDIA_AUTH_READ, AUTH_PARENT_PRIORITY)); $data->add_item($item); } $Sql->query_close($result); return $data; }
$Sql->query_inject("INSERT INTO " . PREFIX . "media (idcat, iduser, timestamp, name, contents, url, mime_type, infos, width, height, users_note) VALUES ('" . $media['idcat'] . "', '" . $User->Get_attribute('user_id') . "', '" . time() . "', '" . $media['name'] . "', '" . strparse($media['contents']) . "', '" . $media['url'] . "', '" . $media['mime_type'] . "', " . "'" . ($User->check_auth($auth_cat, MEDIA_AUTH_WRITE) ? MEDIA_STATUS_APROBED : 0) . "', '" . $media['width'] . "', '" . $media['height'] . "', '')", __LINE__, __FILE__); $new_id_media = $Sql->insert_id("SELECT MAX(id) FROM " . PREFIX . "media"); $media_categories->recount_media_per_cat($media['idcat']); import('content/syndication/feed'); Feed::clear_cache('media'); if (!$auth_write) { import('events/contribution'); import('events/contribution_service'); $media_contribution = new Contribution(); $media_contribution->set_id_in_module($new_id_media); $media_contribution->set_description(stripslashes($media['counterpart'])); $media_contribution->set_entitled(stripslashes(sprintf($MEDIA_LANG['contribution_entitled'], $media['name']))); $media_contribution->set_fixing_url('/media/media_action.php?edit=' . $new_id_media); $media_contribution->set_poster_id($User->get_attribute('user_id')); $media_contribution->set_module('media'); $media_contribution->set_auth(Authorizations::capture_and_shift_bit_auth(Authorizations::merge_auth($MEDIA_CATS[0]['auth'], $media_categories->compute_heritated_auth($media['idcat'], MEDIA_AUTH_WRITE, AUTH_CHILD_PRIORITY), MEDIA_AUTH_WRITE, AUTH_CHILD_PRIORITY), MEDIA_AUTH_WRITE, CONTRIBUTION_AUTH_BIT)); ContributionService::save_contribution($media_contribution); redirect(HOST . DIR . '/media/contribution.php?cat=' . $media['idcat']); } else { redirect_confirm('media' . url('.php?id=' . $new_id_media), $MEDIA_LANG['add_success'], TIME_REDIRECT); } } else { $Errorh->handler('e_auth', E_USER_REDIRECT); exit; } } else { $Errorh->handler('e_auth', E_USER_REDIRECT); exit; } $Template->pparse('media_action'); require_once '../kernel/footer.php';