PageRenderTime 61ms CodeModel.GetById 32ms RepoModel.GetById 0ms app.codeStats 1ms

/administration/component/user/user.php

https://github.com/durand54/caresite
PHP | 321 lines | 301 code | 8 blank | 12 comment | 27 complexity | 42cb16bc2b0bf33f8505a1d8182d13d6 MD5 | raw file
  1. <?php
  2. global $my,$system;
  3. defined('_VALID_PAGE') or die('Direct access not allowed');
  4. global $system;
  5. //session_start();
  6. //echo "this is system: ".system::getComponentPath('user','/administration');
  7. //require_once(system::getComponentPath('user','/administration').'/user_html.php');
  8. require_once('user_html.php');
  9. //require(system::getComponentPath('eauto').'/eauto_db.php');
  10. require_once('includeAdmin/eauto_db.php');
  11. $task=html::getInput($_GET,'task','list');
  12. switch($task){
  13. case 'listsubscribers':
  14. list_subscribers();
  15. break;
  16. case 'subscriber':
  17. subscriber();
  18. break;
  19. case 'login':
  20. login();
  21. break;
  22. case 'logout':
  23. logout();
  24. break;
  25. case 'user':
  26. user();
  27. break;
  28. case 'preferences':
  29. preferences();
  30. break;
  31. case 'export_users':
  32. case 'export_subscribers':
  33. export();
  34. break;
  35. default:
  36. list_subscribers();
  37. }
  38. function list_subscribers(){
  39. global $my,$system;
  40. if($my->admin_id==''){
  41. $system->errors[]=_ERROR_NO_LOGIN;
  42. return;
  43. }
  44. userHtml::listSubscribers();
  45. }
  46. function subscriber(){
  47. global $my,$system;
  48. if($my->admin_id==''){
  49. $system->errors[]='No Login';
  50. return;
  51. }
  52. $SubscriberID=html::getInput($_GET,'id');
  53. if($SubscriberID){
  54. $subscriber_row=subscriberDB::getAccess($SubscriberID);
  55. if($subscriber_row->adminid !=''
  56. && $subscriber_row->adminid!=$my->admin_id
  57. && ($subscriber_row->diff_time < 300 && $subscriber_row->diff_time > 0)){
  58. $system->errors[]='Sorry Subscriber is in use.';
  59. userHtml::listSubscribers();
  60. return;
  61. }
  62. db::updateByColumn('subscriberinfo','SubscriberID',
  63. $SubscriberID,array('access_time'=>'curtime()','adminid'=>$my->admin_id));
  64. }
  65. $userHtml= new userHtml;
  66. $userHtml->SubscriberID=$SubscriberID;
  67. $action=html::getInput($_GET,'action');
  68. switch($action){
  69. case 'setmaster':
  70. $userid=html::getInput($_GET,'userid');
  71. //db::updateByColumn('user','SubscriberID',$SubscriberID,array('Master'=>"'0'"));
  72. //db::updateByColumn('user','UserID',$userid,array('Master'=>"'1'"));
  73. break;
  74. case 'subscribe0000':
  75. $startdate=date("Ymd");
  76. $enddate=date("Ymd",mktime(0, 0, 0, date("m"), date("d"), date("Y")+1));
  77. $serviceid=html::getInput($_GET,'serviceid');
  78. $sets=array(
  79. 'SubscriberID'=>"'$SubscriberID'",
  80. 'serviceid'=>"'$serviceid'",
  81. 'StartDate'=>"'$startdate'",
  82. 'EndDate'=>"'$enddate'"
  83. );
  84. db::insert('accesslevel',$sets);
  85. // header("location:index.php?comp=user&task=subscriber&id=$SubscriberID");
  86. // exit;
  87. break;
  88. case 'unsubscribe0000':
  89. $serviceid=html::getInput($_GET,'serviceid');
  90. db::deleteByColumns(
  91. 'accesslevel',
  92. array('SubscriberID'=>"'$SubscriberID'",'serviceid'=>"'$serviceid'")
  93. );
  94. break;
  95. case 'delete_user':
  96. $confirm=html::getInput($_GET,'confirm');
  97. if($confirm=='yes'){
  98. $UserID=html::getInput($_GET,'uid');
  99. db::deleteByColumn('user','UserID',$UserID);
  100. }else if($confirm=='no'){
  101. }else{
  102. $UserID=html::getInput($_GET,'uid');
  103. $system->breadcrumbs['Subscribers']='index.php?comp=user';
  104. $system->breadcrumbs['Edit Subscriber']="index.php?comp=user&task=subscriber&id=$SubscriberID";
  105. $system->breadcrumbs['Confirm Delete User']='';
  106. $row=db::fetchObjectByColumn('user','UserID',$UserID);
  107. $userHtml=new userHtml;
  108. $userHtml->prompt="Are you sure you want to delete User $row->UserName?<br />";
  109. $userHtml->location='#user';
  110. $userHtml->confirm();
  111. return;
  112. }
  113. break;
  114. case 'delete':
  115. $confirm=html::getInput($_GET,'confirm');
  116. if($confirm=='yes'){
  117. $SubscriberID=html::getInput($_GET,'id');
  118. db::deleteByColumn('accesslevel','SubscriberID',$SubscriberID);
  119. db::deleteByColumn('user','SubscriberID',$SubscriberID);
  120. db::deleteByColumn('subscriberinfo','SubscriberID',$SubscriberID);
  121. $system->messages[]='Subscriber successfully deleted.';
  122. $userHtml->listSubscribers();
  123. return;
  124. }else if($confirm=='no'){
  125. header("location:index.php?comp=user");
  126. exit;
  127. }else{
  128. $system->breadcrumbs['Subscribers']='index.php?comp=user';
  129. $system->breadcrumbs['Confirm Delete Subscriber']='';
  130. $id=html::getInput($_GET,'id');
  131. $row=db::fetchObjectByColumn('subscriberinfo','SubscriberID',$id);
  132. $userHtml=new userHtml;
  133. $userHtml->prompt="Are you sure you want to delete Subscriber $row->CompanyName?<br />";
  134. $userHtml->prompt.="This will delete all the Users.";
  135. $userHtml->confirm();
  136. return;
  137. }
  138. }
  139. $submit=html::getInput($_POST,'submit');
  140. if($submit=='subscriber'){
  141. $fields=array(
  142. 'CompanyName'=>'Company Name',
  143. 'Address1'=>'Address',
  144. 'Address2'=>'',
  145. 'City'=>'City',
  146. 'State'=>'State',
  147. 'ZipCode'=>'Zip Code',
  148. 'Country'=>'Country',
  149. 'DaytimePhone'=>'Day time phone',
  150. 'EveningPhone'=>'',
  151. 'FaxNumber'=>'',
  152. 'Identification'=>'',
  153. 'SubscriberSince'=>'',
  154. 'History'=>''
  155. );
  156. $sets=html::getPosts($fields,$userHtml);
  157. if(!$system->errors){
  158. db::addQuotes($sets);
  159. if($SubscriberID){
  160. db::updateBycolumn('subscriberinfo','SubscriberID',$SubscriberID,$sets);
  161. $system->messages[]='Your changes have been saved.';
  162. }else{
  163. $sets['adminid']=$my->admin_id;
  164. $sets['access_time']='curtime()';
  165. $userHtml->SubscriberID=db::insert('subscriberinfo',$sets);
  166. }
  167. $userHtml->subscriber();
  168. return;
  169. }
  170. }else if($submit=='service'){
  171. db::deleteByColumn('accesslevel','SubscriberID',$SubscriberID);
  172. foreach($_POST as $name=>$value){
  173. if($value=='on'){
  174. $StartDate=html::getInput($_POST,"StartDate_$name");
  175. $EndDate=html::getInput($_POST,"EndDate_$name");
  176. list($month,$day,$year)=explode("/",$StartDate);
  177. $StartDate="$year$month$day";
  178. list($month,$day,$year)=explode("/",$EndDate);
  179. $EndDate="$year$month$day";
  180. db::insert('accesslevel',array(
  181. 'SubscriberID'=>"'$SubscriberID'",
  182. 'serviceid'=>"'$name'",
  183. 'StartDate'=>"'$StartDate'",
  184. 'EndDate'=>"'$EndDate'"
  185. ));
  186. }
  187. }
  188. $system->messages[]='Your changes have been saved.';
  189. }
  190. $userHtml->subscriber();
  191. }
  192. function login(){
  193. global $system;
  194. $username=html::getInput($_POST,'username');
  195. $password=html::getInput($_POST,'password');
  196. $result=systemDB::getAdminLogin($username,$password);
  197. //echo $result;
  198. // if(mysql_num_rows($result)==1){
  199. // $row=mysql_fetch_object($result);
  200. if($result !=''){
  201. $_SESSION['admin_id']=$result;
  202. //echo $_SESSION['admin_id'];
  203. header('location: index.php');
  204. exit;
  205. }else{
  206. $system->error=_EROR_BAD_LOGIN;
  207. }
  208. }
  209. function logout(){
  210. $sessionName = session_id();
  211. $sessionCookie = session_get_cookie_params();
  212. function logoutIndex(){
  213. $_SESSION = array();
  214. if (ini_get("session.use_cookies")) {
  215. $params = session_get_cookie_params();
  216. setcookie(session_name(), '', time() - 42000,
  217. $params["path"], $params["domain"],
  218. $params["secure"], $params["httponly"]
  219. );
  220. }
  221. session_unset();
  222. session_destroy();
  223. }
  224. logoutIndex();
  225. header('location: index.php?comp=user&task=login');
  226. exit;
  227. }
  228. function user(){
  229. global $system,$my;
  230. if($my->admin_id==''){
  231. $system->errors[]=_ERROR_NO_LOGIN;
  232. return;
  233. }
  234. $userHtml= new userHtml;
  235. $UserID=html::getInput($_GET,'id');
  236. $SubscriberID=html::getInput($_GET,'sid');
  237. $userHtml->SubscriberID=$SubscriberID;
  238. $submit=html::getInput($_POST,'submit');
  239. if($submit=='user'){
  240. $fields=array(
  241. 'UserName'=>'Username',
  242. 'FirstName'=>'First Name',
  243. 'MiddleInitial'=>'',
  244. 'LastName'=>'Last Name',
  245. 'Title'=>'',
  246. 'PhoneNumber'=>'',
  247. 'EmailAddress'=>'Email',
  248. 'Password'=>'Password');
  249. $sets=html::getPosts($fields,$userHtml);
  250. if(!$system->errors){
  251. db::addQuotes($sets);
  252. if($UserID!=''){
  253. $user_row=db::fetchObjectByColumn('user','UserID',$UserID);
  254. db::updateBycolumn('user','UserID',$UserID,$sets);
  255. }else{
  256. $row=db::fetchObjectByColumn('matrixprefs','PrefName','YearIncrement');
  257. $sets['SubscriberID']="'$SubscriberID'";
  258. $sets['YearIncrement']="'$row->PrefValue'";
  259. db::insert('user',$sets);
  260. $UserID=mysql_insert_id();
  261. }
  262. $Master=html::getInput($_POST,'Master');
  263. if($Master=='on'){
  264. db::updateByColumn('user','SubscriberID',$SubscriberID,array('Master'=>"'0'"));
  265. db::updateByColumn('user','UserID',$UserID,array('Master'=>"'1'"));
  266. }
  267. if($user_row->Master){
  268. $system->messages[]='A change has been successfully made to the Master User account.';
  269. }else{
  270. $system->messages[]='A change has been successfully made to a user account.';
  271. }
  272. $userHtml->subscriber();
  273. return;
  274. }
  275. }
  276. $userHtml->editUser();
  277. }
  278. function preferences(){
  279. global $system,$my;
  280. if($my->admin_id==''){
  281. $system->errors[]=_ERROR_NO_LOGIN;
  282. return;
  283. }
  284. $userHTML=new userHTML;
  285. $id=$my->id;
  286. $submit=html::getInput($_POST,'submit');
  287. if($submit=='preferences'){
  288. $fields=array(
  289. 'BegYear'=>'Default beginning year',
  290. 'YearIncrement'=>'Number of years');
  291. $sets=html::getPosts($fields,$userHTML);
  292. db::addQuotes($sets);
  293. if(!$system->errors){
  294. db::updateByColumn('matrixprefs','PrefID',1,array('PrefValue'=>$sets['BegYear']));
  295. db::updateByColumn('matrixprefs','PrefID',2,array('PrefValue'=>$sets['YearIncrement']));
  296. }
  297. $system->messages[]='Your preferences have been saved.';
  298. }
  299. $userHTML->preferences();
  300. }
  301. function export(){
  302. $task=html::getInput($_GET,'task','');
  303. switch($task){
  304. case 'export_subscribers':
  305. userHTML::exportSubscribers();
  306. break;
  307. case 'export_users':
  308. userHTML::exportUsers();
  309. break;
  310. }
  311. exit;
  312. }
  313. ?>