当前位置: 首页>>代码示例>>PHP>>正文


PHP Document::convertStringToArray方法代码示例

本文整理汇总了PHP中Document::convertStringToArray方法的典型用法代码示例。如果您正苦于以下问题:PHP Document::convertStringToArray方法的具体用法?PHP Document::convertStringToArray怎么用?PHP Document::convertStringToArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Document的用法示例。


在下文中一共展示了Document::convertStringToArray方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: field_route_ratings_data

function field_route_ratings_data($document, $show_activities = true, $add_tooltips = false, $use_esc_raw = false, $format = 'html', $avalaible_activities = null)
{
    $activities = isset($document['activities']) ? Document::convertStringToArray($document['activities']) : $document->get('activities', ESC_RAW);
    return _route_ratings_sum_up($format, $activities, $avalaible_activities, $show_activities, _filter_ratings_data($document, 'global_rating', 'globalRating', 'app_routes_global_ratings', $format, $add_tooltips), _filter_ratings_data($document, 'engagement_rating', 'engagementRating', 'app_routes_engagement_ratings', $format, $add_tooltips), _filter_ratings_data($document, 'objective_risk_rating', 'objectiveRiskRating', 'app_routes_objective_risk_ratings', $format, $add_tooltips), _filter_ratings_data($document, 'toponeige_technical_rating', 'toponeigeTechnicalRating', 'app_routes_toponeige_technical_ratings', $format, $add_tooltips), _filter_ratings_data($document, 'toponeige_exposition_rating', 'toponeigeExpositionRating', 'app_routes_toponeige_exposition_ratings', $format, $add_tooltips), _filter_ratings_data($document, 'labande_ski_rating', 'labandeSkiRating', 'app_routes_labande_ski_ratings', $format, $add_tooltips), _filter_ratings_data($document, 'labande_global_rating', 'labandeGlobalRating', 'app_routes_global_ratings', $format, $add_tooltips), _filter_ratings_rock($document, $format, $add_tooltips, false, null, $use_esc_raw), _filter_ratings_data($document, 'ice_rating', 'iceRating', 'app_routes_ice_ratings', $format, $add_tooltips), _filter_ratings_data($document, 'mixed_rating', 'mixedRating', 'app_routes_mixed_ratings', $format, $add_tooltips), _filter_ratings_data($document, 'aid_rating', 'aidRating', 'app_routes_aid_ratings', $format, $add_tooltips), _filter_ratings_data($document, 'rock_exposition_rating', 'rockExpositionRating', 'app_routes_rock_exposition_ratings', $format, $add_tooltips), _filter_ratings_data($document, 'equipment_rating', 'equipmentRating', 'app_equipment_ratings_list', $format, $add_tooltips, false, null, null, 'app_equipment_ratings_tooltips'), _filter_ratings_data($document, 'hiking_rating', 'hikingRating', 'app_routes_hiking_ratings', $format, $add_tooltips), _filter_ratings_data($document, 'snowshoeing_rating', 'snowshoeingRating', 'app_routes_snowshoeing_ratings', $format, $add_tooltips));
}
开发者ID:snouhaud,项目名称:camptocamp.org,代码行数:5,代码来源:FieldHelper.php

示例2: executeView


