本文整理汇总了PHP中Core_Model_Item_Abstract类的典型用法代码示例。如果您正苦于以下问题:PHP Core_Model_Item_Abstract类的具体用法?PHP Core_Model_Item_Abstract怎么用?PHP Core_Model_Item_Abstract使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Core_Model_Item_Abstract类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getUnreadMessageCount
public function getUnreadMessageCount(Core_Model_Item_Abstract $user)
{
$identity = $user->getIdentity();
$rName = Engine_Api::_()->getDbtable('recipients', 'messages')->info('name');
$select = Engine_Api::_()->getDbtable('recipients', 'messages')->select()->setIntegrityCheck(false)->from($rName, new Zend_Db_Expr('COUNT(conversation_id) AS unread'))->where($rName . '.user_id = ?', $identity)->where($rName . '.inbox_deleted = ?', 0)->where($rName . '.inbox_read = ?', 0);
$data = Engine_Api::_()->getDbtable('recipients', 'messages')->fetchRow($select);
return (int) $data->unread;
}
示例2: getInvitedMembers
public function getInvitedMembers(Core_Model_Item_Abstract $resource)
{
$rejected_ignored = 1;
$resource_approved = 1;
$active = 0;
$table = $this->getTable();
$select = $table->select()->where('resource_id = ?', $resource->getIdentity())->where("active = {$active} AND (rejected_ignored = {$rejected_ignored} OR resource_approved = {$resource_approved})");
return $select;
}
示例3: getUnreadMessageCount
public function getUnreadMessageCount(Core_Model_Item_Abstract $user)
{
$identity = $user->getIdentity();
$rName = Engine_Api::_()->getDbtable('recipients', 'messages')->info('name');
$cName = Engine_Api::_()->getDbtable('conversations', 'messages')->info('name');
$enabledModules = Engine_Api::_()->getDbtable('modules', 'core')->getEnabledModuleNames();
$select = Engine_Api::_()->getDbtable('recipients', 'messages')->select()->setIntegrityCheck(false)->from($rName, new Zend_Db_Expr("COUNT(`{$rName}`.conversation_id) AS unread"))->joinRight($cName, "`{$cName}`.`conversation_id` = `{$rName}`.`conversation_id`", null)->where($rName . '.user_id = ?', $identity)->where($rName . '.inbox_deleted = ?', 0)->where($rName . '.inbox_read = ?', 0)->where("`{$cName}`.`resource_type` IS NULL or `{$cName}`.`resource_type` ='' or `{$cName}`.`resource_type` IN (?)", $enabledModules);
$data = Engine_Api::_()->getDbtable('recipients', 'messages')->fetchRow($select);
return (int) $data->unread;
}
示例4: altUrl
public function altUrl(Core_Model_Item_Abstract $item)
{
$db = Engine_Db_Table::getDefaultAdapter();
if (isset($this->_memo[$item->getGuid()])) {
return $this->_memo[$item->getGuid()];
}
$url = $db->select()->from('engine4_seo_pages', 'url')->where('page_id = ?', $item->getGuid())->query()->fetchColumn();
$this->_memo[$item->getGuid()] = $url;
return $url;
}
示例5: isVoted
public function isVoted(Core_Model_Item_Abstract $idea, Core_Model_Item_Abstract $poster = null)
{
if (is_null($poster)) {
$poster = Engine_Api::_()->user()->getViewer();
}
if (!$poster->getIdentity()) {
return false;
}
$row = $this->getVote($idea->getIdentity(), $poster->getIdentity());
if (is_null($row) || $row->value == '0') {
return false;
}
return true;
}
示例6: updateComment
public function updateComment(Core_Model_Item_Abstract $resource, Core_Model_Item_Abstract $poster, $body)
{
$table = $this->getCommentTable();
$row = $table->createRow();
if (isset($row->resource_type)) {
$row->resource_type = $resource->getType();
}
$row->resource_id = $resource->getIdentity();
$row->poster_type = $poster->getType();
$row->poster_id = $poster->getIdentity();
$row->creation_date = date('Y-m-d H:i:s');
$row->body = $body;
$row->save();
return $row;
}
示例7: createLink
public function createLink(Core_Model_Item_Abstract $owner, $data)
{
$table = Engine_Api::_()->getDbtable('links', 'core');
if (empty($data['parent_type']) || empty($data['parent_id'])) {
$data['parent_type'] = $owner->getType();
$data['parent_id'] = $owner->getIdentity();
}
$link = $table->createRow();
$link->setFromArray($data);
$link->owner_type = $owner->getType();
$link->owner_id = $owner->getIdentity();
$link->save();
// Now try to create thumbnail
$thumbnail = (string) @$data['thumb'];
$thumbnail_parsed = @parse_url($thumbnail);
//$ext = @ltrim(strrchr($thumbnail_parsed['path'], '.'), '.');
//$link_parsed = @parse_url($link->uri);
// Make sure to not allow thumbnails from domains other than the link (problems with subdomains, disabled for now)
//if( $thumbnail && $thumbnail_parsed && $thumbnail_parsed['host'] === $link_parsed['host'] )
//if( $thumbnail && $ext && $thumbnail_parsed && in_array($ext, array('jpg', 'jpeg', 'gif', 'png')) )
if ($thumbnail && $thumbnail_parsed) {
$tmp_path = APPLICATION_PATH . '/temporary/link';
$tmp_file = $tmp_path . '/' . md5($thumbnail);
if (!is_dir($tmp_path) && !mkdir($tmp_path, 0777, true)) {
throw new Core_Model_Exception('Unable to create tmp link folder : ' . $tmp_path);
}
$src_fh = fopen($thumbnail, 'r');
$tmp_fh = fopen($tmp_file, 'w');
stream_copy_to_stream($src_fh, $tmp_fh, 1024 * 1024 * 2);
fclose($src_fh);
fclose($tmp_fh);
if (($info = getimagesize($tmp_file)) && !empty($info[2])) {
$ext = image_type_to_extension($info[2]);
$thumb_file = $tmp_path . '/thumb_' . md5($thumbnail) . '.' . $ext;
$image = Engine_Image::factory();
$image->open($tmp_file)->resize(120, 240)->write($thumb_file)->destroy();
$thumbFileRow = Engine_Api::_()->storage()->create($thumb_file, array('parent_type' => $link->getType(), 'parent_id' => $link->getIdentity()));
$link->photo_id = $thumbFileRow->file_id;
$link->save();
@unlink($thumb_file);
}
@unlink($tmp_file);
}
return $link;
}
示例8: send
public function send(Core_Model_Item_Abstract $user, $recipients, $title, $body, $attachment = null)
{
$resource = null;
// Case: single user
if ($recipients instanceof User_Model_User) {
$recipients = array($recipients->getIdentity());
} else {
if ($recipients instanceof Core_Model_Item_Abstract && method_exists($recipients, 'membership')) {
$resource = $recipients;
$recipients = array();
foreach ($resource->membership()->getMembers() as $member) {
if ($member->getIdentity() != $user->getIdentity()) {
$recipients[] = $member->getIdentity();
}
}
} else {
if (is_numeric($recipients)) {
$recipients = array($recipients);
} else {
if (is_array($recipients) && !empty($recipients)) {
// Ok
} else {
throw new Messages_Model_Exception("A message must have recipients");
}
}
}
}
// Create conversation
$conversation = $this->createRow();
$conversation->setFromArray(array('user_id' => $user->getIdentity(), 'title' => $title, 'recipients' => count($recipients), 'modified' => date('Y-m-d H:i:s'), 'locked' => $resource ? true : false, 'resource_type' => !$resource ? null : $resource->getType(), 'resource_id' => !$resource ? 0 : $resource->getIdentity()));
$conversation->save();
// Create message
$message = Engine_Api::_()->getItemTable('messages_message')->createRow();
$message->setFromArray(array('conversation_id' => $conversation->getIdentity(), 'user_id' => $user->getIdentity(), 'title' => $title, 'body' => $body, 'date' => date('Y-m-d H:i:s'), 'attachment_type' => $attachment ? $attachment->getType() : '', 'attachment_id' => $attachment ? $attachment->getIdentity() : 0));
$message->save();
// Create sender outbox
Engine_Api::_()->getDbtable('recipients', 'messages')->insert(array('user_id' => $user->getIdentity(), 'conversation_id' => $conversation->getIdentity(), 'outbox_message_id' => $message->getIdentity(), 'outbox_updated' => date('Y-m-d H:i:s'), 'outbox_deleted' => 0, 'inbox_deleted' => 1, 'inbox_read' => 1));
// Create recipients inbox
foreach ($recipients as $recipient_id) {
Engine_Api::_()->getDbtable('recipients', 'messages')->insert(array('user_id' => $recipient_id, 'conversation_id' => $conversation->getIdentity(), 'inbox_message_id' => $message->getIdentity(), 'inbox_updated' => date('Y-m-d H:i:s'), 'inbox_deleted' => 0, 'inbox_read' => 0, 'outbox_message_id' => 0, 'outbox_deleted' => 1));
}
return $conversation;
}
示例9: send
public function send(Core_Model_Item_Abstract $user, $recipients, $title, $body, $attachment = null)
{
// Sanity check recipients
$recipients = (array) $recipients;
if (!is_array($recipients) || empty($recipients)) {
throw new Messages_Model_Exception("A message must have recipients");
}
// Create conversation
$conversation = $this->createRow();
$conversation->setFromArray(array('user_id' => $user->getIdentity(), 'title' => $title, 'recipients' => count($recipients), 'modified' => date('Y-m-d H:i:s'), 'locked' => 0));
$conversation->save();
// Create message
$message = Engine_Api::_()->getItemTable('messages_message')->createRow();
$message->setFromArray(array('conversation_id' => $conversation->getIdentity(), 'user_id' => $user->getIdentity(), 'title' => $title, 'body' => $body, 'date' => date('Y-m-d H:i:s'), 'attachment_type' => $attachment ? $attachment->getType() : '', 'attachment_id' => $attachment ? $attachment->getIdentity() : 0));
$message->save();
// Create sender outbox
Engine_Api::_()->getDbtable('recipients', 'messages')->insert(array('user_id' => $user->getIdentity(), 'conversation_id' => $conversation->getIdentity(), 'outbox_message_id' => $message->getIdentity(), 'outbox_updated' => date('Y-m-d H:i:s'), 'outbox_deleted' => 0, 'inbox_deleted' => 1, 'inbox_read' => 1));
// Create recipients inbox
foreach ($recipients as $recipient_id) {
Engine_Api::_()->getDbtable('recipients', 'messages')->insert(array('user_id' => $recipient_id, 'conversation_id' => $conversation->getIdentity(), 'inbox_message_id' => $message->getIdentity(), 'inbox_updated' => date('Y-m-d H:i:s'), 'inbox_deleted' => 0, 'inbox_read' => 0, 'outbox_message_id' => 0, 'outbox_deleted' => 1));
}
return $conversation;
}
示例10: _delete
protected function _delete()
{
foreach ($this->getAll() as $listitem) {
$listitem->delete();
}
parent::_delete();
}
示例11: _postUpdate
protected function _postUpdate()
{
parent::_postUpdate();
// Update sku
if (empty($this->sku) || !empty($this->_modifiedFields['product_id'])) {
$this->_updateSku();
}
}
示例12: _postDelete
protected function _postDelete() {
parent::_postDelete();
$playlist = Engine_Api::_()->getItem('ynvideo_playlist', $this->playlist_id);
if ($playlist) {
$playlist->video_count = new Zend_Db_Expr('video_count - 1');
$playlist->save();
}
}
示例13: getPhotoUrl
public function getPhotoUrl($type = null)
{
if ($this->photo_id) {
return parent::getPhotoUrl($type);
} else {
return 'application/modules/Ynadvsearch/externals/images/icon-' . $this->type . '.png';
}
}
示例14: getParent
public function getParent($recurseType = null)
{
if ($this->parent_type == 'temporary' || $this->parent_type == 'system') {
return null;
} else {
return parent::getParent($recurseType);
}
}
示例15: _postDelete
protected function _postDelete()
{
parent::_postDelete();
$model = new Yntour_Model_DbTable_Touritems();
$select = $model->select()->where('tour_id=?', $this->getIdentity());
foreach ($model->fetchAll($select) as $row) {
$row->delete();
}
}