PluginProbe
ShiftController Employee Shift Scheduling / 2.2.1
ShiftController Employee Shift Scheduling v2.2.1
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.1, at application/modules/wordpress/models/wordpress_user_model.php

90 lines 1.6 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
33 if( ! $user_level )
34 return;
35
36 $user->level = $user_level;
37 $user->password = hc_random();
38 }
39
40 if( $wuser->user_firstname )
41 {
42 $user->first_name = $wuser->user_firstname;
43 $user->last_name = $wuser->user_lastname;
44 }
45 else
46 {
47 $user->first_name = $wuser->display_name;
48 }
49
50 if( $wuser->user_email )
51 {
52 if( $is_new OR ($wuser->user_email != $user->email) )
53 {
54 // check if this email already exists
55 $um = new User_Model;
56 $um->where( 'email', $wuser->user_email )->get();
57 if( $um->exists() )
58 {
59 if( $is_new )
60 {
61 // update id in our table
62 $um->where('id', $um->id)->update('id', $id);
63 $user->id = $id;
64 }
65 else
66 {
67 $user->id = $um->id;
68 }
69 $is_new = FALSE;
70 }
71 $user->email = $wuser->user_email;
72 }
73 }
74
75 if(
76 ( $is_new && $user->save_as_new() )
77 OR
78 ( (! $is_new) && $user->save() )
79 )
80 {
81 $return = TRUE;
82 }
83 else
84 {
85 $return = TRUE;
86 }
87 return $return;
88 }
89 }
90