cot_install_config_replace($config_contents, 'defaulttheme', $rtheme); cot_install_config_replace($config_contents, 'defaultscheme', $rscheme); cot_install_config_replace($config_contents, 'mainurl', $cfg['mainurl']); $new_site_id = cot_unique(32); cot_install_config_replace($config_contents, 'site_id', $new_site_id); $new_secret_key = cot_unique(32); cot_install_config_replace($config_contents, 'secret_key', $new_secret_key); file_put_contents($file['config'], $config_contents); $ruserpass['user_passsalt'] = cot_unique(16); $ruserpass['user_passfunc'] = empty($cfg['hashfunc']) ? 'sha256' : $cfg['hashfunc']; $ruserpass['user_password'] = cot_hash($user['pass'], $ruserpass['user_passsalt'], $ruserpass['user_passfunc']); try { $db->insert($db_x . 'users', array('user_name' => $user['name'], 'user_password' => $ruserpass['user_password'], 'user_passsalt' => $ruserpass['user_passsalt'], 'user_passfunc' => $ruserpass['user_passfunc'], 'user_maingrp' => COT_GROUP_SUPERADMINS, 'user_country' => (string) $user['country'], 'user_email' => $user['email'], 'user_theme' => $rtheme, 'user_scheme' => $rscheme, 'user_lang' => $rlang, 'user_regdate' => time(), 'user_lastip' => $_SERVER['REMOTE_ADDR'])); $user['id'] = $db->lastInsertId(); $db->insert($db_x . 'groups_users', array('gru_userid' => (int) $user['id'], 'gru_groupid' => COT_GROUP_SUPERADMINS)); $db->update($db_x . 'config', array('config_value' => $user['email']), "config_owner = 'core' AND config_name = 'adminemail'"); } catch (PDOException $err) { cot_error(cot_rc('install_error_sql_script', array('msg' => $err->getMessage()))); } } break; case 4: // Dependency check $install = true; foreach ($selected_modules as $ext) { $install &= cot_extension_dependencies_statisfied($ext, true, $selected_modules, $selected_plugins); } foreach ($selected_plugins as $ext) { $install &= cot_extension_dependencies_statisfied($ext, false, $selected_modules, $selected_plugins); } if ($install && !cot_error_found()) {
if ($usr['lastlog'] > $usr['lastvisit']) { $usr['lastvisit'] = $usr['lastlog']; $user_log['user_lastvisit'] = $usr['lastvisit']; } // Generate new security token $token = cot_unique(16); $sys['xk_prev'] = $sys['xk']; $sys['xk'] = $token; $user_log['user_token'] = $token; } if (!$cfg['authcache'] || empty($row['user_auth'])) { $usr['auth'] = cot_auth_build($usr['id'], $usr['maingrp']); $cfg['authcache'] && ($user_log['user_auth'] = serialize($usr['auth'])); } $user_log['user_lastlog'] = $sys['now']; $db->update($db_users, $user_log, "user_id={$usr['id']}"); unset($u, $passhash, $oldhash, $hashsalt, $hashsaltprev, $user_log); } } } } if ($usr['id'] == 0) { if (!$cot_guest_auth) { $cot_guest_auth = cot_auth_build(0); $cache && $cache->db->store('cot_guest_auth', $cot_guest_auth, 'system'); } $usr['auth'] = $cot_guest_auth; unset($cot_guest_auth); $usr['theme'] = $cfg['defaulttheme']; $usr['scheme'] = $cfg['defaultscheme']; $usr['lang'] = $cfg['defaultlang'];