本文整理汇总了PHP中ItemList::isRefreshing方法的典型用法代码示例。如果您正苦于以下问题:PHP ItemList::isRefreshing方法的具体用法?PHP ItemList::isRefreshing怎么用?PHP ItemList::isRefreshing使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ItemList
的用法示例。
在下文中一共展示了ItemList::isRefreshing方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: search
/**
* Search themes on the remote platform
*/
public function search()
{
$api = new HawkApi();
$search = App::request()->getParams('search');
// Search themes on the API
try {
$themes = $api->searchThemes($search);
} catch (\Hawk\HawkApiException $e) {
$themes = array();
}
// Remove the plugins already downloaded on the application
foreach ($themes as &$theme) {
$installed = Theme::get($theme['name']);
$theme['installed'] = $installed !== null;
if ($installed) {
$theme['currentVersion'] = $installed->getDefinition('version');
}
}
$list = new ItemList(array('id' => 'search-themes-list', 'data' => $themes, 'resultTpl' => Plugin::current()->getView('theme-search-list.tpl'), 'fields' => array()));
if ($list->isRefreshing()) {
return $list->display();
} else {
$this->addCss(Plugin::current()->getCssUrl('themes.less'));
$this->addJavaScript(Plugin::current()->getJsUrl('themes.js'));
return LeftSidebarTab::make(array('page' => array('content' => $list->display()), 'sidebar' => array('widgets' => array(new SearchThemeWidget())), 'icon' => 'picture-o', 'title' => Lang::get($this->_plugin . '.search-theme-result-title', array('search' => $search))));
}
}
示例2: listQuestions
/**
* Display the list of the profile questions
*/
public function listQuestions()
{
// Get all ProfileQuestions
$questions = ProfileQuestion::getAll();
// Get all Roles
$roles = Role::getAll();
// Create parameters for form
$param = array('id' => 'display-questions-form', 'action' => App::router()->getUri('profile-questions'), 'fieldsets' => array('form' => array(), '_submits' => array(new SubmitInput(array('name' => 'valid', 'value' => Lang::get('main.valid-button'))), new ButtonInput(array('name' => 'new-question', 'value' => Lang::get($this->_plugin . '.new-question-btn'), 'class' => 'btn-success', 'href' => App::router()->getUri('edit-profile-question', array('name' => '_new')), 'target' => 'dialog', 'icon' => 'plus')))));
// For each ProfileQuestion add roles, displayInRegister and displayInProfile
foreach ($questions as $question) {
// Add the input to display in register form
$param['fieldsets']['form'][] = new CheckboxInput(array('name' => "register-display-{$question->name}", 'default' => $question->displayInRegister, 'nl' => false));
// Add the input to display in the user profile
$param['fieldsets']['form'][] = new CheckboxInput(array('name' => "profile-display-{$question->name}", 'default' => $question->displayInProfile, 'nl' => false));
// Get roles associate to this ProfileQuestion in json parameters
$attributesRoles = ProfileQuestion::getByName($question->name)->getRoles();
// For each roles create a Checkbox
foreach ($roles as $role) {
// Add the input to display in the user profile
$param['fieldsets']['form'][] = new CheckboxInput(array('name' => "role-{$role->name}-question-{$question->name}", 'default' => in_array($role->id, $attributesRoles) ? 1 : 0, 'nl' => false));
}
}
// Create form
$form = new Form($param);
// Create parameters for the list to display
$paramList = array('id' => 'profile-questions-list', 'model' => 'ProfileQuestion', 'action' => App::router()->getUri('profile-questions'), 'lines' => 'all', 'navigation' => false, 'sort' => array('order' => DB::SORT_ASC), 'fields' => array('name' => array('hidden' => true), 'editable' => array('hidden' => true), 'actions' => array('independant' => true, 'display' => function ($value, $field, $line) {
if ($line->editable) {
return Icon::make(array('icon' => 'pencil', 'class' => 'text-info', 'href' => App::router()->getUri('edit-profile-question', array('name' => $line->name)), 'target' => 'dialog', 'title' => Lang::get($this->_plugin . '.edit-profile-question'))) . Icon::make(array('icon' => 'times', 'class' => 'text-danger delete-question', 'data-question' => $line->name, 'title' => Lang::get($this->_plugin . '.delete-profile-question')));
} else {
return '';
}
}, 'sort' => false, 'search' => false), 'label' => array('independant' => true, 'display' => function ($value, $field, $line) {
return Lang::get($this->_plugin . ".profile-question-{$line->name}-label") . " ( {$line->name} )";
}, 'sort' => false, 'search' => false), 'displayInRegister' => array('label' => Lang::get($this->_plugin . ".list-questions-register-visible-label"), 'sort' => false, 'search' => false, 'display' => function ($value, $field, $line) use($form) {
return $form->inputs["register-display-{$line->name}"];
}), 'displayInProfile' => array('label' => Lang::get($this->_plugin . '.list-questions-profile-visible-label'), 'sort' => false, 'search' => false, 'display' => function ($value, $field, $line) use($form) {
return $form->inputs["profile-display-{$line->name}"];
})));
// For each roles create a checkbox by line profileQuestion!
foreach ($roles as $role) {
// Add the input to display in register form
$paramList['fields'][$role->name] = array('independant' => true, 'label' => Lang::get("roles.role-{$role->id}-label"), 'search' => false, 'sort' => false, 'display' => function ($value, $field, $line) use($form) {
return $form->inputs["role-{$field->name}-question-{$line->name}"];
});
}
// Create List
$list = new ItemList($paramList);
if (!$form->submitted()) {
if ($list->isRefreshing()) {
return $list->display();
}
$this->addKeysToJavaScript($this->_plugin . ".confirm-delete-question");
$content = View::make(Plugin::current()->getView("questions-list.tpl"), array('list' => $list, 'form' => $form));
return $form->wrap($content);
}
// Extract from form, all infos abour roles associate to ProfileQuestion
$listRoles = array();
$roles = Role::getAll('name');
$save = array();
foreach ($form->inputs as $name => $field) {
// Manage displayInRegister and displayInProfile
if (preg_match("/^(register|profile)\\-display\\-(\\w+)\$/", $name, $match)) {
$qname = $match[2];
$func = $match[1] == "register" ? 'displayInRegister' : 'displayInProfile';
if (!isset($save[$qname])) {
$save[$qname] = new ProfileQuestion();
$save[$qname]->set('name', $qname);
}
$save[$qname]->set($func, (int) App::request()->getBody($name));
} else {
if (preg_match("/^role\\-(\\w+)\\-question\\-(\\w+)\$/", $name, $match)) {
$qname = $match[2];
$roleName = $match[1];
// If tab doesn't exit create it to avoid exception
if (!isset($listRoles[$qname])) {
$listRoles[$qname] = array();
}
$role = $roles[$roleName];
// If checkbox is tag, add roleId
if ($field->dbvalue()) {
array_push($listRoles[$qname], intval($role->id));
}
}
}
}
foreach ($save as $question) {
$question->update();
}
// Save each ProfileQuestions
foreach ($questions as $question) {
$params = json_decode($question->parameters, true);
$params['roles'] = $listRoles[$question->name];
$question->set('parameters', json_encode($params));
$question->update();
}
return $form->response(Form::STATUS_SUCCESS);
}