public static function curlRequest($url) { if (kernel::Configuration("apcSupport") || kernel::Configuration("memcachedSupport")) { if (process::check($url)) { return process::fetch($url); } else { return process::store($url, self::uncachedRequest($url)); } } else { return self::uncachedRequest($url); } }
/** * 初始化,未启用内存保存时默认使用lock表存储 * * @param unknown_type $type */ private static function init($type){ if (C('cache_open')){ self::$lock = Cache::getInstance('cacheredis'); }else{ self::$lock = new lock(); } if (!isset(self::$processid[$type])){ $ip = sprintf('%u',ip2long(getIp())); self::$processid[$type] = str_pad($ip,10,'0').self::parsekey($type);; self::$lockid[$type] = str_pad($ip,11,'0').self::parsekey($type);; } }
/** * 登录操作 * */ public function indexOp(){ $lang = Language::getLangContent(); $model_member = Model('member'); //检查登录状态 $model_member->checkloginMember(); $script="document.getElementsByName('codeimage')[0].src='".APP_SITE_URL."/index.php?act=seccode&op=makecode&nchash='+NC_HASH+'&t=' + Math.random();"; $result = chksubmit(true,true,'num'); if ($result !== false){ if ($result === -11){ showDialog(L('login_index_login_illegal'),'','error',$script,2); }elseif ($result === -12){ showDialog(L('login_index_wrong_checkcode'),'','error',$script,2); } if (process::islock('login')) { showDialog(L('login_index_op_repeat'),APP_SITE_URL); } $array = array(); $array['member_name'] = $_POST['user_name']; $array['member_passwd'] = md5($_POST['password']); $member_info = $model_member->infoMember($array); if(is_array($member_info) and !empty($member_info)) { if(!$member_info['member_state']){ showDialog($lang['login_index_account_stop']); } } else { process::addprocess('login'); showDialog($lang['login_index_login_fail'],'','error',$script,2); } $model_member->createSession($member_info); process::clear('login'); // cookie中的cart存入数据库 Model('cart')->mergecart($member_info,$_SESSION['store_id']); // cookie中的浏览记录存入数据库 Model('goods_browse')->mergebrowse($_SESSION['member_id'],$_SESSION['store_id']); //添加会员积分 $model_member->addPoint($member_info); showDialog(L('login_index_login_success'),'reload','succ','',2); } if(empty($_GET['ref_url'])) $_GET['ref_url'] = getReferer(); Tpl::output('html_title',C('site_name').' - '.$lang['login_index_login']); Tpl::output('nchash',getNchash()); if ($_GET['inajax'] == 1){ Tpl::showpage('login_inajax','null_layout'); }else{ return false; } }
function createProcessSection($section_process_list, $section_id, $module) { $section = new section($section_id); $section->changeID($section_id); $i = 0; foreach ($section_process_list as $module_page) { $process = new process($section_id . " " . $module_page); $process->module["name"] = $module; $process->module["section"] = $section_id; $process->module["page"] = $module_page; if ($module_page != "index" or $module_page != "list") { $process->status = "core"; } $process->setProcessID(); $process_id = $process->getID(); $section->addContent($process); if ($i == 0) { $section->setDefault($process_id); } $i += 1; } //superprint($section); return $section; }
/** * 不进行父类的登录验证,所以增加构造方法重写了父类的构造方法 */ public function __construct() { Language::read('common,layout,login'); $result = chksubmit(true, true, 'num'); if ($result) { if ($result === -11) { showMessage('非法请求'); } // if ($result === -12){ // showMessage(L('login_index_checkcode_wrong')); // } //var_dump($_POST['captcha']); if (process::islock('admin')) { showMessage('您的操作过于频繁,请稍后再试'); } $obj_validate = new Validate(); $obj_validate->validateparam = array(array("input" => $_POST["user_name"], "require" => "true", "message" => L('login_index_username_null')), array("input" => $_POST["password"], "require" => "true", "message" => L('login_index_password_null')), array("input" => $_POST["captcha"], "require" => "true", "message" => L('login_index_checkcode_null'))); $error = $obj_validate->validate(); if ($error != '') { showMessage(L('error') . $error); } else { $model_admin = Model('admin'); $array = array(); $array['admin_name'] = $_POST['user_name']; $array['admin_password'] = md5(trim($_POST['password'])); $admin_info = $model_admin->infoAdmin($array); if (is_array($admin_info) and !empty($admin_info)) { $this->systemSetKey(array('name' => $admin_info['admin_name'], 'id' => $admin_info['admin_id'], 'gid' => $admin_info['admin_gid'], 'sp' => $admin_info['admin_is_super'])); $update_info = array('admin_id' => $admin_info['admin_id'], 'admin_login_num' => $admin_info['admin_login_num'] + 1, 'admin_login_time' => TIMESTAMP); $model_admin->updateAdmin($update_info); $this->log(L('nc_login'), 1); process::clear('admin'); @header('Location: index.php'); exit; } else { process::addprocess('admin'); showMessage(L('login_index_username_password_wrong'), 'index.php?act=login&op=login'); } } } Tpl::output('html_title', L('login_index_need_login')); Tpl::showpage('login', 'login_layout'); }
/** * 注册 重复注册验证 好商城v3-b10 */ public function registerOp() { if (process::islock('reg')) { output_error('您的操作过于频繁,请稍后再试'); } $model_member = Model('member'); $register_info = array(); $register_info['username'] = $_POST['username']; $register_info['password'] = $_POST['password']; $register_info['password_confirm'] = $_POST['password_confirm']; $register_info['email'] = $_POST['email']; //添加奖励积分 v3-b12 $register_info['inviter_id'] = intval(base64_decode($_COOKIE['uid'])) / 1; $member_info = $model_member->register($register_info); if (!isset($member_info['error'])) { process::addprocess('reg'); $token = $this->_get_token($member_info['member_id'], $member_info['member_name'], $_POST['client']); if ($token) { output_data(array('username' => $member_info['member_name'], 'key' => $token)); } else { output_error('注册失败'); } } else { output_error($member_info['error']); } }
/** * 商品咨询添加 */ public function save_consultOp() { //检查是否可以评论 if (!C('guest_comment') && !$_SESSION['member_id']) { showDialog(L('goods_index_goods_noallow')); } $goods_id = intval($_POST['goods_id']); if ($goods_id <= 0) { showDialog(L('wrong_argument')); } //咨询内容的非空验证 if (trim($_POST['goods_content']) == "") { showDialog(L('goods_index_input_consult')); } //表单验证 $result = chksubmit(true, C('captcha_status_goodsqa'), 'num'); if (!$result) { showDialog(L('invalid_request')); } elseif ($result === -11) { showDialog(L('invalid_request')); } elseif ($result === -12) { showDialog(L('wrong_checkcode')); } if (process::islock('commit')) { showDialog(L('nc_common_op_repeat')); } else { process::addprocess('commit'); } if ($_SESSION['member_id']) { //查询会员信息 $member_model = Model('member'); $member_info = $member_model->getMemberInfo(array('member_id' => $_SESSION['member_id'])); if (empty($member_info) || $member_info['is_allowtalk'] == 0) { showDialog(L('goods_index_goods_noallow')); } } //判断商品编号的存在性和合法性 $goods = Model('goods'); $goods_info = $goods->getGoodsInfoByID($goods_id, 'goods_name,store_id'); if (empty($goods_info)) { showDialog(L('goods_index_goods_not_exists')); } //判断是否是店主本人 if ($_SESSION['store_id'] && $goods_info['store_id'] == $_SESSION['store_id']) { showDialog(L('goods_index_consult_store_error')); } //检查店铺状态 $store_model = Model('store'); $store_info = $store_model->getStoreInfoByID($goods_info['store_id']); if ($store_info['store_state'] == '0' || intval($store_info['store_state']) == '2' || intval($store_info['store_end_time']) != 0 && $store_info['store_end_time'] <= time()) { showDialog(L('goods_index_goods_store_closed')); } //接收数据并保存 $input = array(); $input['goods_id'] = $goods_id; $input['goods_name'] = $goods_info['goods_name']; $input['member_id'] = intval($_SESSION['member_id']) > 0 ? $_SESSION['member_id'] : 0; $input['member_name'] = $_SESSION['member_name'] ? $_SESSION['member_name'] : ''; $input['store_id'] = $store_info['store_id']; $input['store_name'] = $store_info['store_name']; $input['ct_id'] = intval($_POST['consult_type_id']); $input['consult_addtime'] = TIMESTAMP; if (strtoupper(CHARSET) == 'GBK') { $input['consult_content'] = Language::getGBK($_POST['goods_content']); } else { $input['consult_content'] = $_POST['goods_content']; } $input['isanonymous'] = $_POST['hide_name'] == 'hide' ? 1 : 0; $consult_model = Model('consult'); if ($consult_model->addConsult($input)) { showDialog(L('goods_index_consult_success'), 'reload', 'succ'); } else { showDialog(L('goods_index_consult_fail')); } }
function createNewObject($object_type, $post_vars, $system_data_classes, $object_save = 0) { if (!$object_type) { return false; } if (!in_array($object_type, $system_data_classes)) { return false; } switch ($object_type) { case "page": $object = new page("new page"); $object->update_document_props($post_vars); if ($object_save == 1) { $object->createContent(); $object->save(); } break; case "process": $object = new process("new process"); $object->update_document_props($post_vars); $object->update_design_props($post_vars); if ($object_save == 1) { $object->save(); } break; case "section": $object = new section("new section"); $object->update_document_props($post_vars); if ($object_save == 1) { $object->createContent(); $object->save(); } break; case "image": $object = new image("new image"); $object->update_document_props($post_vars); if ($object_save == 1) { $object->save(); } break; case "file": $object = new file("new file"); $object->update_document_props($post_vars); if ($object_save == 1) { $object->save(); } break; default: break; } return $object; }
public function importAction() { $process = new process('import'); if ($process->get('state') == 'running') { // Если процесс запущен, то останавливаем текущий и перезапускаем Zend_Registry::get('logger')->log("Stop import by process stuff " . __CLASS__ . '::' . __FUNCTION__ . ', line ' . __LINE__, Zend_Log::ERR); die('Stop import by process'); } $process->save_state('running')->save_command(''); // Запускаем процесс импорта && Очищаем команду для процесса $pp = new project_partner(); $partners = $pp->select($count, array('filter' => array('status' => '1'))); $alert_report_str = ''; $import_report_str = 'Import start ' . date('H:i:s') . '<br>'; foreach ($partners as $id => $partner) { $import_report_str .= ' ' . $partner->get('name') . date(' H:i:s') . '<br>'; Zend_Registry::get('logger')->log("Start import partner " . $partner->get('id') . ' in ' . __CLASS__ . '::' . __FUNCTION__ . ', line ' . __LINE__, Zend_Log::INFO); $results = $partner->parse_yml(); Zend_Registry::get('logger')->log("Stop import partner " . $partner->get('id') . ' in ' . __CLASS__ . '::' . __FUNCTION__ . ', line ' . __LINE__, Zend_Log::INFO); if (is_array($results) && count($results)) { foreach ($results as $shop_id => $result) { $import_report_str .= " shop: {$result['name']} (id = {$shop_id})<br>"; $import_report_str .= " YML: {$result['yml']}<br>"; if (isset($result['details']['total_imported'])) { $import_report_str .= " imported: {$result['details']['total_imported']}<br>"; $import_report_str .= " available: {$result['details']['total_available']}<br>"; } if (isset($result['details']['total_imported']) && $result['details']['total_imported'] == 0) { $alert_report_str .= "<br> shop: {$result['name']} - total imported: 0<br>"; } if (isset($result['details']['total_available']) && $result['details']['total_available'] == 0) { $alert_report_str .= "<br> shop: {$result['name']} - total available: 0<br>"; } } } $import_report_str .= ' done! ' . date('H:i:s') . '<br><br>'; sleep(2); } $import_report_str .= 'Import done ' . date('H:i:s') . '<br><br>'; // Обновляем цены у подарков $gift = new gift(); $gift->update_prices(); $this->check_waiting_giftsAction(); sleep(2); $this->kill_slashesAction(false); sleep(2); $gift->cache_commit('all'); $et = new email_template('import_results'); $et->assign('IMPORT_RESULTS', $import_report_str)->assign('ALERT_RESULTS', $alert_report_str)->send('*****@*****.**'); $process->save_state('stopped')->save_command(''); // Запускаем процесс импорта && Очищаем команду для процесса die($import_report_str); }
/** * 找回密码的发邮件处理 */ public function find_passwordOp() { Language::read('home_login_register'); $lang = Language::getLangContent(); $result = chksubmit(true, true, 'num'); if ($result !== false) { if ($result === -11) { showDialog('非法提交'); } elseif ($result === -12) { showDialog('验证码错误'); } } if (empty($_POST['username'])) { showDialog($lang['login_password_input_username']); } if (process::islock('forget')) { showDialog($lang['nc_common_op_repeat'], 'reload'); } $member_model = Model('member'); $member = $member_model->getMemberInfo(array('member_name' => $_POST['username'])); if (empty($member) or !is_array($member)) { process::addprocess('forget'); showDialog($lang['login_password_username_not_exists'], 'reload'); } if (empty($_POST['email'])) { showDialog($lang['login_password_input_email'], 'reload'); } if (strtoupper($_POST['email']) != strtoupper($member['member_email'])) { process::addprocess('forget'); showDialog($lang['login_password_email_not_exists'], 'reload'); } process::clear('forget'); //产生密码 $new_password = random(15); if (!$member_model->editMember(array('member_id' => $member['member_id']), array('member_passwd' => md5($new_password)))) { showDialog($lang['login_password_email_fail'], 'reload'); } $model_tpl = Model('mail_templates'); $tpl_info = $model_tpl->getTplInfo(array('code' => 'reset_pwd')); $param = array(); $param['site_name'] = C('site_name'); $param['user_name'] = $_POST['username']; $param['new_password'] = $new_password; $param['site_url'] = SHOP_SITE_URL; $subject = ncReplaceText($tpl_info['title'], $param); $message = ncReplaceText($tpl_info['content'], $param); $email = new Email(); $result = $email->send_sys_email($_POST["email"], $subject, $message); showDialog('新密码已经发送至您的邮箱,请尽快登录并更改密码!', '', 'succ', '', 5); }
<?php include_once 'control/process.php'; $con = new process(); if (file_exists("uploads/contracts/contracts.csv")) { $contracts = array_map("str_getcsv", file("uploads/contracts/contracts.csv", FILE_SKIP_EMPTY_LINES)); } else { echo 'File does not exist please upload file for cotracts data'; echo '<br/>'; echo '<a href="upload_contracts.php">here...</a>'; die; } if (file_exists("uploads/awards/awards.csv")) { $awards = array_map("str_getcsv", file("uploads/awards/awards.csv", FILE_SKIP_EMPTY_LINES)); } else { echo 'File does not exist please upload file for awards data'; echo '<br/>'; echo '<a href="upload_contracts.php">here...</a>'; die; } $file = fopen("uploads/output/final.csv", "w"); // $data = $con->contracts($contracts) ; // $con->awards($awards); $data = $con->processData($awards, $contracts, $file); //$res=$con->select($table); ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>PHP csv Data process </title> </head>
$parent->updateContent($object); $parent->save(); } break; case "design": $object->update_document_props($post_vars); //superprint($object); $parent_file = $object->parent; $parent = file_load_object($parent_file); if ($parent) { $parent->updateContent($object); $parent->save(); } case "create": //superprint($_POST); $object = new process("new process"); /* $process->module = "admin"; $process->class = ""; $process->name = "index"; */ $object->update_document_props($post_vars); $object->setProcessID(); $object->save(); //superprint($object); //exit; break; case "delete": //superprint($_GET);exit; $object->delete(); break;
/** * 找回密码的(手机处理) */ public function find_password_mobileOp() { Language::read('home_login_register'); $lang = Language::getLangContent(); $result = chksubmit(true, true, 'num'); if ($result !== false) { if ($result === -11) { showDialog('非法提交'); } elseif ($result === -12) { showDialog('验证码错误'); } } $username = trim($_POST['username']); $password = trim($_POST['password']); $member_mobile = trim($_POST['mobile']); $mobile_code = trim($_POST['mobile_code']); if (empty($username)) { showDialog($lang['login_password_input_username']); } if (process::islock('forget')) { showDialog($lang['nc_common_op_repeat'], 'reload'); } //zmr>>> if (!$_SESSION['mobile_auth_code']) { showDialog('手机验证码未获取到', '', 'error'); } $new_code = $_SESSION['mobile_auth_code']; if ($mobile_code == '') { showDialog('手机验证码不能为空', '', 'error'); } if ($new_code != $mobile_code) { showDialog('手机验证码不正确', '', 'error'); } $_SESSION['mobile_auth_code'] = ''; //zmr<<< $member_model = Model('member'); $member = $member_model->getMemberInfo(array('member_name' => $username)); if (empty($member) or !is_array($member)) { process::addprocess('forget'); showDialog($lang['login_password_username_not_exists'], 'reload'); } if (empty($member_mobile)) { showDialog('请输入手机号码', 'reload'); } if (strtoupper($member_mobile) != strtoupper($member['member_mobile'])) { process::addprocess('forget'); showDialog('此用户名绑定的手机号码不是' . $member_mobile, 'reload'); } process::clear('forget'); //产生密码 $new_password = $password; if (!$member_model->editMember(array('member_id' => $member['member_id']), array('member_passwd' => md5($new_password)))) { showDialog('更新会员密码时出错', 'reload'); } showDialog('更新密码成功', 'index.php?act=member&op=home', 'succ'); }
/** * @return mixed */ function quickQuery() { //get the number of function arguments $numberOfArgs = func_num_args(); //get all items in function $argsList = func_get_args(); $items = null; $itemsForBinding = null; // define what each index of an array is $statementOptions = array('db' => '', 'table' => '', 'fields' => '', 'values' => ''); //merge define array with user input to have array indexes and values $statementItems = array_merge($statementOptions, end($argsList)); self::$dbInfo = $statementItems['db']; $table = $statementItems['table']; //fields used for database fields $fields = $statementItems['fields']; $start = "<div style='width: 100%; margin: 0 auto; padding: 2%;box-shadow: 0 0 5px #ccc; height: auto; color:#ff4722'>"; $end = "</div>"; if ($numberOfArgs > 0) { for ($i = 0; $i < $numberOfArgs; $i++) { // $items .= ":".str_replace(' ','x_AcvSp_x',$argsList[$i]).','; if ($i > 0) { $items .= ":" . $this->generateRandomString() . ','; } $itemsForBinding .= $argsList[$i] . "~"; } } //remove the word array from the parameter, it's not needed as it is been passed $item_modified = str_replace(',:Array,', "", $items); $itemsForBinding_modified = str_replace('Array', "", $itemsForBinding); //add a comer to the list to be used as a binding value $imploded_Items = implode(', ', explode(',', substr(implode(', ', explode(' ', $item_modified)), 0, -1))); $itemsForBinding_modified_exploaded = explode('~', substr($itemsForBinding_modified, 0, -2)); $connect = $this->connect(); $stmt = $connect->prepare("INSERT INTO {$table} ({$fields})\n VALUES ({$imploded_Items})"); // array(3) { [0]=> string(6) "ite_m1" [1]=> string(7) "it__em2" [2]=> string(6) "it_em3" } $fieldsForBidning = explode(",", substr(implode("", explode(":", $item_modified)), 0, -1)); //join both the the fields and value(field will be used as the key and value as the value) $combined_arrays = array_combine($fieldsForBidning, $itemsForBinding_modified_exploaded); $i = 0; $final_combine = ''; foreach ($combined_arrays as $combined_keys => $combined_values) { $final_combine .= "\n" . "\$" . $combined_keys . "='" . $combined_values . "';" . "\n"; $i++; } $bindPara = ""; foreach ($combined_arrays as $k => $v) { //bind the values and fields here $bindedItem = ":" . $k; $bindedValue = "\$" . $k; $bindPara .= '$stmt->bindParam(' . "'{$bindedItem}'" . ',' . $bindedValue . ')' . ";" . "\n"; } $file = 'php/classes/db/db.bindParam.php'; if (!empty($final_combine)) { //open file to write to $openFileToWrite = fopen($file, 'w+'); fwrite($openFileToWrite, "<?php " . "\n" . $final_combine . "\n\n" . $bindPara . " ?>"); fclose($openFileToWrite); } if (file_exists($file)) { include $file; try { $stmt->execute(); //delete content of the file file_put_contents($file, ""); return true; } catch (PDOException $e) { // if any error messages, display a nice little message to the user echo $start . $e->getMessage() . $end; } } }
/** * 找回密码的发邮件处理 */ public function find_passwordOp(){ Language::read('home_login_register'); $lang = Language::getLangContent(); $result = chksubmit(true,true,'num'); if (!$result){ showDialog('非法提交'); }elseif ($result === -11){ showDialog('非法提交'); }elseif ($result === -12){ showDialog('验证码错误'); } if(empty($_POST['username'])){ showDialog($lang['login_password_input_username']); } if (process::islock('forget')) { showDialog($lang['nc_common_op_repeat'],'reload'); } $member_model = Model('member'); $member = $member_model->infoMember(array('member_name'=>$_POST['username'])); if(empty($member) or !is_array($member)){ process::addprocess('forget'); showDialog($lang['login_password_username_not_exists'],'reload'); } if(empty($_POST['email'])){ showDialog($lang['login_password_input_email'],'reload'); } if(strtoupper($_POST['email'])!=strtoupper($member['member_email'])){ process::addprocess('forget'); showDialog($lang['login_password_email_not_exists'],'reload'); } process::clear('forget'); //产生密码 $new_password = random(15); if(!($member_model->updateMember(array('member_passwd'=>md5($new_password)),$member['member_id']))){ showDialog($lang['login_password_email_fail'],'reload'); }else{ if(C('ucenter_status')) { /** * Ucenter处理 */ $model_ucenter = Model('ucenter'); $model_ucenter->userEdit(array('login_name'=>$_POST['username'],'','password'=>trim($new_password))); } } $cron_data = array('exetime'=>TIMESTAMP,'exeid'=>$member['member_id'],'type'=>2,'code'=>'email_touser_find_password', 'content'=>array(array( 'site_name' => $GLOBALS['setting_config']['site_name'], 'site_url' => SHOP_SITE_URL, 'user_name' => $_POST['username'], 'new_password' => $new_password ),false)); $this->addcron($cron_data,true); // $extend_js = "<script src='".SHOP_SITE_URL."/index.php?act=login&op=send_email'></script>"; // showMessage($lang['login_password_email_success'].$extend_js,SHOP_SITE_URL); //$this->send_emailOp(); $this->send_notice($member['member_id'],'email_touser_find_password',array( 'site_name' => $GLOBALS['setting_config']['site_name'], 'site_url' => SHOP_SITE_URL, 'user_name' => $_POST['username'], 'new_password' => $new_password ),false); showDialog($lang['login_password_email_success'],SHOP_SITE_URL,'succ'); }