本文整理汇总了PHP中Tag::find_all方法的典型用法代码示例。如果您正苦于以下问题:PHP Tag::find_all方法的具体用法?PHP Tag::find_all怎么用?PHP Tag::find_all使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tag
的用法示例。
在下文中一共展示了Tag::find_all方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: edit
public function edit($permalink = null)
{
$news = self::load_news($permalink, false);
if ($this->post) {
$news->title = $this->PostData('title');
$news->permalink = $this->PostData('permalink');
$news->summary = $this->PostData('summary');
$news->body = $this->PostData('body');
$news->fullbody = $this->PostData('fullbody');
$news->published = $this->PostData('published');
$news->tag_id = $this->PostData('tag_id');
$news->ipb_id = $this->PostData('ipb_id');
$news->image = $this->PostData('image');
if ($this->PostData('publish_now') == 1) {
$news->publish_at = time();
} else {
$news->set_publish_at($this->PostData('publish_at'));
}
if ($news->save()) {
$news->update_tags($this->PostData('tags'));
$news->forumSync();
Site::Flash("notice", "The news has been edited");
Redirect("admin/news");
}
}
$this->assign("news", $news);
$tags = array('' => 'None');
$allTags = Tag::find_all("tags.system = TRUE", "tags.tag ASC");
foreach ($allTags as $tag) {
$tags[$tag->id] = $tag->tag;
}
$this->assign("tags", $tags);
$this->tinymce = true;
$this->title = "Edit News";
$this->render("news/edit.tpl");
}
示例2: parse_query
//.........这里部分代码省略.........
if (!$q['vote_negated']) {
$q['error'] = "no user named " . $m[2];
}
} elseif ($m[1] == "fav") {
$q['fav'] = $m[2];
} elseif ($m[1] == "sub") {
$q['subscriptions'] = $m[2];
} elseif ($m[1] == "md5") {
$q['md5'] = $m[2];
} elseif ($m[1] == "-rating") {
$q['rating_negated'] = $m[2];
} elseif ($m[1] == "rating") {
$q['rating'] = $m[2];
} elseif ($m[1] == "id") {
$q['post_id'] = self::parse_helper($m[2]);
} elseif ($m[1] == "width") {
$q['width'] = self::parse_helper($m[2]);
} elseif ($m[1] == "height") {
$q['height'] = self::parse_helper($m[2]);
} elseif ($m[1] == "mpixels") {
$q['mpixels'] = self::parse_helper($m[2], 'float');
} elseif ($m[1] == "score") {
$q['score'] = self::parse_helper($m[2]);
} elseif ($m[1] == "source") {
$q['source'] = $m[2] . '%';
} elseif ($m[1] == "date") {
$q['date'] = self::parse_helper($m[2], 'date');
} elseif ($m[1] == "pool") {
$q['pool'] = $m[2];
if (preg_match('/^(\\d+)$/', $q['pool'])) {
$q['pool'] = (int) $q['pool'];
}
} elseif ($m[1] == "-pool") {
$pool = $m[2];
if (preg_match('/^(\\d+)$/', $pool)) {
$pool = (int) $pool;
}
$q['exclude_pools'][] = $pool;
} elseif ($m[1] == "parent") {
$q['parent_id'] = $m[2] == "none" ? false : (int) $m[2];
} elseif ($m[1] == "order") {
$q['order'] = $m[2];
} elseif ($m[1] == "unlocked") {
$m[2] == "rating" && ($q['unlocked_rating'] = true);
} elseif ($m[1] == "deleted") {
# This naming is slightly odd, to retain API compatibility with Danbooru's "deleted:true"
# search flag.
if ($m[2] == "true") {
$q['show_deleted_only'] = true;
} elseif ($m[2] == "all") {
$q['show_deleted_only'] = false;
}
# all posts, deleted or not
} elseif ($m[1] == "ext") {
$q['ext'] = $m[2];
} elseif ($m[1] == "change") {
$q['change'] = self::parse_helper($m[2]);
} elseif ($m[1] == "shown") {
$q['shown_in_index'] = $m[2] == "true";
} elseif ($m[1] == "holds") {
if ($m[2] == "true" or $m[2] == "only") {
$q['show_holds'] = 'only';
} elseif ($m[2] == "all") {
$q['show_holds'] = 'yes';
} elseif ($m[2] == "false") {
$q['show_holds'] = 'hide';
}
} elseif ($m[1] == "pending") {
if ($m[2] == "true" or $m[2] == "only") {
$q['show_pending'] = 'only';
} elseif ($m[2] == "all") {
$q['show_pending'] = 'yes';
} elseif ($m[2] == "false") {
$q['show_pending'] = 'hide';
}
} elseif ($m[1] == "limit") {
$q['limit'] = $m[2];
}
} elseif ($token[0] == '-' && strlen($token) > 1) {
$q['exclude'][] = substr($token, 1);
} elseif ($token[0] == '~' && count($token) > 1) {
$q['include'][] = substr($token, 1);
} elseif (strstr('*', $token)) {
$tags = Tag::find_all(array('conditions' => array("name LIKE ?", $token), 'select' => "name, post_count", 'limit' => 25, 'order' => "post_count DESC"));
foreach ($tags as $i) {
$matches = $i->name;
}
!$matches && ($matches = array('~no_matches~'));
$q['include'] += $matches;
} else {
$q['related'][] = $token;
}
}
if (!isset($options['skip_aliasing'])) {
isset($q['exclude']) && ($q['exclude'] = TagAlias::to_aliased($q['exclude']));
isset($q['include']) && ($q['include'] = TagAlias::to_aliased($q['include']));
isset($q['related']) && ($q['related'] = TagAlias::to_aliased($q['related']));
}
return $q;
}
示例3: switch
$cond_params[] = Request::$params->after_id;
}
if (!empty(Request::$params->id)) {
$conds[] = 'id = ?';
$cond_params[] = Request::$params->id;
}
switch (Request::$format) {
case 'json':
$tags = Tag::find_all(array('order' => $order, 'limit' => $limit, 'conditions' => array(implode(" AND ", $conds), $cond_params)));
render('json', to_json($tags));
break;
case 'xml':
if (empty(request::$params->order)) {
$order = null;
}
$conds = implode(' AND ', $conds);
// if conds == "true" && CONFIG["web_server"] == "nginx" && File.exists?("#{RAILS_ROOT}/public/tags.xml")
// # Special case: instead of rebuilding a list of every tag every time, cache it locally and tell the web
// # server to stream it directly. This only works on Nginx.
// response.headers["X-Accel-Redirect"] = "#{RAILS_ROOT}/public/tags.xml"
// render :nothing => true
// else
$tags = Tag::find('all', array('order' => $order, 'limit' => $limit, 'conditions' => array($conds, $cond_params)));
render('xml', $tags->to_xml(), array('root', "tags"));
// end
break;
}
array_unshift($cond_params, implode(" AND ", $conds));
$params = array('order' => $order, 'per_page' => 50, 'page' => Request::$params->page, 'conditions' => $cond_params, 'calc_rows' => 'found_posts');
$tags = Tag::find_all($params);
calc_pages();
示例4: diario_post_add
/**
* @fn diario_post_add
* @short Action method to save a newly composed article.
*/
public function diario_post_add()
{
if (isset($_POST)) {
$conn = Db::get_connection();
$post = new DiarioPost($_POST);
$post->author = $_COOKIE['_u'];
$post->save();
// Delete old tags (if any)
$conn->prepare('DELETE FROM `diario_posts_tags` ' . "WHERE `post_id` = '{1}'", $post->id);
$conn->exec();
// Save tags
$tag_tokens = explode(',', $_POST['tag']);
$tag_tokens = array_map('trim', $tag_tokens);
$tag_factory = new Tag();
foreach ($tag_tokens as $tag_token) {
if (empty($tag_token)) {
continue;
}
$tag_results = $tag_factory->find_all(array('where_clause' => "`tag` = '{$tag_token}'"));
if (count($tag_results) > 0) {
$tag = $tag_results[0];
} else {
$tag = new Tag();
$tag->tag = $tag_token;
$tag->save();
}
$conn->prepare('INSERT IGNORE INTO `diario_posts_tags` ' . '(`post_id`, `tag_id`) ' . "VALUES ('{1}', '{2}')", $post->id, $tag->id);
$conn->exec();
Db::close_connection($conn);
}
// Expires the cache of Diario
$this->expire_cached_page(array('controller' => 'diario', 'action' => 'index'));
$this->expire_cached_page(array('controller' => 'diario', 'action' => 'last_posts'));
$this->expire_cached_page(array('controller' => 'diario', 'action' => 'read', 'id' => $post->id));
// Expires the cache of Diario feed
$this->expire_cached_page(array('controller' => 'feed', 'action' => 'diario'));
}
$this->redirect_to(array('action' => 'diario_post_list'));
}
示例5: l
<h3><?php
echo l("Tag cloud");
?>
</h3>
<div id="tag-cloud">
<?php
$tag_factory = new Tag();
$tags = $tag_factory->find_all(array('order_by' => '`tag` ASC'));
$max = 0;
if (count($tags) > 0) {
foreach ($tags as $tag) {
$tag->has_and_belongs_to_many('diario_posts');
//print_r($tag);
$max = max($max, count($tag->diario_posts));
}
foreach ($tags as $tag) {
if (($weight = count($tag->diario_posts)) > 0) {
$style = 'font-size:' . round($weight / $max * 16 + 10) . 'px';
?>
<?php
echo $this->link_to($tag->tag, array('action' => 'tag', 'id' => $tag->id, 'style' => $style));
}
}
} else {
echo em(l('No items'), NULL);
}
?>
</div>