function xt_admin_ajax_album_update() { $result = array('code' => 0, 'msg' => '', 'result' => array()); if (!current_user_can('manage_options')) { $result['code'] = 500; $result['msg'] = '您无权操作此功能'; } if (!isset($_POST['id']) || empty($_POST['id'])) { $result['code'] = 500; $result['msg'] = '未指定专辑'; } $id = intval(trim($_POST['id'])); $cids = isset($_POST['cids']) ? $_POST['cids'] : ''; if ($result['code'] == 0) { global $wpdb; $query = "SELECT t.*, tr.id AS album_id FROM " . XT_TABLE_CATALOG . " AS t INNER JOIN " . XT_TABLE_ALBUM_CATALOG . " AS tr ON t.id = tr.cid WHERE t.type = 'album' AND tr.id =" . $id . " ORDER BY t.sort ASC,t.count DESC"; $term = $wpdb->get_results($query); $old = array(); if (!empty($term)) { foreach ($term as $_term) { $old[] = $_term->id; } } $cids = array_map('intval', explode(',', $cids)); if (empty($cids)) { $cids = array(); } $deleteIds = array_diff($old, $cids); //delete $addIds = array_diff($cids, $old); //add if (!empty($deleteIds)) { foreach ($deleteIds as $del) { xt_delete_album_catalog($del, $id); } } if (!empty($addIds)) { foreach ($addIds as $add) { xt_new_album_catalog(array('cid' => $add, 'id' => $id)); } } $album = xt_get_album($id); $term = $wpdb->get_results($query); //reload xt_update_catalog_terms_cache($id, $term, 'album'); exit(xt_row_album($album, isset($_POST['alternate']) && $_POST['alternate'] ? 0 : 1)); } exit(json_encode($result)); }
function xt_ajax_album_update() { $result = array('code' => 0, 'msg' => '', 'result' => array()); if (!isset($_POST['album_id'])) { $result['code'] = 500; $result['msg'] = '未指定专辑'; } if (!isset($_POST['title'])) { $result['code'] = 500; $result['msg'] = '未指定专辑名称'; } $album_id = absint($_POST['album_id']); $title = strip_tags($_POST['title']); $content = strip_tags($_POST['content']); $user = wp_get_current_user(); if ($user->exists()) { $album = xt_get_album($album_id); if (empty($album)) { $result['code'] = 500; $result['msg'] = '当前指定的专辑不存在'; } else { if ($album->user_id != $user->ID) { $result['code'] = 500; $result['msg'] = '您无权修改此专辑'; } if ($album->title != $title) { $title_album = xt_get_album(0, $title); if (!empty($title_album)) { $result['code'] = 2000; $result['msg'] = '专辑名称已存在'; } } } } else { $result['code'] = 500; $result['msg'] = '未登录'; } if ($result['code'] == 0) { global $wpdb; $wpdb->update(XT_TABLE_ALBUM, array('title' => $title, 'content' => $content), array('id' => $album_id)); } exit(json_encode($result)); }
public function autoShare($params = array()) { global $wpdb; $count = 0; if (!empty($params) && isset($params['albums']) && !empty($params['albums'])) { $albums = json_decode(stripslashes($params['albums']), true); if (!empty($albums) && is_array($albums)) { foreach ($albums as $album_id => $value) { if (!empty($value) && is_array($value) && isset($value['cron']) && !empty($value['cron']) && isset($value['shares']) && !empty($value['shares'])) { $album = xt_get_album($album_id); if (!empty($album)) { $cron = $value['cron']; $shares = $value['shares']; $user_id = $album->user_id; $user_name = $album->user_name; if (is_array($shares)) { $values = array(); foreach ($shares as $share) { $share_key = $wpdb->escape($share['share_key']); $cache_data = $wpdb->escape($share['cache_data']); $values[] = "('{$share_key}','{$album_id}','{$user_id}','{$user_name}','{$cron}','{$cache_data}')"; } if (!empty($values)) { $sql = "INSERT IGNORE INTO `" . XT_TABLE_SHARE_CRON . "`(`share_key`,`album_id`,`user_id`,`user_name`,`create_date`,`cache_data`) VALUES " . implode(',', $values); $count += $wpdb->query($sql); } } } } } } } elseif (!empty($params) && isset($params['crons']) && !empty($params['crons'])) { $crons = json_decode(stripcslashes($params['crons']), true); $cron = $crons['cron']; $shares = $crons['shares']; $users = array(); if (!empty($shares) && is_array($shares)) { $values = array(); $admins = get_users(array('role' => 'administrator', 'number' => 1)); if (!empty($admins)) { $_user_name = $admins[0]->user_login; if (!empty($admins[0]->display_name)) { $_user_name = $admins[0]->display_name; } $users[0] = $_user_name; } foreach ($shares as $share) { $share_key = $wpdb->escape($share['share_key']); $cache_data = $wpdb->escape($share['cache_data']); $user_id = absint($wpdb->escape($share['user_id'])); if ($user_id > 0 && !isset($users[$user_id])) { $_user = new WP_User($user_id); if ($_user->exists()) { $_user_name = $_user->user_login; if (!empty($_user->display_name)) { $_user_name = $_user->display_name; } $users[$user_id] = $_user_name; } } if (isset($users[$user_id]) && !empty($users[$user_id])) { $user_name = $users[$user_id]; $values[] = "('{$share_key}','0','{$user_id}','{$user_name}','{$cron}','{$cache_data}')"; } } if (!empty($values)) { $sql = "INSERT IGNORE INTO `" . XT_TABLE_SHARE_CRON . "`(`share_key`,`album_id`,`user_id`,`user_name`,`create_date`,`cache_data`) VALUES " . implode(',', $values); $count += $wpdb->query($sql); } } } if ($count > 0) { if (isset($params['now']) && !empty($params['now'])) { xt_cron_autoshare(); } return $count; } return true; }
function xt_screens() { global $xt, $wp_query, $xt_catalog, $xt_user, $xt_album, $xt_taobao_item, $xt_template_name; if (xt_is_404()) { if (is_home()) { xt_clear_404(); $xt->is_xintao = true; $xt->is_index = true; $xt_template_name = 'home'; } elseif (is_front_page()) { if (is_page(xt_base()) && !isset($wp_query->query_vars['xt_action'])) { xt_clear_404(); $xt->is_xintao = true; $xt->is_index = true; $xt_template_name = 'home'; } elseif (!isset($wp_query->query_vars['xt_action'])) { $xt->is_xintao = false; } } } if (is_404() && !$xt->is_xintao) { $xt->is_xintao = true; xt_set_404(); } if ($xt->is_xintao) { if (isset($_GET['invite']) && absint($_GET['invite']) > 0) { setcookie(XT_USER_PARENT, (string) $_GET['invite'], time() + 1296000, COOKIEPATH, COOKIE_DOMAIN); } $xt_share_param = isset($wp_query->query_vars['xt_param']) ? $wp_query->query_vars['xt_param'] : ''; if ($xt->is_shares) { query_shares($xt_share_param); if (isset($xt_share_param['s']) && !empty($xt_share_param['s'])) { //设置搜索词 $wp_query->set('s', $xt_share_param['s']); } if (absint($xt_share_param['cid']) > 0) { $_term = xt_get_catalog($xt_share_param['cid']); if (!empty($_term)) { $xt_catalog = $_term; } } } elseif ($xt->is_albums) { query_albums($xt_share_param); if (isset($xt_share_param['s']) && !empty($xt_share_param['s'])) { //设置搜索词 $wp_query->set('s', $xt_share_param['s']); } } elseif ($xt->is_share) { $xt_user = null; if (absint($xt_share_param) > 0) { query_shares(array('id' => absint($xt_share_param))); if (xt_have_shares()) { xt_the_share(); $xt_user = new WP_User(get_the_share_userid()); if (!empty($xt_user) && $xt_user->ID != 0) { xt_setup_single_userdata(); } else { xt_set_404(); } } else { xt_set_404(); } } else { xt_set_404(); } } elseif ($xt->is_user) { $xt_user = null; if (absint($xt_share_param) > 0) { $uid = absint($xt_share_param); $_user = wp_get_current_user(); if ($_user->exists()) { if ($_user->ID == $uid) { $xt_user = $_user; } } if (empty($xt_user) || $xt_user->ID == 0) { $_user = new WP_User($uid); if ($_user && $_user->ID != 0) { $xt_user = $_user; } } if (!empty($xt_user) && $xt_user->ID != 0) { xt_setup_single_userdata(); } } if (empty($xt_user) || $xt_user->ID == 0) { xt_set_404(); } } elseif ($xt->is_account) { $xt_user = wp_get_current_user(); if ($xt_user->exists()) { //xt_setup_single_userdata(); } else { xt_set_404(); wp_safe_redirect(site_url('wp-login.php')); exit; } } elseif ($xt->is_album) { $xt_user = null; $xt_album = null; if (absint($xt_share_param) > 0) { $xt_album = xt_get_album($xt_share_param); if (!empty($xt_album)) { $_user = wp_get_current_user(); if ($_user->exists()) { if ($_user->ID == $xt_album->user_id) { $xt_user = $_user; } else { $xt_user = new WP_User($xt_album->user_id); } } else { $xt_user = new WP_User($xt_album->user_id); } if (!empty($xt_user) && $xt_user->ID > 0) { xt_setup_single_userdata(); // query_albums(array ( // 'page' => 1, // 'album_per_page' => 20, // 'user_id' => $xt_album->user_id // )); //当前专辑所属用户的前20个专辑 query_shares(array('album_id' => absint($xt_share_param), 'page' => 1, 'share_per_page' => 40, 'user_id' => $xt_album->user_id)); } //当前专辑内的宝贝 } if (empty($xt_album) || empty($xt_user) || $xt_user->ID == 0) { xt_set_404(); } } } elseif ($xt->is_page) { } elseif ($xt->is_invite) { $xt_user = null; if (absint($xt_share_param) > 0) { $xt_user = new WP_User(absint($xt_share_param)); } if (empty($xt_user) || $xt_user->ID == 0) { xt_set_404(); } else { $user = wp_get_current_user(); if (!$user->exists()) { //15days setcookie(XT_USER_PARENT, (string) $xt_user->ID, time() + 1296000, COOKIEPATH, COOKIE_DOMAIN); } } } elseif ($xt->is_taobao) { $xt_taobao_item = xt_taobao_item($xt_share_param, "detail_url,num_iid,title,nick,props_name,cid,pic_url,num,location,price,post_fee,express_fee,ems_fee,item_img,prop_imgs"); if (is_wp_error($xt_taobao_item)) { xt_set_404(); } } if (xt_is_404()) { $xt_template_name = 'error404'; } if ($xt->is_login) { xt_load_template('xt-login', true, true); } elseif ($xt->is_jump) { xt_load_template('xt-jump', true, true); } elseif ($xt->is_sitemap) { xt_load_template('xt-sitemap', true, true); } else { xt_load_template('xt-template', true, true); } } }
/** * deletes a album. * */ function xt_delete_album($id) { global $wpdb; $count = 0; $_album = xt_get_album($id); if (!empty($_album)) { //1.favorite $wpdb->delete(XT_TABLE_FAVORITE, array('id' => $id, 'type' => 2)); //2.share $wpdb->delete(XT_TABLE_SHARE_ALBUM, array('album_id' => $id)); //3.catalog xt_delete_album_catalog(0, $id); //4.album $wpdb->delete(XT_TABLE_ALBUM, array('id' => $id)); $count = xt_update_user_album_count($_album->user_id); } return $count; }
function xt_insert_album_catalog($catalogdata) { global $wpdb; extract(stripslashes_deep($catalogdata), EXTR_SKIP); $_catalog = xt_get_catalog($cid); $_album = xt_get_album($id); if (!empty($_catalog) && !empty($_album)) { $data = compact('id', 'cid', 'create_date_gmt'); if ($wpdb->insert(XT_TABLE_ALBUM_CATALOG, $data)) { $count = xt_update_catalog_count($cid, 'album'); return $id; } } return 0; }