//.........这里部分代码省略.........
             $sites_ids = array();
             foreach ($associated_sites as $site) {
                 $sites_ids[] = $site['id'];
             }
             $summit_docs_ids = array_merge($sites_ids, array($current_doc_id));
             $associated_summits_sites = Association::findLinkedDocsWithBestName($summit_ids, $prefered_cultures, 'st', true, true, $summit_docs_ids);
             $associated_sites = array_merge($associated_sites, $associated_summits_sites);
         }
         // associated parkings 2-hop hierarchy
         $associated_parkings = c2cTools::sortArray(array_filter($this->associated_docs, array('c2cTools', 'is_parking')), 'elevation');
         if (count($associated_parkings)) {
             foreach ($associated_parkings as $parking) {
                 $parent_ids[] = $parking['id'];
             }
             $child_types[] = 'pp';
         }
         $associated_outings = array_filter($this->associated_docs, array('c2cTools', 'is_outing'));
         // all outings (directly or indirectly linked)
         $parent_ids = array_merge($parent_ids, $sub_site_ids);
         if (count($parent_ids)) {
             $associated_childs = Association::findLinkedDocsWithBestName($parent_ids, $prefered_cultures, $child_types, true, true, $site_docs_ids);
             $this->associated_docs = array_merge($this->associated_docs, $associated_childs);
             if (count($associated_parkings)) {
                 $associated_parkings = Association::createHierarchy($associated_parkings, array_filter($associated_childs, array('c2cTools', 'is_parking')), array('type' => 'pp', 'show_sub_docs' => false));
             }
             if (count($sub_site_ids)) {
                 $associated_site_outings = array_filter($associated_childs, array('c2cTools', 'is_outing'));
                 if (count($associated_site_outings)) {
                     if (count($associated_outings)) {
                         $outing_ids = array();
                         foreach ($associated_outings as $outing) {
                             $outing_ids[] = $outing['id'];
                         }
                         foreach ($associated_site_outings as $outing) {
                             if (!in_array($outing['id'], $outing_ids)) {
                                 $associated_outings[] = $outing;
                             }
                         }
                     } else {
                         $associated_outings = $associated_site_outings;
                     }
                 }
             }
         }
         $this->associated_sites = $associated_sites;
         array_unshift($sub_site_ids, $current_doc_id);
         $this->ids = implode('-', $sub_site_ids);
         $this->associated_parkings = Parking::getAssociatedParkingsData($associated_parkings);
         $this->associated_routes = Route::getAssociatedRoutesData($this->associated_docs, $this->__(' :') . ' ');
         $this->associated_huts = c2cTools::sortArray(array_filter($this->associated_docs, array('c2cTools', 'is_hut')), 'elevation');
         $this->associated_summits = c2cTools::sortArray(array_filter($this->associated_docs, array('c2cTools', 'is_summit')), 'elevation');
         // also get author of books
         $associated_books = c2cTools::sortArray(array_filter($this->associated_docs, array('c2cTools', 'is_book')), 'name');
         if (count($associated_books)) {
             $associated_books = Book::getAssociatedBooksData($associated_books);
         }
         $this->associated_books = $associated_books;
         if (!isset($associated_outings)) {
             $associated_outings = array_filter($this->associated_docs, array('c2cTools', 'is_outing'));
         }
         $associated_outings = Outing::fetchAdditionalFields($associated_outings, true, true);
         // sort outings array by antichronological order.
         usort($associated_outings, array('c2cTools', 'cmpDate'));
         $this->nb_outings = count($associated_outings);
         // group them by blocks
         $outings_limit = sfConfig::get('app_documents_outings_limit');
         $a = array();
         $i = 0;
         while (count($associated_outings) - $i * $outings_limit > $outings_limit) {
             $a[] = array_slice($associated_outings, $i * $outings_limit, $outings_limit);
             $i++;
         }
         $a[] = array_slice($associated_outings, $i * $outings_limit);
         $this->associated_outings = $a;
         $this->associated_images = Document::fetchAdditionalFieldsFor(array_filter($this->associated_docs, array('c2cTools', 'is_image')), 'Image', array('filename', 'image_type', 'date_time', 'width', 'height'));
         $site_types = $this->document->get('site_types');
         if (!is_array($site_types)) {
             $site_types = Document::convertStringToArray($site_types);
         }
         $site_types_list = sfConfig::get('app_sites_site_types');
         foreach ($site_types as &$type) {
             $type = $this->__($site_types_list[$type]);
         }
         $site_types = implode(', ', $site_types);
         if (!empty($site_types)) {
             $site_types = ' (' . $site_types . ')';
         }
         $site_types = $this->__('site') . $site_types;
         $doc_name = $this->document->get('name');
         $title = $doc_name;
         if ($this->document->isArchive()) {
             $version = $this->getRequestParameter('version');
             $title .= ' :: ' . $this->__('revision') . ' ' . $version;
         }
         $title .= ' :: ' . $site_types;
         $this->setPageTitle($title);
         $description = array($site_types . ' :: ' . $doc_name, $this->getAreasList());
         $this->getResponse()->addMeta('description', implode(' - ', $description));
     }
 }
