searchWithDate($today); $stat_visit_teble->searchWithModule($module_name); $stat_visit_teble->searchWithUnacid($_W['uniacid']); $stat_visit_teble->searchWithType($type); $today_exist = $stat_visit_teble->get(); if (empty($today_exist)) { $insert_data = array( 'uniacid' => $_W['uniacid'], 'module' => $module_name, 'type' => $type, 'date' => $today, 'count' => 1, 'ip_count' => 0 ); pdo_insert('stat_visit', $insert_data); $today_exist = $insert_data; $today_exist['id'] = pdo_insertid(); } else { $data = array('count' => $today_exist['count'] + 1); pdo_update('stat_visit' , $data, array('id' => $today_exist['id'])); } if (!empty($today_exist['id'])) { $ip = ip2long(getip()); $stat_ip_visit_table = table('stat_visit_ip'); $stat_ip_visit_table->searchWithIp($ip); $stat_ip_visit_table->searchWithDate($today); $ip_today_exist = $stat_ip_visit_table->get(); if (empty($ip_today_exist)) { $ip_insert_data = array( 'ip' => $ip, 'uniacid' => $_W['uniacid'], 'module' => $module_name, 'type' => $type, 'date' => $today, ); pdo_insert('stat_visit_ip', $ip_insert_data); pdo_update('stat_visit', array('ip_count' => $today_exist['ip_count'] + 1), array('id' => $today_exist['id'])); } } return true; } function visit_system_update($system_stat_visit, $displayorder = false) { global $_W; load()->model('user'); load()->model('account'); if (user_is_founder($_W['uid'])) { return true; } if (empty($system_stat_visit['uniacid']) && empty($system_stat_visit['modulename'])) { return true; } if (empty($system_stat_visit['uid'])) { return true; } $condition['uid'] = $_W['uid']; if (!empty($system_stat_visit['uniacid'])) { $account_info = uni_fetch($system_stat_visit['uniacid']); $type = $account_info->typeSign; $own_uniacid = uni_owned($_W['uid'], false, $type); $uniacids = !empty($own_uniacid) ? array_keys($own_uniacid) : array(); if (empty($uniacids) || !in_array($system_stat_visit['uniacid'], $uniacids)) { return true; } $condition['uniacid'] = $system_stat_visit['uniacid']; } if (!empty($system_stat_visit['modulename'])) { $user_modules = user_modules($_W['uid']); $modules = !empty($user_modules) ? array_keys($user_modules) : array(); if (empty($modules) || !in_array($system_stat_visit['modulename'], $modules)) { return true; } $condition['modulename'] = $system_stat_visit['modulename']; } $system_stat_info = pdo_get('system_stat_visit', $condition); if (empty($system_stat_info['createtime'])) { $system_stat_visit['createtime'] = TIMESTAMP; } if (empty($system_stat_visit['updatetime'])) { $system_stat_visit['updatetime'] = TIMESTAMP; } if (!empty($displayorder)) { $system_stat_max_order = pdo_fetchcolumn("SELECT MAX(displayorder) FROM " . tablename('system_stat_visit') . " WHERE uid = :uid", array(':uid' => $_W['uid'])); $system_stat_visit['displayorder'] = ++$system_stat_max_order; } if (empty($system_stat_info)) { pdo_insert('system_stat_visit', $system_stat_visit); } else { $system_stat_visit['updatetime'] = TIMESTAMP; pdo_update('system_stat_visit', $system_stat_visit, array('id' => $system_stat_info['id'])); } return true; } function visit_system_delete($uid) { load()->model('user'); $user_modules = user_modules($uid); $modules = !empty($user_modules) ? array_keys($user_modules) : array(); $old_modules = table('system_stat_visit')->getVistedModule($uid); if (empty($old_modules)) { return true; } $old_modules = array_column($old_modules, 'modulename'); $delete_modules = array_diff($old_modules, $modules); if (!empty($modules)) { table('system_stat_visit')->deleteVisitRecord($uid, $delete_modules); return true; } table('system_stat_visit')->deleteVisitRecord($uid); return true; }