Пример #1
0
<?php

$page = "wall_action";
include "header.php";
if (isset($_POST['id'])) {
    $action_id = $_POST['id'];
} elseif (isset($_GET['id'])) {
    $action_id = $_GET['id'];
}
$where_clause = he_database::placeholder("se_actions.action_id=?", $action_id);
$wall_action = he_wall::actions_display(0, $setting['setting_actions_actionsonprofile'], $where_clause);
$wall_action = $wall_action[0];
if (!$setting['setting_he_wall_guest_view'] && $user->level_info['level_wall_allowed'] == 0) {
    $page = "error";
    $smarty->assign('error_header', 639);
    $smarty->assign('error_message', 690706102);
    $smarty->assign('error_submit', 641);
    include "footer.php";
}
$action_info = he_wall::get_action_info($action_id);
if (!$action_info) {
    he_wall::delete_action_notify($action_id);
}
if (!$wall_action) {
    $page = "error";
    $smarty->assign('error_header', 639);
    $smarty->assign('error_message', 690706081);
    $smarty->assign('error_submit', 641);
    include "footer.php";
}
$action_wall_owner = he_wall::get_wall_owner($action_info['action_object_owner'], $action_info['action_object_owner_id']);
Пример #2
0
function he_wall_actions_display($wall_object, $wall_object_id, $first_id = false, $last_id = false)
{
    global $user, $setting, $smarty;
    $setting_actions_visibility = 0;
    $setting_actions_actionsper = $setting['setting_actions_actionsonprofile'];
    if ($wall_object == 'user') {
        $owner = new se_user(array($wall_object_id));
        $actiontype_ids = he_wall::get_actiontype_ids();
        $actiontype_ids_str = implode(',', $actiontype_ids);
        $where_clause .= "\r\n             IF ( \r\n                se_actions.action_actiontype_id IN ({$actiontype_ids_str}),\r\n                ( se_actions.action_object_owner='user' AND se_actions.action_object_owner_id='{$owner->user_info['user_id']}'),\r\n                se_actions.action_user_id='{$owner->user_info['user_id']}'\r\n             )\r\n            ";
    } elseif ($wall_object == 'userhome') {
        $owner = new se_user(array($wall_object_id));
        $setting_actions_visibility = 10;
        $setting_actions_actionsper = $setting['setting_actions_actionsperuser'];
        $where_clause .= "1";
    } elseif ($wall_object == 'group') {
        $owner = new se_group($user->user_info['user_id'], $wall_object_id);
        $privacy_max = $owner->user_rank;
        $allow_post = (int) ($privacy_max != -1);
        $setting_actions_visibility = 10;
        $setting_actions_actionsper = $setting['setting_actions_actionsonprofile'];
        $where_clause .= "se_actions.action_object_owner='group' AND se_actions.action_object_owner_id='{$wall_object_id}'";
    } elseif ($wall_object == 'pages') {
        $setting_actions_visibility = 10;
        $where_clause .= " se_actions.action_object_owner='pages' AND se_actions.action_object_owner_id='{$wall_object_id}'";
    } else {
        $where_clause .= '';
    }
    $hidden_action_ids = he_wall::get_hidden_actions($user->user_info['user_id']);
    if ($hidden_action_ids) {
        $where_clause .= $where_clause != '' ? " AND " : '';
        $where_clause .= " se_actions.action_id NOT IN (" . implode(',', $hidden_action_ids) . ")";
    }
    $wall_actions = he_wall::actions_display($setting_actions_visibility, $setting_actions_actionsper, $where_clause, $last_id, $first_id);
    $action_owner_ids = array();
    foreach ($wall_actions as $key => $wall_action) {
        $action_owner_ids[] = $wall_action['action_user_id'];
    }
    $action_owner_ids = array_unique($action_owner_ids);
    $action_owners = he_wall::get_users($action_owner_ids);
    $action_ids = array();
    foreach ($wall_actions as $key => $wall_action) {
        $action_ids[] = $wall_action['action_id'];
        $wall_actions[$key]['owner'] = $action_owners[$wall_action['action_user_id']];
    }
    $action_likes = he_wall::get_likes($action_ids);
    $action_comments = he_wall::get_comments($action_ids);
    $video_actiontype_id = he_wall::video_actiontype_id();
    $smarty->assign('wall_actions', $wall_actions);
    $smarty->assign('action_likes', $action_likes);
    $smarty->assign('action_comments', $action_comments);
    $smarty->assign('video_actiontype_id', $video_actiontype_id);
    return array('action_ids' => $action_ids, 'html' => he_wall_include_footer_logic('he_wall_actions.tpl'));
}