本文整理汇总了PHP中Text::select方法的典型用法代码示例。如果您正苦于以下问题:PHP Text::select方法的具体用法?PHP Text::select怎么用?PHP Text::select使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Text
的用法示例。
在下文中一共展示了Text::select方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: foreach
function build_autos($items, $data, $user)
{
foreach ($items as $index => &$item) {
if (isset($item['auto'])) {
if (isset($data['urls'][$item['auto']])) {
$item['path'] = $data['urls'][$item['auto']];
} else {
if ($item['auto'] === 'set') {
$item['path'] = '';
}
}
if ($item['auto'] === 'profile') {
switch ($item['id']) {
case 'twitter':
$item['path'] = 'https://twitter.com/' . $user->twitter;
break;
default:
$item['path'] = $user->{$item['id']};
if (empty($item['path'])) {
unset($items[$index]);
continue;
}
break;
}
if (!isset($item['label']) || empty($item['label'])) {
$item['label'] = ucwords($item['id']) . ($item['id'] === 'google' ? '+' : '');
}
} else {
if ($item['auto'] === 'rss') {
$item['path'] = '/feed/' . $item['id'] . ($item['id'] === 'essay' ? 's' : '') . '/recent.rss';
if (!isset($item['label'])) {
$item['label'] = $data['url_data'][$item['id']]['plural'] . ' RSS';
}
} else {
if (preg_match('/s$/', $item['auto']) || $item['auto'] === 'timeline') {
if ($item['auto'] === 'timeline' && isset($item['year'])) {
$item['path'] .= $item['year'] . '/';
if (isset($item['month']) && $item['month'] !== false && $item['month'] !== 'any') {
$m = str_pad($item['month'], 2, '0', STR_PAD_LEFT);
$item['path'] .= $m . '/';
}
}
if (strpos($item['auto'], '_') !== false) {
foreach (array('id', 'slug', 'month', 'year', 'day') as $id) {
if ($id === 'month') {
if (!isset($item['month']) || $item['month'] === 'any' || $item['month'] === false) {
$item['month'] = '';
} else {
$item['month'] = str_pad($item['month'], 2, '0', STR_PAD_LEFT);
}
}
if ($id === 'day' && !isset($item['day'])) {
$item['day'] = '';
}
if ($id === 'slug' && !isset($item['slug']) && isset($item['id'])) {
if (strpos($item['auto'], 'tag_') === 0) {
$item['slug'] = $item['id'];
} else {
$c = new Category();
if (is_numeric($item['id'])) {
$c->select('slug')->get_by_id($item['id']);
$item['slug'] = $c->slug;
} else {
$item['slug'] = $item['id'];
}
}
}
if (isset($item[$id])) {
$item['path'] = str_replace(":{$id}", $item[$id], $item['path']);
}
}
} else {
if (!isset($item['label'])) {
$item['label'] = $data['url_data'][$item['auto'] === 'categories' ? 'category' : rtrim($item['auto'], 's')]['plural'];
}
}
} else {
if ($item['auto'] === 'home') {
if (!isset($item['label'])) {
$item['label'] = $data['url_data']['home'];
}
$item['path'] = '/home/';
} else {
if ($item['auto'] === 'album' || $item['auto'] === 'set') {
$a = new Album();
$a->select('id,slug,created_on,title');
if (is_numeric($item['id'])) {
$a->where('id', $item['id']);
} else {
$a->where('slug', $item['id'])->or_where('internal_id', $item['id']);
}
$a->get();
if (!$a->exists()) {
unset($items[$index]);
continue;
}
$item['path'] = str_replace(':id', $a->id, $item['path']);
$item['path'] = str_replace(':slug', $a->slug, $item['path']);
$item['path'] = str_replace(':year', date('Y', $a->created_on), $item['path']);
$item['path'] = str_replace(':month', date('m', $a->created_on), $item['path']);
//.........这里部分代码省略.........
示例2: listing
function listing($params)
{
$sort = $this->_get_site_order('essay');
$options = array('page' => 1, 'order_by' => $sort['by'], 'order_direction' => $sort['direction'], 'tags' => false, 'tags_not' => false, 'match_all_tags' => false, 'limit' => 100, 'published' => 1, 'category' => false, 'category_not' => false, 'featured' => null, 'type' => false, 'state' => false, 'year' => false, 'year_not' => false, 'letter' => false, 'month' => false, 'month_not' => false, 'day' => false, 'day_not' => false, 'render' => true, 'tags' => false);
$options = array_merge($options, $params);
if (isset($params['order_by']) && !isset($params['order_direction'])) {
$options['order_direction'] = in_array($params['order_by'], array('title')) ? 'ASC' : 'DESC';
}
if (!$options['auth']) {
$options['state'] = 'published';
}
if ($options['featured'] == 1 && !isset($params['order_by'])) {
$options['order_by'] = 'featured_on';
}
if (is_numeric($options['limit']) && $options['limit'] > 0) {
$options['limit'] = min($options['limit'], 100);
} else {
$options['limit'] = 100;
}
if ($options['type']) {
if ($options['type'] === 'essay') {
$this->where('page_type', 0);
} else {
if ($options['type'] === 'page') {
$this->where('page_type', 1);
}
}
}
if ($options['auth'] && $options['type'] === 'page') {
$options['state'] = false;
$options['order_by'] = 'modified_on';
}
if ($options['state']) {
if ($options['state'] === 'published') {
$this->where('published', 1);
} else {
if ($options['state'] === 'draft' && $options['order_by'] !== 'published_on') {
$this->where('published', 0);
}
}
}
if ($options['order_by'] === 'published_on') {
$this->where('published', 1);
}
if ($options['tags'] || $options['tags_not']) {
$this->_do_tag_filtering($options);
}
if (!is_null($options['featured'])) {
$this->where('featured', $options['featured']);
if ($options['featured']) {
$this->where('published', 1);
}
}
if ($options['category']) {
$this->where_related('category', 'id', $options['category']);
} else {
if ($options['category_not']) {
$cat = new Text();
$cat->select('id')->where_related('category', 'id', $options['category_not'])->get_iterated();
$cids = array();
foreach ($cat as $c) {
$cids[] = $c->id;
}
$this->where_not_in('id', $cids);
}
}
if ($options['order_by'] === 'created_on' || $options['order_by'] === 'published_on' || $options['order_by'] === 'modified_on') {
$bounds_order = $options['order_by'];
} else {
$bounds_order = 'published_on';
}
$s = new Setting();
$s->where('name', 'site_timezone')->get();
$tz = new DateTimeZone($s->value);
$offset = $tz->getOffset(new DateTime('now', new DateTimeZone('UTC')));
if ($offset === 0) {
$shift = '';
} else {
$shift = ($offset < 0 ? '-' : '+') . abs($offset);
}
// Do this before date filters are applied, and only if sorted by created_on
$bounds = $this->get_clone()->select('COUNT(DISTINCT ' . $this->table . '.id) as count, MONTH(FROM_UNIXTIME(' . $bounds_order . $shift . ')) as month, YEAR(FROM_UNIXTIME(' . $bounds_order . $shift . ')) as year')->group_by('month,year')->order_by('year')->get_iterated();
$dates = array();
foreach ($bounds as $b) {
if (!isset($dates[$b->year])) {
$dates[$b->year] = array();
}
$dates[$b->year][$b->month] = (int) $b->count;
}
if (in_array($options['order_by'], array('created_on', 'published_on', 'modified_on'))) {
$date_col = $options['order_by'];
} else {
$date_col = 'published_on';
}
// So featured_image eager loading doesn't break this down (ambiguous column name)
$date_col = $this->table . '.' . $date_col;
if ($options['year'] || $options['year_not']) {
if ($options['year_not']) {
$options['year'] = $options['year_not'];
$compare = ' !=';
//.........这里部分代码省略.........
示例3: indexationBuild
public static function indexationBuild()
{
set_time_limit(0);
/* * ****** PAGE ******* */
$pageSelect = new PagesIndex();
$select = $pageSelect->select()->where('PI_Status = 1');
$pageData = $pageSelect->fetchAll($select)->toArray();
$cpt = count($pageData);
for ($i = 0; $i < $cpt; $i++) {
$indexData['action'] = "add";
$indexData['pageID'] = $pageData[$i]['PI_PageID'];
$indexData['moduleID'] = 0;
$indexData['contentID'] = $pageData[$i]['PI_PageID'];
$indexData['languageID'] = $pageData[$i]['PI_LanguageID'];
$indexData['title'] = $pageData[$i]['PI_PageTitle'];
$indexData['text'] = '';
$indexData['link'] = '';
$indexData['contents'] = $pageData[$i]['PI_PageTitle'];
Cible_FunctionsIndexation::indexation($indexData);
}
/* * ****** TEXT ******* */
if (class_exists('Text', false)) {
$textSelect = new Text();
$select = $textSelect->select()->setIntegrityCheck(false)->from('TextData', array('ID' => 'TD_ID', 'LanguageID' => 'TD_LanguageID', 'Text' => 'TD_OnlineText'))->join('Blocks', 'B_ID = TD_BlockID', array('BlockID' => 'B_ID', 'ModuleID' => 'B_ModuleID'))->where('B_Online = 1')->join('PagesIndex', 'PI_PageID = B_PageID', array('PageID' => 'PI_PageID', 'Title' => 'PI_PageTitle'))->where('PI_Status = 1')->where('PI_LanguageID = TD_LanguageID');
$textData = $textSelect->fetchAll($select)->toArray();
$cpt = count($textData);
for ($i = 0; $i < $cpt; $i++) {
$indexData['action'] = "add";
$indexData['pageID'] = $textData[$i]['PageID'];
$indexData['moduleID'] = $textData[$i]['ModuleID'];
$indexData['contentID'] = $textData[$i]['ID'];
$indexData['languageID'] = $textData[$i]['LanguageID'];
$indexData['title'] = $textData[$i]['Title'];
$indexData['text'] = '';
$indexData['link'] = '';
$indexData['contents'] = $textData[$i]['Title'] . " " . $textData[$i]['Text'];
Cible_FunctionsIndexation::indexation($indexData);
}
}
/* * ********************* */
/* * ****** NEWS ******* */
if (class_exists('NewsData', false)) {
$newsSelect = new NewsData();
$select = $newsSelect->select()->setIntegrityCheck(false)->from('NewsData', array('NewsID' => 'ND_ID', 'CategoryID' => 'ND_CategoryID'))->join('NewsIndex', 'NI_NewsDataID = ND_ID', array('LanguageID' => 'NI_LanguageID', 'NewsTitle' => 'NI_Title', 'NewsBrief' => 'NI_Brief', 'NewsText' => 'NI_Text', 'NewsImageAlt' => 'NI_ImageAlt'))->where('NI_Status = 1');
$newsData = $newsSelect->fetchAll($select);
$cpt = count($newsData);
for ($i = 0; $i < $cpt; $i++) {
$indexData['action'] = "add";
$indexData['pageID'] = $newsData[$i]['CategoryID'];
$indexData['moduleID'] = 2;
$indexData['contentID'] = $newsData[$i]['NewsID'];
$indexData['languageID'] = $newsData[$i]['LanguageID'];
$indexData['title'] = $newsData[$i]['NewsTitle'];
$indexData['text'] = '';
$indexData['link'] = '';
$indexData['contents'] = $newsData[$i]['NewsTitle'] . " " . $newsData[$i]['NewsBrief'] . " " . $newsData[$i]['NewsText'] . " " . $newsData[$i]['NewsImageAlt'];
Cible_FunctionsIndexation::indexation($indexData);
}
}
/* * ********************* */
/* * ****** EVENTS ******* */
if (class_exists('EventsIndex', false)) {
$eventsSelect = new EventsIndex();
$select = $eventsSelect->select()->setIntegrityCheck(false)->from('EventsIndex', array('ID' => 'EI_EventsDataID', 'LanguageID' => 'EI_LanguageID', 'Title' => 'EI_Title', 'Brief' => 'EI_Brief', 'Text' => 'EI_Text', 'ImageAlt' => 'EI_ImageAlt'))->join('EventsData', 'ED_ID = EI_EventsDataID', array('CategoryID' => 'ED_CategoryID'))->where('EI_Status = 1');
$eventsData = $eventsSelect->fetchAll($select)->toArray();
$cpt = count($eventsData);
for ($i = 0; $i < $cpt; $i++) {
$indexData['action'] = "add";
$indexData['pageID'] = $eventsData[$i]['CategoryID'];
$indexData['moduleID'] = 7;
$indexData['contentID'] = $eventsData[$i]['ID'];
$indexData['languageID'] = $eventsData[$i]['LanguageID'];
$indexData['title'] = $eventsData[$i]['Title'];
$indexData['text'] = '';
$indexData['link'] = '';
$indexData['contents'] = $eventsData[$i]['Title'] . " " . $eventsData[$i]['Brief'] . " " . $eventsData[$i]['Text'] . " " . $eventsData[$i]['ImageAlt'];
Cible_FunctionsIndexation::indexation($indexData);
}
}
/* * ********************* */
/* * ****** GALLERY ******* */
if (class_exists('Galleries', false)) {
$gallerySelect = new Galleries();
$select = $gallerySelect->select()->setIntegrityCheck(false)->from('Galleries', array('ID' => 'G_ID', 'CategoryID' => 'G_CategoryID'))->where('G_Online = 1')->join('GalleriesIndex', 'GI_GalleryID = G_ID', array('LanguageID' => 'GI_LanguageID', 'Title' => 'GI_Title', 'Description' => 'GI_Description'))->join('ImagesIndex', 'II_ImageID = G_ImageID', array('ImageTitle' => 'II_Title', 'ImageDescription' => 'II_Description'))->where('II_LanguageID = GI_LanguageID');
$galleryData = $gallerySelect->fetchAll($select);
$cpt = count($galleryData);
for ($i = 0; $i < $cpt; $i++) {
$indexData['action'] = "add";
$indexData['pageID'] = $galleryData[$i]['CategoryID'];
$indexData['moduleID'] = 9;
$indexData['contentID'] = $galleryData[$i]['ID'];
$indexData['languageID'] = $galleryData[$i]['LanguageID'];
$indexData['title'] = $galleryData[$i]['Title'];
$indexData['text'] = '';
$indexData['link'] = 'gallery';
$indexData['contents'] = $galleryData[$i]['Title'] . " " . $galleryData[$i]['Description'] . " " . $galleryData[$i]['ImageTitle'] . " " . $galleryData[$i]['ImageDescription'];
Cible_FunctionsIndexation::indexation($indexData);
$imagesSelect = new GalleriesImages();
$select = $imagesSelect->select()->setIntegrityCheck(false)->from('Galleries_Images', array('ID' => 'GI_ImageID'))->where('GI_GalleryID = ?', $galleryData[$i]['ID'])->where('GI_Online = 1')->join('ImagesIndex', 'II_ImageID = GI_ImageID', array('LanguageID' => 'II_LanguageID', 'Title' => 'II_Title', 'Description' => 'II_Description'));
$imagesData = $imagesSelect->fetchAll($select);
//.........这里部分代码省略.........
示例4: aggregate
function aggregate($type, $options = array())
{
$options = array_merge(array('featured' => false), $options);
$shared_params = array();
if ($type === 'tag') {
$shared_params['tags'] = $options['tag_slug'];
} else {
if ($type === 'category') {
$shared_params['category'] = $options['category'];
}
}
$album_params = $shared_params;
$date_marker = false;
if ($type === 'date') {
$s = new Setting();
$s->where('name', 'site_timezone')->get();
$tz = new DateTimeZone($s->value);
$offset = $tz->getOffset(new DateTime('now', new DateTimeZone('UTC')));
if ($offset === 0) {
$shift = '';
} else {
$shift = ($offset < 0 ? '-' : '+') . abs($offset);
}
// Need to - the offset here, as we need to shift this timestamp by the inverse of the offset to match DB UTC time.
// For example. Midnight in user's time (say, CT -5) is UTC+5.
$album_params['before'] = $date_marker = strtotime("{$options['year']}-{$options['month']}-{$options['day']} 23:59:59") - $offset;
}
$aggregate = $essay_ids = $album_ids = $content_ids = $updated_album_ids = $exclude_albums = $exclude_content = $sets = $range = array();
$t = new Text();
$t->select('id, featured, featured_image_id, published_on')->where('page_type', 0)->where('published', 1);
if ($type === 'date') {
$t->where("YEAR(FROM_UNIXTIME({$t->table}.published_on{$shift}))", $options['year'])->where("MONTH(FROM_UNIXTIME({$t->table}.published_on{$shift}))", $options['month'])->where("DAY(FROM_UNIXTIME({$t->table}.published_on{$shift}))", $options['day']);
} else {
if ($type === 'tag') {
$t->where_related('tag', 'id', $options['tag']);
} else {
$t->where_related('category', 'id', $options['category']);
}
}
if ($options['featured']) {
$t->where('featured', 1);
}
$t->include_related('album', 'id')->order_by($t->table . '.published_on DESC')->get_iterated();
foreach ($t as $essay) {
$essay_ids[$essay->id] = $essay->published_on;
$aggregate[] = array('type' => 'essay', 'id' => $essay->id, 'date' => $essay->published_on, 'featured' => $essay->featured);
if ($essay->album_id) {
$exclude_albums[] = $essay->album_id;
}
if (is_numeric($essay->featured_image_id)) {
$exclude_content[] = $essay->featured_image_id;
}
}
$a = new Album();
$a->select('id, featured, published_on, left_id, right_id, level')->where('visibility', 0)->where('deleted', 0)->where('total_count >', 0);
if ($type === 'date') {
$a->where("YEAR(FROM_UNIXTIME({$a->table}.published_on{$shift}))", $options['year'])->where("MONTH(FROM_UNIXTIME({$a->table}.published_on{$shift}))", $options['month'])->where("DAY(FROM_UNIXTIME({$a->table}.published_on{$shift}))", $options['day']);
} else {
if ($type === 'tag') {
$a->where_related('tag', 'id', $options['tag']);
} else {
$a->where_related('category', 'id', $options['category']);
}
}
if ($options['featured']) {
$a->where('featured', 1);
}
$a->include_related('content', 'id')->order_by($a->table . '.published_on DESC')->get_iterated();
foreach ($a as $album) {
if (is_numeric($album->content_id)) {
$exclude_content[] = $album->content_id;
}
if (!array_key_exists($album->id, $album_ids) && !in_array($album->id, $exclude_albums)) {
$album_ids[$album->id] = $album->published_on;
$aggregate[] = array('type' => 'album', 'id' => $album->id, 'date' => $album->published_on, 'featured' => $album->featured);
}
if ($album->level < 2) {
$range = array_merge($range, range($album->left_id, $album->right_id));
}
if ($album->level > 1) {
$sets[$album->id] = $album->left_id;
}
}
foreach ($sets as $id => $left) {
if (in_array($left, $range)) {
unset($album_ids[$id]);
foreach ($aggregate as $i => $info) {
if ($info['type'] === 'album' && $info['id'] == $id) {
unset($aggregate[$i]);
}
}
}
}
$c = new Content();
$c->select('id, published_on, featured');
if (!empty($exclude_content)) {
$c->where_not_in('id', $exclude_content);
}
$c->where('visibility', 0)->where('deleted', 0);
if ($type === 'date') {
//.........这里部分代码省略.........
示例5: listing
//.........这里部分代码省略.........
}
} else {
$this->group_start();
$this->like($options['search_filter'], $term, 'both');
$this->group_end();
}
} else {
$this->group_start();
$this->like('title', $term, 'both');
$this->or_like('caption', $term, 'both');
$t = new Tag();
$t->where('name', $term)->get();
if ($t->exists()) {
$this->or_where_related('tag', 'id', $t->id);
}
$this->group_end();
}
} else {
if ($options['tags'] || $options['tags_not']) {
$this->_do_tag_filtering($options);
}
}
if (!is_null($options['featured'])) {
$this->where('featured', $options['featured']);
}
if (!is_null($options['favorites'])) {
$this->where('favorite', $options['favorites']);
}
if ($options['category']) {
$this->where_related('category', 'id', $options['category']);
} else {
if ($options['category_not']) {
$cat = new Content();
$cat->select('id')->where_related('category', 'id', $options['category_not'])->get_iterated();
$cids = array();
foreach ($cat as $c) {
$cids[] = $c->id;
}
$this->where_not_in('id', $cids);
}
}
if ($options['after']) {
$this->where($options['after_column'] . ' >=', $options['after']);
}
if ($options['before']) {
$this->where($options['before_column'] . ' <=', $options['before']);
}
if ($options['visibility'] === 'album') {
$this->where('visibility <', $options['in_album']->visibility + 1);
} else {
if ($options['visibility'] !== false) {
$this->where('visibility', $options['visibility']);
}
}
if ($id) {
$sql_order = "ORDER BY FIELD(id,{$id})";
$id = explode(',', $id);
$this->where_in('id', $id);
}
if ($options['order_by'] === 'captured_on' || $options['order_by'] === 'uploaded_on' || $options['order_by'] === 'modified_on' || $options['order_by'] === 'published_on') {
$bounds_order = $options['order_by'];
} else {
$bounds_order = 'published_on';
}
$s = new Setting();
$s->where('name', 'site_timezone')->get();
示例6: listing
//.........这里部分代码省略.........
$options['visibility'] = $this->visibility;
} else {
if ($options['auth']) {
if (isset($options['visibility'])) {
$values = array('public', 'unlisted', 'private');
if (in_array($options['visibility'], $values)) {
$options['visibility'] = array_search($options['visibility'], $values);
} else {
$options['visibility'] = 0;
}
} else {
$options['visibility'] = 0;
}
} else {
$options['visibility'] = 0;
}
}
$this->where('visibility', $options['visibility']);
if ($options['visibility'] > 0 && ($options['order_by'] === 'manual' || $options['order_by'] === 'published_on')) {
$options['order_by'] = 'title';
}
if (!$options['include_empty']) {
$this->where('total_count >', 0);
}
if ($options['featured'] || $options['category'] || $options['category_not']) {
if ($options['featured']) {
$this->where('featured', 1);
}
if ($options['category']) {
$this->where_related('category', 'id', $options['category']);
} else {
if ($options['category_not']) {
$cat = new Album();
$cat->select('id')->where_related('category', 'id', $options['category_not'])->get_iterated();
$cids = array();
foreach ($cat as $c) {
$cids[] = $c->id;
}
$this->where_not_in('id', $cids);
}
}
} else {
if ($options['featured'] !== false && (int) $options['featured'] === 0) {
$this->where('featured', 0);
} else {
if (!$sub_list && !$options['category'] && !$options['tags'] && !$options['year'] && !$options['flat']) {
$this->where('level', 1);
}
}
}
if ($options['order_by'] === 'left_id' && ($options['tags'] || $options['year'])) {
$options['order_by'] = 'title,id';
$options['order_direction'] = 'asc';
}
if (in_array($options['order_by'], array('created_on', 'modified_on'))) {
$date_col = $options['order_by'];
} else {
$date_col = 'published_on';
}
$s = new Setting();
$s->where('name', 'site_timezone')->get();
$tz = new DateTimeZone($s->value);
$offset = $tz->getOffset(new DateTime('now', new DateTimeZone('UTC')));
if ($offset === 0) {
$shift = '';
} else {
示例7: Setting
function _all($params)
{
$s = new Setting();
$s->where('name', 'site_timezone')->get();
$tz = new DateTimeZone($s->value);
$offset = $tz->getOffset(new DateTime('now', new DateTimeZone('UTC')));
if ($offset === 0) {
$shift = '';
} else {
$shift = ($offset < 0 ? '-' : '+') . abs($offset);
}
$content_col = $params['content_column'];
$select = "COUNT(*) as count, YEAR(FROM_UNIXTIME({$content_col}{$shift})) as event_year";
$group = 'event_year';
$order = 'event_year DESC';
if (!$params['scope'] || $params['scope'] !== 'year') {
$select .= ", MONTH(FROM_UNIXTIME({$content_col}{$shift})) as event_month";
$group .= ',event_month';
$order .= ',event_month DESC';
}
if (!$params['limit_to'] && !$params['scope']) {
$select .= ", DAY(FROM_UNIXTIME({$content_col}{$shift})) as event_day";
$group .= ',event_day';
$order .= ',event_day DESC';
}
$a = new Album();
$c = new Content();
$t = new Text();
$c->select(str_replace($content_col, $c->table . '.' . $content_col, $select))->include_related('album', 'id')->where('visibility', 0)->where('deleted', 0);
if (!$params['limit_to']) {
$c->group_start()->where('album_id', null)->or_where($c->table . '.published_on > `' . $a->table . '`.`published_on`')->group_end();
}
$a->select(str_replace($content_col, 'published_on', $select))->where('visibility', 0)->where('deleted', 0)->where('total_count >', 0);
$t->select(str_replace($content_col, 'published_on', $select))->where('page_type', 0)->where('published', 1);
if ($params['featured']) {
$c->where('featured', 1);
$a->where('featured', 1);
$t->where('featured', 1);
}
$c->group_by($group)->order_by($order);
$t->group_by($group)->order_by($order);
$a->group_by($group)->order_by($order);
$dates = array();
if (!$params['limit_to'] || $params['limit_to'] === 'content') {
foreach ($c->get_iterated() as $content) {
if ($params['scope'] === 'year') {
$key = "{$content->event_year}";
} else {
if ($params['limit_to'] || $params['scope']) {
$key = "{$content->event_year}-{$content->event_month}";
} else {
$key = "{$content->event_year}-{$content->event_month}-{$content->event_day}";
}
}
$key = strtotime($key);
if (is_numeric($content->event_year)) {
$dates[$key] = array('year' => (int) $content->event_year, 'month' => (int) $content->event_month, 'day' => (int) $content->event_day, 'counts' => array('content' => (int) $content->count, 'albums' => 0, 'essays' => 0));
}
}
}
if (!$params['limit_to'] || $params['limit_to'] === 'albums') {
foreach ($a->get_iterated() as $album) {
if ($params['scope'] === 'year') {
$key = "{$album->event_year}";
} else {
if ($params['limit_to'] || $params['scope']) {
$key = "{$album->event_year}-{$album->event_month}";
} else {
$key = "{$album->event_year}-{$album->event_month}-{$album->event_day}";
}
}
$key = strtotime($key);
if (is_numeric($album->event_year)) {
if (!isset($dates[$key])) {
$dates[$key] = array('year' => (int) $album->event_year, 'month' => (int) $album->event_month, 'day' => (int) $album->event_day, 'counts' => array('content' => 0, 'albums' => (int) $album->count, 'essays' => 0));
} else {
$dates[$key]['counts']['albums'] = (int) $album->count;
}
}
}
}
if (!$params['limit_to'] || $params['limit_to'] === 'essays') {
foreach ($t->get_iterated() as $essay) {
if ($params['scope'] === 'year') {
$key = "{$essay->event_year}";
} else {
if ($params['limit_to'] || $params['scope']) {
$key = "{$essay->event_year}-{$essay->event_month}";
} else {
$key = "{$essay->event_year}-{$essay->event_month}-{$essay->event_day}";
}
}
$key = strtotime($key);
if (is_numeric($essay->event_year)) {
if (!isset($dates[$key])) {
$dates[$key] = array('year' => (int) $essay->event_year, 'month' => (int) $essay->event_month, 'day' => (int) $essay->event_day, 'counts' => array('content' => 0, 'albums' => 0, 'essays' => (int) $essay->count));
} else {
$dates[$key]['counts']['essays'] = (int) $essay->count;
}
}
//.........这里部分代码省略.........
示例8: editAction
public function editAction()
{
$this->view->title = "Modification d'un texte";
if ($this->view->aclIsAllowed('text', 'edit', true)) {
$_blockID = $this->_getParam('blockID');
$_pageid = $this->_getParam('pageID');
$_id = $this->_getParam('ID');
$base_dir = $this->getFrontController()->getBaseUrl();
$blockText = new Text();
$select = $blockText->select();
$select->where('TD_BlockID = ?', $_blockID);
$select->where('TD_LanguageID = ?', $this->_currentEditLanguage);
$block = $blockText->fetchRow($select);
$blockSelect = new Blocks();
$selectBloc = $blockSelect->select()->setIntegrityCheck(false)->from('Blocks')->where('B_ID = ?', $_blockID)->join('PagesIndex', 'PI_PageID = B_PageID')->where('PI_LanguageID = ?', $block['TD_LanguageID']);
// If block doesn't exist, creates it.
if (empty($block)) {
$block = $blockText->createRow(array('TD_BlockID' => $_blockID, 'TD_LanguageID' => $this->_currentEditLanguage));
$block->save();
// load it
$block = $blockText->fetchRow($select);
}
if ($_id) {
$returnLink = "{$base_dir}/text/index/list-approbation-request/";
} else {
$returnLink = "{$base_dir}/page/index/index/ID/{$_pageid}";
}
$form = new FormText(array('baseDir' => $base_dir, 'pageID' => $_pageid, 'cancelUrl' => $returnLink, 'toApprove' => $block["TD_ToApprove"]));
if (!$this->_request->isPost()) {
$block_data = empty($block) ? array() : $block->toArray();
$blockData = $blockSelect->fetchRow($selectBloc);
$block_data['PI_PageTitle'] = $blockData['PI_PageTitle'];
$form->populate($block_data);
} else {
$formData = $this->_request->getPost();
if ($form->isValid($formData)) {
if (isset($_POST['submitSaveSubmit'])) {
$block['TD_ToApprove'] = 1;
//header("location:".$returnLink);
} elseif (isset($_POST['submitSaveReturnWriting'])) {
$block['TD_ToApprove'] = 0;
//header("location:".$returnLink);
} elseif (isset($_POST['submitSaveOnline'])) {
$block['TD_OnlineTitle'] = $formData['TD_DraftTitle'];
$block['TD_OnlineText'] = $formData['TD_DraftText'];
$block['TD_ToApprove'] = 0;
//header("location:".$returnLink);
// index the new text if block online
$blockData = $blockSelect->fetchRow($selectBloc);
if ($blockData['B_Online'] == 1 && $blockData['PI_Status'] == 1) {
$indexData['pageID'] = $blockData['B_PageID'];
$indexData['moduleID'] = $blockData['B_ModuleID'];
$indexData['contentID'] = $block['TD_ID'];
$indexData['languageID'] = $block['TD_LanguageID'];
$indexData['title'] = $blockData['PI_PageTitle'];
$indexData['text'] = '';
$indexData['link'] = '';
$indexData['contents'] = $blockData['PI_PageTitle'] . " " . $block['TD_OnlineText'];
$indexData['action'] = 'update';
Cible_FunctionsIndexation::indexation($indexData);
}
} else {
$returnLink = "";
}
$block['TD_DraftTitle'] = $formData['TD_DraftTitle'];
$block['TD_DraftText'] = $formData['TD_DraftText'];
$block->save();
$oPage = new PagesObject();
$pageData['P_ID'] = $_pageid;
$pageData['PI_PageTitle'] = $formData['PI_PageTitle'];
$oPage->save($_pageid, $pageData, $this->_currentEditLanguage);
//if($returnLink <> "")
//$this->_redirect("/page/index/index/ID/$_pageid");
}
}
$this->view->assign('form', $form);
$this->view->assign('pageId', $_pageid);
$this->view->assign('onlineTitle', isset($block['TD_OnlineTitle']) ? $block['TD_OnlineTitle'] : '');
$this->view->assign('onlineText', isset($block['TD_OnlineText']) ? $block['TD_OnlineText'] : '');
}
}