开发者ID:snouhaud,项目名称:camptocamp.org,代码行数:101,代码来源:actions.class.php

示例3: count

     $doc_activities = $document->getRaw('activities');
     $has_doc_activities = count($doc_activities);
 } else {
     $has_doc_activities = false;
 }
 $strict = (int) $strict;
 // cast so that false is 0 and true is 1.
 $activity_list = sfConfig::get('app_activities_list');
 unset($activity_list[0]);
 $routes_per_activity = array();
 foreach ($activity_list as $activity_index => $activity) {
     $routes_per_activity[$activity_index] = array();
 }
 $routes_activities = array();
 foreach ($associated_routes as $key => $route) {
     $activities = isset($route['activities']) ? Document::convertStringToArray($route['activities']) : $route->getRaw('activities');
     if ($has_doc_activities) {
         $inter_activities = array_intersect($activities, $doc_activities);
         if (!empty($inter_activities)) {
             $activities = $inter_activities;
         }
     }
     $routes_activities[$key] = $activities;
     foreach ($activities as $activity_index) {
         $routes_per_activity[$activity_index][] = $key;
     }
 }
 $activity_summary = array();
 if (count($associated_routes) > 5) {
     foreach ($activity_list as $activity_index => $activity) {
         $nb_routes = count($routes_per_activity[$activity_index]);
开发者ID:snouhaud,项目名称:camptocamp.org,代码行数:31,代码来源:_linked_routes.php

示例4: getAssociatedRoutesData

 public static function getAssociatedRoutesData($outings)
 {
     if (count($outings) == 0) {
         return $outings;
     }
     $outing_ids = array();
     foreach ($outings as $key => $outing) {
         $outing_ids[] = $outing['id'];
         $outings[$outing['id']] = $outing;
         unset($outings[$key]);
     }
     $ro_associations = Association::countAllMain($outing_ids, 'ro');
     if (count($ro_associations) == 0) {
         return $outings;
     }
     $route_ids = array();
     foreach ($ro_associations as $ro) {
         $route_id = $ro['main_id'];
         $outing_id = $ro['linked_id'];
         $route_ids[] = $route_id;
         $outings[$outing_id]['linked_routes'] = isset($outings[$outing_id]['linked_routes']) ? array_merge($outings[$outing_id]['linked_routes'], array($route_id)) : array($route_id);
     }
     $route_ids = array_unique($route_ids);
     $outing_fields = array('max_elevation', 'height_diff_up');
     $route_ski_fields = array('toponeige_technical_rating', 'toponeige_exposition_rating', 'labande_ski_rating', 'labande_global_rating');
     $route_climbing_fields = array('global_rating', 'engagement_rating', 'objective_risk_rating', 'rock_free_rating', 'rock_required_rating', 'ice_rating', 'mixed_rating', 'aid_rating', 'rock_exposition_rating', 'equipment_rating');
     $route_hiking_fields = array('hiking_rating');
     $route_snowshoeing_fields = array('snowshoeing_rating');
     $route_fields = array_merge($route_ski_fields, $route_climbing_fields, $route_hiking_fields, $route_snowshoeing_fields);
     $routes = Document::findIn('Route', $route_ids);
     foreach ($outings as &$outing) {
         foreach ($outing_fields as $field) {
             if (!$outing[$field] instanceof Doctrine_Null) {
                 $outing[$field . '_set'] = true;
             }
         }
         $route_activities = array();
         foreach ($routes as $route) {
             if (!isset($outing['linked_routes'])) {
                 continue;
             }
             if (!in_array($route['id'], $outing['linked_routes'])) {
                 continue;
             }
             $route_activities = array_merge($route_activities, Document::convertStringToArray($route['activities']));
             // if height_diff_up or max_elevation not in outing, get values from routes
             foreach ($outing_fields as $field) {
                 if (!isset($outing[$field . '_set']) && ($outing[$field] instanceof Doctrine_Null || $route[$field] > $outing[$field])) {
                     $outing[$field] = $route[$field];
                 }
             }
             foreach ($route_fields as $field) {
                 $field_value = $route[$field];
                 if (!isset($outing[$field]) || isset($field_value) && $field_value > $outing[$field]) {
                     $outing[$field] = $field_value;
                 }
             }
         }
         $activities_to_show = array_intersect(Document::convertStringToArray($outing['activities']), $route_activities);
         if (count($activities_to_show) == 0) {
             $activities_to_show = $route_activities;
         }
         if (!count(array_intersect($activities_to_show, array(1)))) {
             foreach ($route_ski_fields as $field) {
                 $outing[$field] = null;
             }
         }
         if (!count(array_intersect($activities_to_show, array(2, 3, 4, 5)))) {
             foreach ($route_climbing_fields as $field) {
                 $outing[$field] = null;
             }
         }
         if (!count(array_intersect($activities_to_show, array(6)))) {
             foreach ($route_hiking_fields as $field) {
                 $outing[$field] = null;
             }
         }
         if (!count(array_intersect($activities_to_show, array(7)))) {
             foreach ($route_snowshoeing_fields as $field) {
                 $outing[$field] = null;
             }
         }
     }
     return $outings;
 }
开发者ID:snouhaud,项目名称:camptocamp.org,代码行数:85,代码来源:Outing.class.php

示例5: getRelatedPortals

 public static function getRelatedPortals(&$portal_list, $areas, $routes, $activities = array())
 {
     if (count($routes)) {
         $use_route_activities = empty($activities);
         $has_ice_route = false;
         $has_steep_route = false;
         $has_ta_route = false;
         $has_alpibig_route = false;
         $has_raid_route = false;
         $route_activities = $activities;
         foreach ($routes as $route) {
             if ($use_route_activities) {
                 $route_activities = $route['activities'];
                 if (!is_array($route_activities)) {
                     $route_activities = Document::convertStringToArray($route_activities);
                 }
             }
             if (array_intersect(array(2, 5), $route_activities) && !$route['ice_rating'] instanceof Doctrine_Null && $route['ice_rating'] > 0) {
                 $has_ice_route = true;
             }
             if (in_array(1, $route_activities) && !$route['toponeige_technical_rating'] instanceof Doctrine_Null && $route['toponeige_technical_rating'] >= 10) {
                 $has_steep_route = true;
             }
             if (in_array(4, $route_activities) && !$route['global_rating'] instanceof Doctrine_Null && $route['global_rating'] >= 4 && !$route['equipment_rating'] instanceof Doctrine_Null && $route['equipment_rating'] >= 8) {
                 $has_ta_route = true;
             }
             if (array_intersect(array(2, 3), $route_activities) && !$route['global_rating'] instanceof Doctrine_Null && $route['global_rating'] >= 18 && !$route['engagement_rating'] instanceof Doctrine_Null && $route['engagement_rating'] >= 4 && !$route['difficulties_height'] instanceof Doctrine_Null && $route['difficulties_height'] >= 300) {
                 $has_alpibig_route = true;
             }
             if (!$route['duration'] instanceof Doctrine_Null && $route['duration'] >= 6) {
                 $has_raid_route = true;
             }
         }
         if ($has_ice_route) {
             $portal_list[] = 'ice';
         }
         if ($has_steep_route) {
             $portal_list[] = 'steep';
         }
         if ($has_ta_route) {
             $portal_list[] = 'ta';
         }
         if ($has_alpibig_route) {
             $portal_list[] = 'alpibig';
         }
         if ($has_raid_route) {
             $portal_list[] = 'raid';
         }
     }
     Portal::getLocalPortals($portal_list, $areas);
 }
开发者ID:snouhaud,项目名称:camptocamp.org,代码行数:51,代码来源:Portal.class.php


注:本文中的Document::convertStringToArray方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。