/** * Constructor * * @access public */ function Zoo_visitor_cp() { // Creat EE Instance $this->EE =& get_instance(); $this->EE->load->helper('zoo_visitor'); $this->zoo_settings = get_zoo_settings($this->EE); }
/** * Extension Constructor */ function Zoo_visitor_ext() { $this->EE =& get_instance(); //$this->EE->load->add_package_path(PATH_THIRD . 'zoo_visitor/'); $this->EE->load->library('zoo_visitor_lib'); $this->EE->load->library('zoo_visitor_cp'); $this->EE->load->helper('zoo_visitor'); $this->zoo_settings = get_zoo_settings($this->EE); }
/** * Constructor * * @access public */ function Zoo_visitor_ft() { if (version_compare(APP_VER, '2.6.0', '<')) { parent::EE_Fieldtype(); } else { EE_Fieldtype::__construct(); } $this->EE->load->add_package_path(PATH_THIRD . 'zoo_visitor/'); $this->EE->load->library('zoo_visitor_lib'); $this->EE->load->helper('zoo_visitor'); $this->EE->lang->loadfile('zoo_visitor'); $this->zoo_settings = get_zoo_settings($this->EE); if (REQ == 'CP') { $this->EE->cp->add_to_head('<link rel="stylesheet" href="' . _theme_url($this->EE) . 'css/zoo_visitor.css" type="text/css" media="screen" /> '); } }
/** * Module Constructor */ function Zoo_visitor() { // Make a local reference to the ExpressionEngine super object $this->EE =& get_instance(); //$this->EE->load->add_package_path(PATH_THIRD . 'zoo_visitor/'); $this->EE->load->library('zoo_visitor_lib'); $this->EE->load->helper('zoo_visitor'); $this->settings = get_zoo_settings($this->EE); $this->parse_variables = array(); $this->parse_variables['error:username'] = ''; $this->parse_variables['error:screen_name'] = ''; $this->parse_variables['error:email'] = ''; $this->parse_variables['error:email_confirm'] = ''; $this->parse_variables['error:password'] = ''; $this->parse_variables['error:current_password'] = ''; $this->parse_variables['error:captcha'] = ''; $this->parse_variables['error:accept_terms'] = ''; }
/** * Save Invoice Module Settings */ function settings_save() { $settings = array(); unset($_POST["submit"]); $errors = ""; foreach ($_POST as $key => $val) { if ($key == "screen_name_override") { $pattern = "/{(.*?)}/"; preg_match_all($pattern, $val, $matches); $override_fields = isset($matches[1]) ? $matches[1] : array(); $screen_name_override = ''; $field_errors = ''; if (count($override_fields) > 0 && $val != '') { foreach ($override_fields as $field) { $this->EE->db->where('field_name', $field); //$this->EE->db->where('site_id',$this->EE->config->item('site_id')); $query = $this->EE->db->get('channel_fields'); if ($query->num_rows() == 0) { $field_errors .= "Field " . $field . " does not exist.<br/>"; } else { $val = str_replace('{' . $field . '}', 'field_id_' . $query->row()->field_id, $val); } } } if ($field_errors != '') { $this->EE->session->set_flashdata('settings_screen_name_field_errors', 'Notice: ' . $field_errors); } $this->EE->db->update(strtolower($this->class_name) . '_settings', array("var_value" => $val), "var = '" . $key . "' AND site_id = '" . $this->EE->config->item('site_id') . "'"); } elseif ($key == "title_override") { $pattern = "/{(.*?)}/"; preg_match_all($pattern, $val, $matches); $title_override_fields = isset($matches[1]) ? $matches[1] : array(); $title_override = $val; $title_field_errors = ''; if (count($title_override_fields) > 0 && $title_override != '') { foreach ($title_override_fields as $field) { $this->EE->db->where('field_name', $field); //$this->EE->db->where('site_id',$this->EE->config->item('site_id')); $query = $this->EE->db->get('channel_fields'); if ($query->num_rows() == 0) { $title_field_errors .= "Field " . $field . " does not exist.<br/>"; } else { $title_override = str_replace('{' . $field . '}', 'field_id_' . $query->row()->field_id, $title_override); } } } // if($title_field_errors != ''){ // // $this->EE->session->set_flashdata('settings_title_field_errors', 'Notice: '.$title_field_errors); // // } $this->EE->db->update(strtolower($this->class_name) . '_settings', array("var_value" => $title_override), "var = '" . $key . "' AND site_id = '" . $this->EE->config->item('site_id') . "'"); //check if it is not empty or hasn't changed if ($title_override != '' && $this->settings['title_override'] != $title_override) { $this->settings = get_zoo_settings($this->EE, TRUE); $this->EE->db->select('entry_id'); $this->EE->db->where('site_id', $this->EE->config->item('site_id')); $this->EE->db->where('channel_id', $this->settings['member_channel_id']); $this->EE->db->order_by('entry_id', 'asc'); $query = $this->EE->db->get('channel_titles'); if ($query->num_rows()) { foreach ($query->result() as $row) { $this->EE->zoo_visitor_lib->update_entry_title($row->entry_id); } } } } else { $this->EE->db->update(strtolower($this->class_name) . '_settings', array("var_value" => $val), "var = '" . $key . "' AND site_id = '" . $this->EE->config->item('site_id') . "'"); } } $this->EE->session->set_flashdata('settings_message', 'success'); $this->EE->functions->redirect(BASE . AMP . 'C=addons_modules' . AMP . 'M=show_module_cp' . AMP . 'module=' . $this->class_name . AMP . 'method=settings_form'); }
function create_member_entry($mem_row) { $sql = 'SELECT ct.entry_id FROM exp_channel_titles ct WHERE ct.channel_id = "' . $this->zoo_settings['member_channel_id'] . '" AND ct.author_id = "' . $mem_row->member_id . '"'; $query = $this->EE->db->query($sql); if ($query->num_rows() == 0) { $data = array(); $data['site_id'] = $this->EE->config->item('site_id'); $data['channel_id'] = $this->zoo_settings['member_channel_id']; $data['author_id'] = $mem_row->member_id; // @todo double check if this is validated $data['entry_date'] = $mem_row->join_date; $data['title'] = "temp-sync"; $data['url_title'] = "temp-sync"; $this->EE->db->insert('exp_channel_titles', $data); $insert_id = $this->EE->db->insert_id(); $data = array(); $data['site_id'] = $this->EE->config->item('site_id'); $data['entry_id'] = $insert_id; $data['channel_id'] = $this->zoo_settings['member_channel_id']; // ================== // = GET FIELD DATA = // ================== $this->zoo_settings = get_zoo_settings($this->EE, TRUE); // ======================================= // = loop through standard member fields = // ======================================= if ($this->zoo_settings['sync_standard_member_fields'] != '') { $standard_member_fields = explode('|', $this->zoo_settings['sync_standard_member_fields']); $standard_member_fields_filter = array(); foreach ($standard_member_fields as $standard_field) { $parts = explode(':', $standard_field); $channel_field_id = $parts[1]; if ($this->EE->db->field_exists('field_id_' . $channel_field_id, 'exp_channel_data')) { $standard_member_fields_filter[] = $standard_field; } } $standard_member_fields = $standard_member_fields_filter; $sql_standard = 'SELECT * FROM exp_members WHERE member_id = "' . $mem_row->member_id . '"'; $query_standard = $this->EE->db->query($sql_standard); if ($query_standard->num_rows() > 0) { $row_standard = $query_standard->row_array(); foreach ($standard_member_fields as $standard_field) { $parts = explode(':', $standard_field); $member_field_name = $parts[0]; $channel_field_id = $parts[1]; if (isset($row_standard[$member_field_name])) { if ($member_field_name == 'avatar_filename') { $data['field_id_' . $channel_field_id] = $row_standard[$member_field_name]; } else { $data['field_id_' . $channel_field_id] = $row_standard[$member_field_name]; } } } } } // ===================================== // = loop through custom member fields = // ===================================== if ($this->zoo_settings['sync_custom_member_fields'] != '') { $custom_member_fields = explode('|', $this->zoo_settings['sync_custom_member_fields']); $custom_member_fields_filter = array(); foreach ($custom_member_fields as $custom_field) { $parts = explode(':', $custom_field); $channel_field_id = $parts[1]; if ($this->EE->db->field_exists('field_id_' . $channel_field_id, 'exp_channel_data')) { $custom_member_fields_filter[] = $custom_field; } } $custom_member_fields = $custom_member_fields_filter; $sql_custom = 'SELECT * FROM exp_member_data WHERE member_id = "' . $mem_row->member_id . '"'; $query_custom = $this->EE->db->query($sql_custom); if ($query_custom->num_rows() > 0) { $row_custom = $query_custom->row_array(); foreach ($custom_member_fields as $custom_field) { $parts = explode(':', $custom_field); $member_field_id = $parts[0]; $channel_field_id = $parts[1]; if (isset($row_custom['m_field_id_' . $member_field_id])) { $data['field_id_' . $channel_field_id] = $row_custom['m_field_id_' . $member_field_id]; } } } } $this->EE->db->insert('exp_channel_data', $data); return $insert_id; } else { return FALSE; } }