/** * User Contact activity. It's for contacting to user directly from profile show page * @author Howard <*****@*****.**> * @static * @param type $params * @return boolean */ public static function contact_profile($params) { $replacements = $params[0]; $notification = new wpl_notifications('email'); $notification->prepare(3, $replacements); /** Disabled **/ if (!$notification->notification_data['enabled']) { return false; } $user = wpl_users::get_user($params[0]['user_id']); $notification->replacements = $notification->set_replacements($replacements); $notification->rendered_content = $notification->render_notification_content(); $notification->recipients = $notification->set_recipients(array($user->data->user_email)); $notification->send(); return true; }
/** * Sends welcome email to user after registeration * @author Howard <*****@*****.**> * @static * @param array $params * @return boolean */ public static function user_registered($params) { $replacements = $params[0]; $notification = new wpl_notifications('email'); $notification->prepare(5, $replacements); /** Disabled **/ if (!$notification->notification_data['enabled']) { return false; } $user = wpl_users::get_user($params[0]['user_id']); $replacements['name'] = isset($user->data->wpl_data) ? $user->data->wpl_data->first_name : $user->data->display_name; $replacements['password'] = $params[0]['password']; $replacements['username'] = $user->data->user_login; $link = wpl_global::get_wp_site_url(); $replacements['site_address'] = '<a target="_blank" href="' . $link . '">' . $link . '</a>'; $notification->replacements = $notification->set_replacements($replacements); $notification->rendered_content = $notification->render_notification_content(); $notification->recipients = $notification->set_recipients(array($user->data->user_email)); $notification->send(); return true; }
/** * Generate email files of user * @author Howard R <*****@*****.**> * @static * @param int $user_id */ public static function generate_email_files($user_id) { /** import library **/ _wpl_import('libraries.images'); $user_data = (array) wpl_users::get_user($user_id); $path = wpl_items::get_path($user_id, 2); /** delete images **/ if (wpl_file::exists($path . 'main_email.png')) { wpl_file::delete($path . 'main_email.png'); } if (wpl_file::exists($path . 'second_email.png')) { wpl_file::delete($path . 'second_email.png'); } if (is_object($user_data['data']) and trim($user_data['data']->wpl_data->main_email) != '') { wpl_images::text_to_image($user_data['data']->wpl_data->main_email, '000000', $path . 'main_email.png'); } if (is_object($user_data['data']) and trim($user_data['data']->wpl_data->secondary_email) != '') { wpl_images::text_to_image($user_data['data']->wpl_data->secondary_email, '000000', $path . 'second_email.png'); } }
/** * For creating admin bar menu * @author Howard <*****@*****.**> * @global object $wp_admin_bar */ public function wpl_admin_bar_menu() { $cur_user_id = wpl_users::get_cur_user_id(); $cur_user_data = wpl_users::get_user($cur_user_id); $cur_role = wpl_users::get_role($cur_user_id, false); $wpl_roles = wpl_users::get_wpl_roles(); $menus = wpl_global::get_menus('menu', 'backend'); $submenus = wpl_global::get_menus('submenu', 'backend'); global $wp_admin_bar; /** generate pages object **/ $controller = new wpl_controller(); if (wpl_users::is_administrator($cur_user_id) or $cur_user_data->data->wpl_data->id) { /** add menus **/ foreach ($menus as $menu) { $menu_slug = (!wpl_users::is_administrator($cur_user_id) and $menu->capability != 'current') ? 'wpl_admin_profile' : $menu->menu_slug; $wp_admin_bar->add_menu(array('id' => $menu->menu_slug, 'title' => __($menu->menu_title, WPL_TEXTDOMAIN), 'href' => wpl_global::get_wp_admin_url() . 'admin.php?page=' . $menu_slug)); } /** add sub menus **/ foreach ($submenus as $submenu) { if (!wpl_users::has_menu_access($submenu->menu_slug)) { continue; } if (!wpl_users::is_administrator($cur_user_id) and $submenu->capability != 'current') { continue; } $menu_title = $submenu->separator ? $controller->wpl_add_separator() . __($submenu->menu_title, WPL_TEXTDOMAIN) : __($submenu->menu_title, WPL_TEXTDOMAIN); $wp_admin_bar->add_menu(array('id' => $submenu->menu_slug, 'parent' => $submenu->parent, 'title' => $menu_title, 'href' => wpl_global::get_wp_admin_url() . 'admin.php?page=' . $submenu->menu_slug)); } } }
/** * Sets recipients * @author Howard R <*****@*****.**> * @param array $recipients * @return array */ public function set_recipients($recipients) { if (!is_array($recipients)) { $recipients = array($recipients); } $ex = trim($this->notification_data['additional_memberships']) != '' ? explode(',', $this->notification_data['additional_memberships']) : array(); if (is_array($ex) and count($ex) >= 1) { foreach ($ex as $value) { array_push($recipients, $value); } } $ex = trim($this->notification_data['additional_users']) != '' ? explode(',', $this->notification_data['additional_users']) : array(); if (is_array($ex) and count($ex) >= 1) { foreach ($ex as $value) { array_push($recipients, $value); } } $ex = trim($this->notification_data['additional_emails']) != '' ? explode(',', $this->notification_data['additional_emails']) : array(); if (is_array($ex) and count($ex) >= 1) { foreach ($ex as $value) { array_push($recipients, $value); } } $emails = array(); foreach ($recipients as $recipient) { /** user **/ if (is_numeric($recipient) and $recipient >= 0) { $user_data = wpl_users::get_user($recipient); array_push($emails, array($user_data->ID, $user_data->user_email)); } elseif (is_numeric($recipient) and $recipient < 0) { $users = wpl_users::get_wpl_users("AND `membership_id`='{$recipient}'"); foreach ($users as $user) { array_push($emails, array($user->ID, $user->user_email)); } } elseif (is_string($recipient)) { $user_id = wpl_users::get_id_by_email($recipient); if (!$user_id) { $user_id = 0; } array_push($emails, array($user_id, $recipient)); } } return $emails; }
private function generate_edit_page($user_id = '') { $this->user_info = wpl_users::get_user($user_id); $this->fields = wpl_db::columns('wpl_users'); $this->user_data = wpl_users::get_wpl_user($user_id); $this->data = $this->user_data; $this->units = wpl_units::get_units(4); $this->listings = wpl_listing_types::get_listing_types(); $this->property_types = wpl_property_types::get_property_types(); $this->memberships = wpl_users::get_wpl_memberships(); $this->membership_types = wpl_users::get_membership_types(); parent::render($this->tpl_path, 'edit'); exit; }
/** * Sets Dublin Core Meta Tags * @author Howard <*****@*****.**> * @return boolean */ public function dublincore() { $settings = wpl_global::get_settings(); $dc_status = isset($settings['dc_status']) ? $settings['dc_status'] : false; /** check status of geo tags **/ if (!$dc_status) { return false; } $current_link_url = wpl_global::get_full_url(); $html = wpl_html::getInstance(); /** WPL views and WordPress views (Page/Post) **/ if (trim($this->view) != '' and $dc_status == 2 or $dc_status == 1) { if (trim($settings['dc_coverage']) != '') { $html->set_custom_tag('<meta name="DC.coverage" content="' . $settings['dc_coverage'] . '" />'); } if (trim($settings['dc_contributor']) != '') { $html->set_custom_tag('<meta name="DC.contributor" content="' . $settings['dc_contributor'] . '" />'); } if (trim($settings['dc_publisher']) != '') { $html->set_custom_tag('<meta name="DC.publisher" content="' . $settings['dc_publisher'] . '" />'); } if (trim($settings['dc_copyright']) != '') { $html->set_custom_tag('<meta name="DC.rights" content="' . $settings['dc_copyright'] . '" />'); } if (trim($settings['dc_source']) != '') { $html->set_custom_tag('<meta name="DC.source" content="' . $settings['dc_source'] . '" />'); } if (trim($settings['dc_relation']) != '') { $html->set_custom_tag('<meta name="DC.relation" content="' . $settings['dc_relation'] . '" />'); } $html->set_custom_tag('<meta name="DC.type" content="Text" />'); $html->set_custom_tag('<meta name="DC.format" content="text/html" />'); $html->set_custom_tag('<meta name="DC.identifier" content="' . $current_link_url . '" />'); $locale = apply_filters('plugin_locale', get_locale(), WPL_TEXTDOMAIN); $html->set_custom_tag('<meta name="DC.language" scheme="RFC1766" content="' . $locale . '" />'); } if ($this->view == 'property_show') { $proeprty_id = wpl_request::getVar('pid'); $property_data = wpl_property::get_property_raw_data($proeprty_id); $user_data = (array) wpl_users::get_user($property_data['user_id']); $html->set_custom_tag('<meta name="DC.title" content="' . $this->property_page_title . '" />'); $html->set_custom_tag('<meta name="DC.subject" content="' . $this->property_page_title . '" />'); $html->set_custom_tag('<meta name="DC.description" content="' . $this->property_description . '" />'); $html->set_custom_tag('<meta name="DC.date" content="' . $property_data['add_date'] . '" />'); $html->set_custom_tag('<meta name="DC.creator" content="' . $user_data['data']->user_login . '" />'); } elseif ($this->view == 'profile_show') { $user_id = wpl_request::getVar('uid'); $user_data = (array) wpl_users::get_user($user_id); $html->set_custom_tag('<meta name="DC.title" content="' . $this->user_title . '" />'); $html->set_custom_tag('<meta name="DC.subject" content="' . $this->user_title . '" />'); $html->set_custom_tag('<meta name="DC.description" content="' . $this->user_description . '" />'); $html->set_custom_tag('<meta name="DC.date" content="' . $user_data['data']->user_registered . '" />'); $html->set_custom_tag('<meta name="DC.creator" content="' . $user_data['data']->user_login . '" />'); } elseif (is_single()) { $post_author_id = wpl_global::get_post_field('post_author'); $author_username = wpl_global::get_the_author_meta('user_login', $post_author_id); $html->set_custom_tag('<meta name="DC.title" content="' . wpl_global::get_the_title() . '" />'); $html->set_custom_tag('<meta name="DC.subject" content="' . wpl_global::get_the_title() . '" />'); $html->set_custom_tag('<meta name="DC.date" content="' . wpl_global::get_the_date() . '" />'); $html->set_custom_tag('<meta name="DC.creator" content="' . $author_username . '" />'); } }