getAcoFieldsList
public static getAcoFieldsList ( $pageName = null, $itemName = null, $aWhere = '', $aAllFieldInfo = false, $aItemData = false, $params = [] ) |
protected function _preSaveEntry(array &$entry, array $data, $action) { $this->_iaCore->startHook('adminAddMemberValidation'); $iaAcl = $this->_iaCore->factory('acl'); $iaField = $this->_iaCore->factory('field'); $fields = iaField::getAcoFieldsList(iaCore::ADMIN, $this->_itemName); // below is the hacky way to force the script to upload files to the appropriate user's folder // FIXME $activeUser = iaUsers::getIdentity(true); $_SESSION[iaUsers::SESSION_KEY] = array('id' => $this->getEntryId(), 'username' => $data['username']); list($entry, $error, $this->_messages, ) = $iaField->parsePost($fields, $entry); $_SESSION[iaUsers::SESSION_KEY] = $activeUser; // if ($iaAcl->isAccessible($this->getName(), 'usergroup')) { if (isset($data['usergroup_id'])) { $entry['usergroup_id'] = array_key_exists($data['usergroup_id'], $this->_userGroups) ? $data['usergroup_id'] : iaUsers::MEMBERSHIP_REGULAR; } } elseif (iaCore::ACTION_ADD == $action) { $entry['usergroup_id'] = iaUsers::MEMBERSHIP_REGULAR; } if ($error) { return false; } $stmt = '`email` = :email'; if (iaCore::ACTION_EDIT == $action) { if (isset($entry['status']) && $entry['status'] == $this->_iaDb->one('status', iaDb::convertIds((int) $this->getEntryId()))) { unset($entry['status']); } $stmt .= ' AND `id` != ' . (int) $this->getEntryId(); } if ($this->_iaDb->exists($stmt, $entry)) { $this->addMessage('error_duplicate_email'); } if ($this->_iaDb->exists('`username` = :username AND `id` != :id', array('username' => $entry['username'], 'id' => $this->getEntryId()))) { $this->addMessage('username_already_taken'); } if ($iaAcl->checkAccess($this->getName(), 'password') || iaCore::ACTION_ADD == $action) { $this->_password = trim($data['_password']); if ($this->_password || !empty($data['_password2'])) { $entry['password'] = $this->getHelper()->encodePassword($this->_password); iaUtil::loadUTF8Functions('ascii', 'validation', 'bad', 'utf8_to_ascii'); if (empty($entry['password'])) { $this->addMessage('error_password_empty'); } elseif (!utf8_is_ascii($entry['password'])) { $this->addMessage(iaLanguage::get('password') . ': ' . iaLanguage::get('ascii_required')); } elseif ($entry['password'] != $this->getHelper()->encodePassword($data['_password2'])) { $this->addMessage('error_password_match'); } } } if (empty($data['_password']) && iaCore::ACTION_ADD == $action) { $this->addMessage('error_password_empty'); } return !$this->getMessages(); }
$messages[] = iaLanguage::get('password_empty'); } if ($newPassword != $_POST['confirm']) { $error = true; $messages[] = iaLanguage::get('error_password_match'); } if (!$error) { $iaUsers->changePassword(iaUsers::getIdentity(true), $newPassword, false); $error = false; $messages[] = iaLanguage::get('password_changed'); } $iaView->setMessages($messages, $error ? iaView::ERROR : iaView::SUCCESS); } elseif ($_POST && (isset($_POST['change_info']) || isset($_POST['plan_id']))) { if (isset($_POST['change_info'])) { $item = array(); $fields = iaField::getAcoFieldsList(null, $itemName, null, true, iaUsers::getIdentity(true)); list($item, $error, $messages, $error_fields) = $iaField->parsePost($fields, iaUsers::getIdentity(true)); if (!$error) { if (isset($_POST['usergroup_id']) && $assignableGroups && in_array((int) $_POST['usergroup_id'], array_keys($assignableGroups))) { $item['usergroup_id'] = $_POST['usergroup_id']; } $iaDb->update($item, iaDb::convertIds(iaUsers::getIdentity()->id)); if (0 == $iaDb->getErrorNumber()) { $iaCore->startHook('phpUserProfileUpdate', array('userInfo' => iaUsers::getIdentity(true), 'data' => $item)); iaUsers::reloadIdentity(); $iaView->setMessages(iaLanguage::get('saved'), iaView::SUCCESS); } else { $iaView->setMessages(iaLanguage::get('db_error')); } } else { $iaView->setMessages($messages);
$lartist = $iaArtist->getArtist($lyric['id_artist']); $lyric['artist'] = $lartist['title']; // get lyric album $lalbum = $iaAlbum->getAlbum($lyric['id_album']); $lyric['album'] = $lalbum['title']; // get artist albums $albums = $iaAlbum->getAlbumsByArtist($lartist['id']); $iaView->assign('albums', $albums); if ($lyric['body']) { $lyric['body'] = preg_replace('/<br>/i', "", $lyric['body']); } } if (!$id) { $fields = iaField::filterFieldsByGroup($lyric, $iaLyric->getItemName()); } else { $fields = iaField::getAcoFieldsList(false, 'lyrics', false, true); } if (!empty($_POST)) { $data = array(); if ($fields) { list($data, $error, $messages, $errorFields) = iaField::parsePost($fields, $lyric); } $artist = isset($_POST['artist']) && !empty($_POST['artist']) ? $_POST['artist'] : 0; if (empty($artist)) { $error = true; $messages[] = _t('artist_empty', 'Please choose an artist'); } else { $artist = $iaArtist->getArtistByTitle($artist); $data['id_artist'] = $artist['id']; $data['artist_alias'] = $artist['title_alias']; }
} if (!isset($v['type'])) { $v['type'] = $v['name']; } if (!isset($v['fields'])) { $v['fields'] = 'advsearch'; } if (isset($search['terms']['items'][$v['name']])) { foreach ($search['terms']['items'][$v['name']] as $key => $val) { $v['items'][$key] = $val; } } if (count($v['items']) > 0) { $rows = $iaDb->all(iaDb::ALL_COLUMNS_SELECTION, '(' . searchMatch($v['items']) . ') ' . $v['where'], 0, 10, $v['db']); if ($v['name'] != 'pages') { $fieldsList = iaField::getAcoFieldsList($v['fields'], $v['type'], null, true); } if ($rows) { $iaView->iaSmarty->assign('all_items', $rows); $iaView->iaSmarty->assign('all_item_fields', $fieldsList); $iaView->iaSmarty->assign('all_item_type', $v['type']); $iaView->iaSmarty->assign('member', iaUsers::hasIdentity() ? iaUsers::getIdentity(true) : array()); $results['num'] += 1; $results['html'][$v['name']] = $iaView->iaSmarty->fetch('all-items-page.tpl'); } } } } /* Package and plugin: read search.inc.php */ if (!empty($search['terms']['items'])) { foreach ($search['terms']['items'] as $i => $flds) {