function quicklookup() { $searcc = trim(aecGetParam('search', 0)); if (empty($searcc)) { return false; } $search = xJ::escape(JFactory::getDBO(), strtolower($searcc)); $s = AECToolbox::searchUser($search); if (empty($s) || !is_array($s)) { return false; } $return = array(); foreach ($s as $user) { $JTableUser = new cmsUser(); $JTableUser->load($user); $userlink = '<div class="lookupresult">'; $userlink .= '<a href="'; $userlink .= JURI::base() . 'index.php?option=com_acctexp&task=edit&entity=Membership&userid=' . $JTableUser->id; $userlink .= '">'; $userlink .= str_replace($search, '<span class="search-match">' . $search . '</span>', $JTableUser->name) . ' (' . str_replace($search, '<span class="search-match">' . $search . '</span>', $JTableUser->username) . ')'; $userlink .= '</a>'; $userlink .= '</div>'; $return[] = $userlink; } return '<div class="lookupresults">' . implode($return) . '</div>'; }
public function Settings() { $db = JFactory::getDBO(); $settings = array(); if (!empty($_POST['type']) && !empty($_POST['id']) && empty($_POST['edit'])) { $db = JFactory::getDBO(); $settings['edit'] = array('hidden', 1); $settings['type'] = array('hidden', $_POST['type']); $fixed = array(); switch ($_POST['type']) { case 'metauser': $fixed = array('userid'); $object = new metaUserDB(); $s = AECToolbox::searchUser($_POST['id']); if (!empty($s)) { $_POST['id'] = $object->getIDbyUserid($s[0]); } else { $_POST['id'] = $object->getIDbyUserid((int) $_POST['id']); } break; case 'processor': if (!is_numeric($_POST['id'])) { $query = 'SELECT `id`' . ' FROM #__acctexp_config_processors' . ' WHERE `name` = \'' . (int) $_POST['id'] . '\''; $db->setQuery($query); $_POST['id'] = $db->loadResult(); } $object = new processor(); break; case 'invoice': if (!is_numeric($_POST['id'])) { $_POST['id'] = aecInvoiceHelper::InvoiceIDfromNumber($_POST['id']); } $object = new Invoice(); break; } $object->load($_POST['id']); $vars = get_object_vars($object); $encoded = $object->declareParamFields(); foreach ($vars as $k => $v) { if (is_null($k)) { $k = ""; } if ($k == 'id') { $settings['id'] = array('hidden', $v); } elseif (in_array($k, $fixed)) { $settings[$k] = array('p', $k, $k, $v); } elseif (in_array($k, $encoded)) { $v = jsoonHandler::encode($v); if ($v === "null") { $v = ""; } $settings[$k] = array('inputD', $k, $k, $v); } elseif (strpos($k, '_') !== 0) { $settings[$k] = array('inputD', $k, $k, $v); } } } else { $settings['type'] = array('list', 'Item Type', 'The type of Item you want to edit'); $settings['id'] = array('inputC', 'Item ID', 'Identification for your Item'); $types = array('metauser' => 'MetaUser Information', 'processor' => 'Payment Processor', 'invoice' => 'Invoice'); $typelist = array(); foreach ($types as $type => $typename) { $typelist[] = JHTML::_('select.option', $type, $typename); } $settings['lists']['type'] = JHTML::_('select.genericlist', $typelist, 'type', 'size="3"', 'value', 'text', array()); } return $settings; }
public function loadUser() { $users = array(); if (is_object($this->request->user)) { $db = JFactory::getDBO(); if (isset($this->request->user->username)) { $query = 'SELECT `id`' . ' FROM #__users' . ' WHERE LOWER( `username` ) LIKE \'%' . xJ::escape($db, strtolower($this->request->user->username)) . '%\''; $db->setQuery($query); $users = xJ::getDBArray($db); } if (empty($users) && isset($this->request->user->name)) { $query = 'SELECT `id`' . ' FROM #__users' . ' WHERE LOWER( `name` ) LIKE \'%' . xJ::escape($db, strtolower($this->request->user->name)) . '%\''; $db->setQuery($query); $users = xJ::getDBArray($db); } if (empty($users) && isset($this->request->user->email)) { $query = 'SELECT `id`' . ' FROM #__users' . ' WHERE LOWER( `email` ) = \'' . xJ::escape($db, $this->request->user->email) . '\''; $db->setQuery($query); $users = xJ::getDBArray($db); } if (empty($users) && isset($this->request->user->userid)) { $query = 'SELECT `id`' . ' FROM #__users' . ' WHERE `id` = \'' . xJ::escape($db, $this->request->user->userid) . '\''; $db->setQuery($query); $users = xJ::getDBArray($db); } if (empty($users) && isset($this->request->user->invoice_number)) { $query = 'SELECT `userid`' . 'FROM #__acctexp_invoices' . ' WHERE LOWER( `invoice_number` ) = \'' . xJ::escape($db, $this->request->user->invoice_number) . '\'' . ' OR LOWER( `secondary_ident` ) = \'' . xJ::escape($db, $this->request->user->invoice_number) . '\''; $db->setQuery($query); $users = xJ::getDBArray($db); } } else { $users = AECToolbox::searchUser($this->request->user); } if (!count($users)) { $this->error = 'user not found'; } elseif (count($users) > 1) { $this->error = 'multiple users found'; } else { if (!empty($this->metaUser->userid)) { if ($this->metaUser->userid != $users[0]) { $this->metaUser = new metaUser($users[0]); } } else { $this->metaUser = new metaUser($users[0]); } } }