PluginProbe
ShiftController Employee Shift Scheduling / 2.2.2
ShiftController Employee Shift Scheduling v2.2.2
4.9.97 4.9.96 4.9.95 4.9.74 4.9.75 4.9.76 4.9.77 4.9.78 4.9.84 4.9.85 4.9.87 4.9.91 4.9.92 trunk 2.1.0 2.1.1 2.1.2 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 3.2.4 All 38 releases
shiftcontroller / application / modules / wordpress / models / wordpress_user_model.php

wordpress_user_model.php in ShiftController Employee Shift Scheduling 2.2.2, at application/modules/wordpress/models/wordpress_user_model.php

95 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 class Wordpress_User_Model
3 {
4 public function wp_roles()
5 {
6 global $wp_roles;
7 if( ! isset($wp_roles) )
8 {
9 $wp_roles = new WP_Roles();
10 }
11 $return = $wp_roles->get_names();
12 return $return;
13 }
14
15 public function sync( $id )
16 {
17 $wuser = get_user_by( 'id', $id );
18
19 $user = new User_Model;
20 $user->get_by_id( $id );
21 $is_new = $user->exists() ? FALSE : TRUE;
22
23 if( $is_new )
24 {
25 /* check new user level */
26 $CI =& ci_get_instance();
27
28 $wp_role = ( $wuser->roles && is_array($wuser->roles) && isset($wuser->roles[0]) ) ? $wuser->roles[0] : '';
29
30 $k = 'wordpress_' . 'role_' . $wp_role;
31 $user_level = $CI->app_conf->get( $k );
32 if( $wp_role == 'administrator' )
33 {
34 $user_level = USER_MODEL::LEVEL_ADMIN;
35 }
36
37 if( ! $user_level )
38 return;
39
40 $user->level = $user_level;
41 $user->password = hc_random();
42 }
43
44 if( $wuser->user_firstname )
45 {
46 $user->first_name = $wuser->user_firstname;
47 $user->last_name = $wuser->user_lastname;
48 }
49 else
50 {
51 $user->first_name = $wuser->display_name;
52 }
53
54 if( $wuser->user_email )
55 {
56 if( $is_new OR ($wuser->user_email != $user->email) )
57 {
58 // check if this email already exists
59 $um = new User_Model;
60 $um->where( 'email', $wuser->user_email )->get();
61 if( $um->exists() )
62 {
63 if( $is_new )
64 {
65 // update id in our table
66 $um->where('id', $um->id)->update('id', $id);
67 $user->id = $id;
68 }
69 else
70 {
71 $user->id = $um->id;
72 }
73 $is_new = FALSE;
74 }
75 $user->email = $wuser->user_email;
76 }
77 }
78
79 $user->active = USER_MODEL::STATUS_ACTIVE;
80 if(
81 ( $is_new && $user->save_as_new() )
82 OR
83 ( (! $is_new) && $user->save() )
84 )
85 {
86 $return = TRUE;
87 }
88 else
89 {
90 $return = TRUE;
91 }
92 return $return;
93 }
94 }
95