本文整理汇总了PHP中Set::booleanize方法的典型用法代码示例。如果您正苦于以下问题:PHP Set::booleanize方法的具体用法?PHP Set::booleanize怎么用?PHP Set::booleanize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Set
的用法示例。
在下文中一共展示了Set::booleanize方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _render
protected function _render($options)
{
$metaFields = array_keys(Set::filter(Set::booleanize($this->getParam('metaFields'))));
echo '<div class="line-meta-details">';
echo $this->Html->postDetails($metaFields, array('prefixes' => array('author' => __('By', 'gummfw'), 'date' => __('/', 'gummfw'), 'comments' => __('/', 'gummfw'), 'category' => __('/', 'gummfw')), 'formats' => array('date' => 'd F Y')));
echo '</div>';
}
示例2: _render
protected function _render($options)
{
$networks = Set::filter(Set::booleanize($this->getParam('socialNetworks')));
echo '<div class="bluebox-share-options">';
echo '<span>' . __('Share The Story', 'gummfw') . '</span>';
echo '<div class="bluebox-details-social">';
View::renderElement('social-links', array('networks' => $networks, 'accountMode' => 'share', 'additionalClass' => 'bluebox-shadows'));
echo '</div>';
echo '</div>';
}
示例3: render
/**
* @return void
*/
public function render($fields)
{
$networks = Set::filter(Set::booleanize($this->getParam('socialNetworks')));
$mode = $this->getParam('mode');
// echo '<div class="bluebox-share-options">';
// echo '<span>' . __('Share The Story') . '</span>';
echo '<div class="bluebox-details-social">';
View::renderElement('social-links', array('networks' => $networks, 'accountMode' => $mode, 'additionalClass' => 'social-link bluebox-shadows'));
echo '</div>';
// echo '</div>';
}
示例4: filterQueryPostsArgs
protected function filterQueryPostsArgs($args)
{
global $woocommerce;
if ($_args = $woocommerce->query->get_catalog_ordering_args()) {
$args = array_merge($args, $_args);
}
if ($termIds = Set::filter(Set::booleanize($this->getParam('product_cat')))) {
$termIds = array_keys($termIds);
$args = Set::merge($args, array('tax_query' => array(array('taxonomy' => 'product_cat', 'field' => 'term_id', 'terms' => (array) $termIds))));
}
return $args;
}
示例5: find
/**
* @param int $postId
* @param string $metaId
* @param bool $single
* @return mixed
*/
public function find($postId, $metaId, $single = true)
{
$metaId = $this->gummOptionId($metaId, true);
$meta = false;
if (strpos($metaId, '.') !== false) {
$parts = explode('.', $metaId);
$rootId = array_shift($parts);
$rootMetaData = get_post_meta($postId, $rootId, $single);
$metaXPath = implode('.', $parts);
$meta = Set::classicExtract($rootMetaData, $metaXPath);
if ($meta === null || $rootMetaData === '' && !$meta) {
$meta = false;
}
} else {
$meta = get_post_meta($postId, $metaId, $single);
// if ($postId == 442 && $metaId == 'nova_postmeta') {
// debug(get_post_meta(442, 'nova_postmeta'), true);
// d($meta);
// } else {
// debug($postId);
// debug($metaId);
// }
}
// debug($metaId);
$_post = get_post($postId);
$friendlyId = $this->friendlyOptionId($metaId);
$postTypes = array($_post->post_type);
if (in_array($_post->post_type, $this->Post->getPostTypes())) {
$postTypes[] = 'single';
}
if (!$meta && isset($this->_schema[$friendlyId])) {
$meta = $this->_schema[$friendlyId];
} elseif ($friendlyId == 'postmeta') {
foreach ($postTypes as $postType) {
if (isset($this->_schema[$postType]) && isset($this->_schema[$postType]['postmeta'])) {
if (!$meta) {
$meta = $this->_schema[$postType]['postmeta'];
} else {
$meta = array_merge($this->_schema[$postType]['postmeta'], (array) $meta);
}
if (is_array($meta)) {
$meta = Set::booleanize($meta);
}
}
}
}
if ($meta && !is_admin() && function_exists('qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage')) {
$meta = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($meta);
}
return $meta;
}
示例6: _renderVCardLayout
public function _renderVCardLayout($options)
{
while (have_posts()) {
the_post();
global $post;
$divAtts = array('class' => array('gumm-filterable-item', 'row-fluid', 'bluebox-single-staff-wrap', 'new-builder-element'));
$categories = $this->Wp->getPostCategories($post);
foreach ($categories as $catId => $catName) {
$divAtts['class'][] = 'for-category-' . $catId;
}
echo '<div' . $this->Html->_constructTagAttributes($divAtts) . '>';
$this->requestAction(array('controller' => 'layout_elements', 'action' => 'display', 'single_staff_vcard', array(), array('moreLink' => true, 'socialNetworksDisplay' => Set::booleanize($this->getParam('socialNetworksDisplay')), 'excerptLength' => $this->getParam('excerptLength'))));
echo '</div>';
}
}
示例7: beforeRender
public function beforeRender($options)
{
global $post;
$this->posts = GummRegistry::get('Model', 'Post')->findRelated($post, (int) $this->getParam('postsNumber'));
if (!$this->posts) {
return false;
}
$visibleNum = $this->getParam('layout') === 'blog' ? (int) $this->getParam('rows') : (int) $this->getParam('columns');
if (count($this->posts) > $visibleNum) {
if ($this->getParam('layout') === 'blog') {
$this->shouldPaginate = true;
$this->htmlClass .= 'flex-slider';
$this->htmlElementData = array('data-direction-nav-container' => '#' . $this->id() . '-nav-controls', 'data-animation' => $this->getParam('flexSliderAnimation'), 'data-animation-loop' => '1', 'data-smooth-height' => '1');
} else {
$this->shouldPaginate = true;
$this->htmlClass .= ' gumm-layout-element-slider';
$this->htmlElementData = array('data-directional-nav' => '.heading-pagination', 'data-num-visible' => (int) $this->getParam('columns'));
}
}
$this->supports['title'] = __('Related', 'gummfw');
$this->htmlClass .= ' bluebox-related-blog-posts';
$this->metaFields = array_keys(Set::filter(Set::booleanize($this->getParam('metaFields'))));
}
示例8: getDefaultSettingsForSlider
protected function getDefaultSettingsForSlider($sliderType)
{
$settings = (array) $this->getParam('sliderType-settings.' . $sliderType);
$settings = Set::booleanize($settings);
return $settings;
}
示例9: find
/**
* @param string $optionId
* @param array $options
* @return mixed False if option not set
*/
public function find($optionId, $options = array())
{
$options = array_merge(array('booleanize' => false), $options);
$optionId = $this->gummOptionId($optionId);
if (strpos($optionId, '.') !== false) {
$optionPath = explode('.', $optionId);
$rootOptionId = array_shift($optionPath);
$rootValue = get_option($rootOptionId);
if ($rootValue) {
$optionXPath = implode('/', $optionPath);
$extractedValue = Set::extract('/Option/' . $optionXPath, array('Option' => $rootValue));
$optionLastId = end($optionPath);
$parsedValue = array();
if ($extractedValue) {
foreach ($extractedValue as $val) {
if (is_array($val)) {
if (isset($val[$optionLastId])) {
$val = $val[$optionLastId];
}
$parsedValue = array_merge($parsedValue, $val);
} else {
// We are working with ids, so extract will match only one id, and if not array - we need the string returned
$parsedValue = $val;
break;
}
}
if ($options['booleanize']) {
$parsedValue = Set::booleanize($parsedValue);
}
if (is_array($parsedValue)) {
$parsedValue = Set::applyNative(Set::filter($parsedValue), 'stripslashes');
} elseif ($parsedValue !== false) {
$parsedValue = stripslashes($parsedValue);
}
return $parsedValue;
}
}
}
// if (strpos($optionId, '[') !== false) {
// if (preg_match_all("'(.*)(\[(.*)\])+'msU", $optionId, $out)) {
// $baseOptionId = $out[1][0];
// $baseValue = get_option($baseOptionId);
// if (is_array($baseValue)) {
// $innerVal = Set::extract('/Option/' . implode('/', $out[3]), array('Option' => $baseValue));
// if ($innerVal) return reset($innerVal);
// }
// }
// }
$value = get_option($optionId);
if ($value === false) {
$configOption = $this->getConfigOption($optionId);
if (isset($configOption['default'])) {
$value = $configOption['default'];
if (isset($optionPath) && is_array($optionPath)) {
$optionLastId = end($optionPath);
if (isset($optionLastId) && $value && is_array($value) && isset($value[$optionLastId])) {
$value = $value[$optionLastId];
}
}
} elseif (isset($configOption['options'])) {
$value = array();
foreach ($configOption['options'] as $configSubOption) {
if (preg_match_all("'(.*)(\\[(.*)\\])+'msU", $configSubOption['id'], $out)) {
$valueKey = end($out[3]);
$value[$valueKey] = $this->find($configSubOption['id']);
}
}
}
}
if (is_array($value)) {
$value = Set::applyNative(Set::filter($value), 'stripslashes');
} elseif ($value !== false) {
$value = stripslashes($value);
}
if ($optionId === GUMM_THEME_PREFIX . '_email' && !$value) {
$value = get_option('admin_email');
}
if ($options['booleanize']) {
$value = Set::booleanize($value);
}
return $value;
}
示例10: queryPosts
protected function queryPosts($args = array(), $params = array())
{
global $paged, $wp_query;
if ($this->posts) {
return $this->posts;
}
$postType = $this->supports('postType') ? $this->getParam('postType') : $this->queryPostType;
if ($postType === 'default') {
$this->posts = $wp_query->posts;
return $this->posts;
}
if (!$paged && isset($wp_query->query) && isset($wp_query->query['paged'])) {
$paged = $wp_query->query['paged'];
}
$this->resetQueryAfterRender = true;
$this->_originalQuery = clone $wp_query;
$posts = array();
if ($postType === 'flickr') {
App::uses('GummFlickr', '/Vendor/Flickr');
$Flickr = new GummFlickr();
$posts = $Flickr->findPhotos($this->getParam('flickrUser'), array('limit' => $this->getParam('postsNumber')));
if ($posts) {
$wp_query->posts = $posts;
$wp_query->found_posts = count($posts);
$wp_query->post_count = count($posts);
}
} else {
$args = array_merge(array('post_type' => $postType, 'posts_per_page' => $this->getParam('postsNumber'), 'paged' => $paged ? $paged : 1), $args);
$postType = $args['post_type'];
$termIds = (array) $this->getParam($postType . '-category');
$termIds = Set::filter(Set::booleanize($termIds));
if ($termIds) {
$termIds = array_keys($termIds);
}
if ($termIds) {
$termName = $postType == 'post' ? 'category' : $postType . '_category';
$args['tax_query'] = array(array('taxonomy' => $termName, 'field' => 'term_id', 'terms' => (array) $termIds));
}
if ($this->getParam('postOrder') === 'custom') {
$args['orderby'] = $this->getParam('postOrderBy');
$args['order'] = $this->getParam('postOrderDirection');
} elseif ($postType === 'event') {
$args['meta_key'] = GUMM_THEME_PREFIX . '_event_start_time';
$args['orderby'] = GUMM_THEME_PREFIX . '_event_start_time';
$args['order'] = 'ASC';
$args['meta_query'] = array(array('key' => GUMM_THEME_PREFIX . '_event_start_time', 'value' => date_i18n('Y/m/d') . ' 00:00', 'compare' => '>='));
}
$args = $this->filterQueryPostsArgs($args);
$posts = query_posts($args);
}
return $posts;
}
示例11: queryPosts
protected function queryPosts($instanceData = array())
{
if (!$this->supports('postType')) {
return;
}
$this->resetQueryAfterRender = true;
if ($this->posts) {
return $this->posts;
}
$postType = GummHash::get($instanceData, 'post_type.post_type');
if (!$postType) {
$postType = $this->queryPostType;
}
$postsNumber = (int) GummHash::get($instanceData, 'post_type.posts_number');
if (!$postsNumber) {
$postsNumber = 4;
}
$args = array('post_type' => $postType, 'posts_per_page' => $postsNumber);
$termIds = Set::filter(Set::booleanize(GummHash::get($instanceData, 'post_type.' . $postType . '-category')));
if ($termIds) {
$termIds = array_keys($termIds);
}
if ($termIds) {
$termName = $postType == 'post' ? 'category' : $postType . '_category';
$args['tax_query'] = array(array('taxonomy' => $termName, 'field' => 'term_id', 'terms' => (array) $termIds));
}
$this->posts = query_posts($args);
return $this->posts;
}
示例12: getEventCategories
private function getEventCategories()
{
$eventCatIds = false;
$eventCats = Set::booleanize($this->getParam('event-category'));
if ($eventCats) {
if ($eventCats = Set::filter($eventCats)) {
$eventCatIds = array_keys($eventCats);
}
}
return $eventCatIds;
}
示例13: getThemeOptionForPost
public function getThemeOptionForPost($post)
{
$postType = $post->post_type === 'post' ? 'blog' : $post->post_type;
if (!isset($this->_postTypesOptions[$postType])) {
$options = $this->Option->find($postType);
if (!$options) {
$options = array();
}
$optionId = $this->gummOptionId($postType);
$configOptions = $this->Option->getConfigOption($optionId);
if ($configOptions && is_array($configOptions) && isset($configOptions['default'])) {
$options = Set::merge($configOptions['default'], $options);
$options = Set::booleanize($options);
}
$this->_postTypesOptions[$postType] = $options;
}
return $this->_postTypesOptions[$postType];
}
示例14: booleanize
/**
* @param mixed $data
*/
public static function booleanize($data)
{
if (is_array($data)) {
$result = array();
foreach ($data as $k => $val) {
if (is_string($val)) {
if ($val == 'true') {
$val = true;
} elseif ($val == 'false') {
$val = false;
}
} elseif (is_array($val)) {
$val = Set::booleanize($val);
}
$result[$k] = $val;
}
} else {
$result = $data;
if ($result == 'true') {
$result = true;
} elseif ($result == 'false') {
$result = false;
}
}
return $result;
}