[Isocial-svn] SF.net SVN: isocial: [89]
Status: Pre-Alpha
Brought to you by:
aguidrevitch
From: <di...@us...> - 2008-03-17 14:22:07
|
Revision: 89 http://isocial.svn.sourceforge.net/isocial/?rev=89&view=rev Author: dim0s77 Date: 2008-03-17 07:22:12 -0700 (Mon, 17 Mar 2008) Log Message: ----------- show count of all unread messages in the thread Modified Paths: -------------- app/controllers/message_controller.php app/installers/religious_view_installer.php app/locales/message/ru.php app/views/message/_rows.tpl app/views/message/inbox.tpl public/stylesheets/Message.css Modified: app/controllers/message_controller.php =================================================================== --- app/controllers/message_controller.php 2008-03-17 11:39:36 UTC (rev 88) +++ app/controllers/message_controller.php 2008-03-17 14:22:12 UTC (rev 89) @@ -24,8 +24,15 @@ if(!empty($messages)) { foreach ($messages as $message_loop_key => $message) { if (!isset($box_messages[$message->thread_id])) { - $box_messages[$message->thread_id] = $message; + $box_messages[$message->thread_id]['message'] = $message; } + if (!$message->is_read) { + if (!isset($box_messages[$message->thread_id]['unread'])) { + $box_messages[$message->thread_id]['unread'] = 1; + } else { + $box_messages[$message->thread_id]['unread']++; + } + } } } $this->message_threads = count($box_messages); @@ -135,18 +142,15 @@ if (!empty($this->params['check_messages'])) { $messages = $this->Message->find('all', array('conditions' => - array("id IN (" . $this->Message->_make_in_statement_from_array('id', $this->params['check_messages']) . ") AND (sender_id = ? OR recipient_id = ?)", - $this->current_user->getId(), $this->current_user->getId() - ) - ) - ); + array("thread_id IN (" . $this->Message->_make_in_statement_from_array('thread_id', $this->params['check_messages']) . ") AND (recipient_id = ?)", + $this->current_user->getId() + ) + ) + ); if ($messages) { foreach ($messages as $message_loop_key => $message) { - if ($message->sender_id == $this->current_user->getId() || - $message->recipient_id == $this->current_user->getId()) { - $message->is_read = $is_read; - $message->save(); - } + $message->is_read = $is_read; + $message->save(); } } } Modified: app/installers/religious_view_installer.php =================================================================== --- app/installers/religious_view_installer.php 2008-03-17 11:39:36 UTC (rev 88) +++ app/installers/religious_view_installer.php 2008-03-17 14:22:12 UTC (rev 89) @@ -7,15 +7,15 @@ "CREATE TABLE `religious_views` ( `id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, `name` char(100) NOT NULL DEFAULT '', - `votes` int(11) NOT NULL DEFAULT 0, + `votes` int(11) NOT NULL DEFAULT 0, INDEX name_idx (name, votes) ) ENGINE=InnoDB"); $this->execute( "CREATE TABLE `religious_view_votes` ( `id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, - `user_id` int(11), - `religious_view_id` int(11), + `user_id` int(11), + `religious_view_id` int(11), FOREIGN KEY (user_id) REFERENCES users(id), FOREIGN KEY (religious_view_id) REFERENCES religious_views(id) ) ENGINE=InnoDB"); @@ -23,15 +23,15 @@ $this->execute( "CREATE TRIGGER rvv_insert AFTER INSERT ON religious_view_votes FOR EACH ROW BEGIN - UPDATE `religious_views` SET votes = votes + 1 WHERE id = NEW.religious_view_id; - END; + UPDATE `religious_views` SET votes = votes + 1 WHERE id = NEW.religious_view_id; + END; "); $this->execute( "CREATE TRIGGER rvv_delete AFTER DELETE ON religious_view_votes FOR EACH ROW BEGIN UPDATE `religious_views` SET votes = votes - 1 WHERE id = OLD.religious_view_id; - END; + END; "); } Modified: app/locales/message/ru.php =================================================================== --- app/locales/message/ru.php 2008-03-17 11:39:36 UTC (rev 88) +++ app/locales/message/ru.php 2008-03-17 14:22:12 UTC (rev 89) @@ -20,6 +20,7 @@ $dictionary['Mark as'] = 'Отметить как'; $dictionary['Delete'] = 'Удалить'; $dictionary['New message'] = 'Новое сообщение'; +$dictionary['unread messages'] = 'новых сообщений'; $dictionary['Message is readed'] = 'Сообщение прочитано'; $dictionary['Message successfully sent'] = 'Сообщение отправлено'; $dictionary['Thread unavailable'] = 'Нить сообщений недоступна'; Modified: app/views/message/_rows.tpl =================================================================== --- app/views/message/_rows.tpl 2008-03-17 11:39:36 UTC (rev 88) +++ app/views/message/_rows.tpl 2008-03-17 14:22:12 UTC (rev 89) @@ -1,33 +1,38 @@ <table class="message_row"> <tbody> {loop messages} -<? $sender = $message->$target->load() ?> -<tr class="<? if ($target == 'sender' && !$message->is_read) { echo 'new_message'; } ?>"> +<? $sender = $message['message']->$target->load() ?> +<tr class="<? if ($target == 'sender' && !$message['message']->is_read) { echo 'new_message'; } ?>"> <td class="msg_icon"> <? if ($target == 'sender') { - echo '<a class="'. ($message->is_read ? 'email_open' : 'email_closed') . ' href=""></a>'; + if ($message['message']->is_read) { + echo '<a class="email_open" href="#" onclick="oncheck(this, 1)"></a>'; + } else { + echo '<a class="email_closed" href="#" onclick="oncheck(this, 0)"></a>'; + } } else { echo '<span> </span>'; } ?> </td> - <td class="checkbox"><input onclick="oncheck(this, {?message.is_read}{message.is_read}{else}0{end})" type="checkbox" class="check{?message.is_read}read{else}unread{end}" id="{message.id}" name="check_messages[]" value="{message.id}"></td> + <td class="checkbox"><input onclick="oncheck(this, {?message-message.is_read}{message-message.is_read}{else}0{end})" type="checkbox" class="check{?message-message.is_read}read{else}unread{end}" id="{message-message.thread_id}" name="check_messages[]" value="{message-message.thread_id}"></td> <td class="profile_photo"><a href="/profile/show/{sender.id}"><img src="/images/nophoto_men_sm.gif" alt="" class=""></a></td> <td class="info"> - <span class="name"><? if ($target == 'recipient') { ?>_{To}: <? } ?><a href="/profile/show/{sender.id}">{sender.name?}</a></span> - <span class="datetime">{message.created_at?}</span> + <div class="name"><? if ($target == 'recipient') { ?>_{To}: <? } ?><a href="/profile/show/{sender.id}">{sender.name?}</a></div> + <div class="datetime">{message-message.created_at?}</div> + <div class="unread_count">{?message-unread}_{unread messages}: {message-unread}{end}</div> </td> <td class="msg"> <div class="wrapper"> - <a href="/message/show/{last_box}/{message.thread_id?}" class="subject">{message.subject?}</a> + <a href="/message/show/{last_box}/{message-message.thread_id?}" class="subject">{message-message.subject?}</a> <div class="body_wrap"> - <? (utf8_strlen($message->body) > 47) ? $msg_body = utf8_substr($message->body, 0, 47) . " [..]" : $msg_body = $message->body; ?> - <a href="/message/show/{last_box}/{message.thread_id?}" class="body">{msg_body?}</a> + <? (utf8_strlen($message['message']->body) > 47) ? $msg_body = utf8_substr($message['message']->body, 0, 47) . " [..]" : $msg_body = $message['message']->body; ?> + <a href="/message/show/{last_box}/{message-message.thread_id?}" class="body">{msg_body?}</a> </div> </div> </td> <td class="delete_msg"> - <a href="#" onclick="delete_single_thread(this); return false;" name="{message.id}"> </a> + <a href="#" onclick="delete_single_thread(this); return false;" name="{message-message.id}"> </a> </td> </tr> {else} Modified: app/views/message/inbox.tpl =================================================================== --- app/views/message/inbox.tpl 2008-03-17 11:39:36 UTC (rev 88) +++ app/views/message/inbox.tpl 2008-03-17 14:22:12 UTC (rev 89) @@ -3,7 +3,7 @@ <div class="submenu"> <div class="menu_block selector"> <label for="action_select">_{Select}: - <select onchange="doselect(this)" id="action_select" name="action_selector"> + <select onchange="doselect(this)" id="action_select" name="action_select"> <option selected="selected" value="_">---------</option> <option value="none">_{None}</option> <option value="read">_{Read}</option> @@ -142,6 +142,7 @@ } function disable_action_links () { + $("action_select").selectedIndex = 0; $("read_link").addClassName('disabled'); $("unread_link").addClassName('disabled'); $("delete_link").addClassName('disabled'); Modified: public/stylesheets/Message.css =================================================================== --- public/stylesheets/Message.css 2008-03-17 11:39:36 UTC (rev 88) +++ public/stylesheets/Message.css 2008-03-17 14:22:12 UTC (rev 89) @@ -62,6 +62,13 @@ color: #777777; } +.message_row .info .unread_count { + display: block; + padding: 1px 0px 0px 0px; + font-size: 9px; + color: #000000; +} + .message_row .msg { margin-right: 10px; line-height: 14px; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |