本文整理汇总了PHP中Comment::getViewUrl方法的典型用法代码示例。如果您正苦于以下问题:PHP Comment::getViewUrl方法的具体用法?PHP Comment::getViewUrl怎么用?PHP Comment::getViewUrl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Comment
的用法示例。
在下文中一共展示了Comment::getViewUrl方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: add
/**
* Create new comment
*
* @param void
* @return null
*/
function add()
{
$this->wireframe->print_button = false;
$active_object = ProjectObjects::findById($this->request->getId('parent_id'));
if (!instance_of($active_object, 'ProjectObject')) {
$this->httpError(HTTP_ERR_NOT_FOUND, null, true, $this->request->isApiCall());
}
// if
if (!$active_object->canComment($this->logged_user)) {
$this->httpError(HTTP_ERR_FORBIDDEN, null, true, $this->request->isApiCall());
}
// if
$active_object->prepareProjectSectionBreadcrumb($this->wireframe);
$this->wireframe->addBreadCrumb($active_object->getName(), $active_object->getViewUrl());
if (!$active_object->canComment($this->logged_user)) {
if ($this->request->isApiCall()) {
$this->httpError(HTTP_ERR_FORBIDDEN, null, true, true);
} else {
flash_error('Parent object not found');
$this->redirectToReferer($this->active_project->getOverviewUrl());
}
// if
}
// if
$comment_data = $this->request->post('comment');
$this->smarty->assign(array('active_object' => $active_object, 'page_tab' => $active_object->getProjectTab(), 'comment_data' => $comment_data, 'recent_comments' => Comments::findRecentObject($active_object, 5, STATE_VISIBLE, $this->logged_user->getVisibility())));
if ($this->request->isSubmitted()) {
db_begin_work();
$complete_parent_object = (bool) array_var($comment_data, 'complete_parent_object');
$this->active_comment = new Comment();
$this->active_comment->log_activities = false;
if ($complete_parent_object) {
$this->active_comment->send_notification = false;
}
// if
attach_from_files($this->active_comment, $this->logged_user);
$this->active_comment->setAttributes($comment_data);
$this->active_comment->setParent($active_object);
$this->active_comment->setProjectId($this->active_project->getId());
$this->active_comment->setState(STATE_VISIBLE);
$this->active_comment->setVisibility($active_object->getVisibility());
if (trim($this->active_comment->getCreatedByName()) == '' || trim($this->active_comment->getCreatedByEmail()) == '') {
$this->active_comment->setCreatedBy($this->logged_user);
}
// if
$save = $this->active_comment->save();
if ($save && !is_error($save)) {
$active_object->subscribe($this->logged_user);
$activity = new NewCommentActivityLog();
$activity->log($this->active_comment, $this->logged_user);
if ($complete_parent_object && $active_object->canChangeCompleteStatus($this->logged_user)) {
$active_object->complete($this->logged_user, $this->active_comment->getFormattedBody(true));
}
// if
db_commit();
$this->active_comment->ready();
//BOF: mod
$subscribers_to_notify = array_var($comment_data, 'subscribers_to_notify');
$action_request_user_id = array_var($comment_data, 'action_request');
//$priority_actionrequest = array_var($comment_data, 'priority_actionrequest');
//BOF:mod 20110517
if ($complete_parent_object) {
$subscribers_to_notify = array();
$action_request_user_id = array();
}
//EOF:mod 20110517
//BOF:mod 20110719
/*
//EOF:mod 20110719
if (!empty($action_request_user_id)){
$link = mysql_connect(DB_HOST, DB_USER, DB_PASS);
mysql_select_db(DB_NAME);
foreach ($action_request_user_id as $id){
$query = "select * from healingcrystals_assignments_action_request where comment_id='" . $this->active_comment->getId() . "' and selected_by_user_id='" . $this->logged_user->getId() . "' and user_id='" . $id . "'";
$result = mysql_query($query);
if (mysql_num_rows($result)){
$query = "update healingcrystals_assignments_action_request set is_action_request='1' where comment_id='" . $this->active_comment->getId() . "' and selected_by_user_id='" . $this->logged_user->getId() . "' and user_id='" . $id . "'";
mysql_query($query);
} else {
$query = "insert into healingcrystals_assignments_action_request (user_id, is_action_request, is_fyi, selected_by_user_id, comment_id, date_added) values ('" . $id . "', '1', '0', '" . $this->logged_user->getId() . "', '" . $this->active_comment->getId() . "', now())";
mysql_query($query);
}
}
foreach($priority_actionrequest as $val){
$temp = explode('_', $val);
list($temp_user_id, $priority) = $temp;
if (in_array($temp_user_id, $action_request_user_id)){
$query = "update healingcrystals_assignments_action_request set priority_actionrequest='" . $priority . "' where comment_id='" . $this->active_comment->getId() . "' and selected_by_user_id='" . $this->logged_user->getId() . "' and user_id='" . $temp_user_id . "'";
mysql_query($query);
}
}
mysql_close($link);
}
//.........这里部分代码省略.........
示例2: getAssignedActionRequestContent
function getAssignedActionRequestContent($user_id = '', $tickets_due_flag = '')
{
require_once SMARTY_PATH . '/plugins/modifier.html_excerpt.php';
if (empty($user_id)) {
$user_id = $this->getId();
}
$status_str = '';
if ($_POST['status'] == 'complete') {
$status_str = "and a.is_action_request != '1'";
} elseif ($_POST['status'] == 'incomplete') {
$status_str = "and a.is_action_request = '1'";
}
if ($_POST['sort'] == 'name') {
$order_by = " order by first_name ASC, date_added DESC";
} else {
$order_by = " order by date_added DESC";
}
$assigned_ar_content = '<table width="250" border="1" cellspacing="2" cellpadding="2"> <form action="' . assemble_url('assigned_action_request') . '" method="post" name="sortForm">
<tr><td valign="top"><b>Sort:</b><br/><input style="width:10px;" type="radio" name="sort" value="date" onclick="" ' . ($_POST['sort'] != 'name' ? 'checked="checked"' : '') . '/> Date<br/><input style="width:10px;" type="radio" name="sort" value="name" onclick="" ' . ($_POST['sort'] == 'name' ? 'checked="checked"' : '') . '/> Assigned To</td></tr>
<tr><td valign="top"><b>Status:</b><br/><input style="width:10px;" type="radio" name="status" value="" onclick="" ' . ($_POST['status'] == '' ? 'checked="checked"' : '') . '/> All Action Requests<br/><input style="width:10px;" type="radio" name="status" value="incomplete" onclick="" ' . ($_POST['status'] == 'incomplete' ? 'checked="checked"' : '') . '/> Incomplete Action Requests<br/><input style="width:10px;" type="radio" name="status" value="complete" onclick="" ' . ($_POST['status'] == 'complete' ? 'checked="checked"' : '') . '/> Completed Action Requests</td></tr>
<tr><td><input style="cursor:pointer;" type="button" onclick="document.sortForm.submit();" name="Filter" value="Filter"/></td></tr>
<tr><td><br/><br/></td></tr>
</form> </table>';
$assigned_ar_content .= '<table width="100%" cellspacing="2" cellpadding="2"><tr><td align="center"><b>Date</b></td><td><b>Ticket Name</b></td><td><b>Assigned To</b></td></tr>';
$query = "select *\n from healingcrystals_assignments_action_request a, healingcrystals_users u\n where a.selected_by_user_id = '" . $user_id . "' and a.user_id = u.id " . $status_str . $order_by;
$link = mysql_connect(DB_HOST, DB_USER, DB_PASS);
mysql_select_db(DB_NAME, $link);
$result = mysql_query($query);
while ($array = mysql_fetch_assoc($result)) {
$comment = new Comment($array['comment_id']);
$parent = $comment->getParent();
if (instance_of($parent, 'ProjectObject')) {
$assigned_ar_content .= '<tr><td valign="top" align="center" style="vertical-align:top;">' . date('m-d-Y', strtotime($comment->getCreatedOn())) . '<br/>' . date('(H:i)', strtotime($comment->getCreatedOn())) . '</td><td valign="top" style="vertical-align:top;"><a href="' . $comment->getViewUrl() . '">' . $parent->getName() . '</a> <span style="cursor:pointer; font-weight:bold" onclick="$(this).text() == \'[+]\' ? $(this).text(\'[-]\') :$(this).text(\'[+]\');$(\'#ticketResp_' . $comment->getId() . '\').toggle()">[+]</span></td><td valign="top" style="vertical-align:top;">' . $array['first_name'] . ' ' . $array['last_name'] . '</td></tr><tr style="display:none;" id="ticketResp_' . $comment->getId() . '"><td colspan="3"><table width="100%" border="0" cellspacing="0" cellpadding="0">';
//$assigned_user = new User($array['user_id']);
$assigned_ar_content .= '<tr><td valign="top">Priority:</td><td valign="top">' . $comment->getPriorityName() . '</td></tr>';
$assigned_ar_content .= '<tr><td valign="top">Status:</td><td valign="top">' . ($array['is_action_request'] != '1' ? 'Complete' : 'Incomplete') . '</td></tr>';
$assigned_ar_content .= '<tr><td valign="top">Comment:</td><td valign="top">' . $comment->getBody() . '</td></tr></table></td></tr><tr><td><br/></td></tr>';
}
//$assigned_ar_content .= '<tr><td colspan="3"><br/><br/></td></tr>';
}
mysql_close($link);
$assigned_ar_content .= '</table>';
return $assigned_ar_content;
}
示例3: getHomeTabContent
//.........这里部分代码省略.........
<tr>
<th align="left">Type</th>
<th align="left">Name</th>
<th align="left">Priority</th>
<th align="left">' . ($tickets_due_flag == 'due' ? 'Due on / Reminder' : 'Due on') . '</th>
</tr>';
$tickets_due_table_end = '
</table>';
$tickets_due_content = '';
if ($tickets_due_info && is_array($tickets_due_info)) {
foreach ($tickets_due_info as $entry) {
$type = $entry['type'];
$obj = new $type($entry['id']);
$due_date_val = $obj->getDueOn();
if (!empty($due_date_val)) {
$due_date = date('F d, Y', strtotime($obj->getDueOn()));
} else {
$due_date = '--';
}
if (!empty($entry['reminder']) && $entry['reminder'] != '0000-00-00') {
$reminder_date = date('F d, Y', strtotime($entry['reminder']));
} else {
$reminder_date = '--';
}
if ($tickets_due_flag == 'due') {
$date_string = $due_date . ' / ' . $reminder_date;
} else {
$date_string = $due_date;
}
$tickets_due_content .= '
<tr>
<td>' . $type . '</td>
<td>
<a target="_blank" href="' . $obj->getViewUrl() . '">
<span class="homepageobject">' . strip_tags($obj->getName()) . '</span>
</a>
</td>
<td>' . $obj->getFormattedPriority() . '</td>
<td> ' . $date_string . '</td>
</tr>';
unset($obj);
}
} else {
$tickets_due_content .= '
<tr>
<td colspan="4">No Records to Display</td>
</tr>';
}
$fyi_comments_unvisited = 0;
$content = '';
if ($info && is_array($info)) {
if ($layout_type == 'summary') {
foreach ($info as $ticket_id => $comments) {
//BOF:mod 20111019 #448
if (!empty($comments[0])) {
//EOF:mod 20111019 #448
$temp_obj = new Comment($comments[0]);
$parenttype = $temp_obj->getParentType();
//BOF:mod 20111019 #448
} else {
$temp_obj = new ProjectObject($ticket_id);
$parenttype = $temp_obj->getType();
}
//EOF:mod 20111019 #448
$parentobj = new $parenttype($ticket_id);
/*$projectobj = new Project($parentobj->getProjectId());
示例4: Comment
function get_action_request_comment_body()
{
$body = '';
$row = db_execute_one("select comment_id from actionrequests_to_tasklist where object_id='" . $this->getId() . "'");
if ($row) {
if (!empty($row['comment_id'])) {
$comment = new Comment($row['comment_id']);
$body = strip_tags($comment->getBody(), '<p>') . '<br/><a href="' . $comment->getViewUrl() . '">Click to View Comment</a>';
}
}
return $body;
}
示例5: ProjectObject
function render_comments()
{
$response = '<table width="100%" style="border:5px solid #dddddd;">';
$user_id = $this->request->get('user_id');
if (empty($user_id)) {
$user_id = $this->request->post('user_id');
if (empty($user_id)) {
$user_id = $this->logged_user->getId();
}
}
$action_type = $_GET['action_type'];
$parent_id = $_GET['parent_id'];
$temp_obj = new ProjectObject($parent_id);
$parenttype = $temp_obj->getType();
$parentobj = new $parenttype($parent_id);
$projectobj = new Project($parentobj->getProjectId());
$milestone_id = $parentobj->getMilestoneId();
if (!empty($milestone_id)) {
$milestoneobj = new Milestone($milestone_id);
}
$assigneesstring = '';
list($assignees, $owner_id) = $parentobj->getAssignmentData();
foreach ($assignees as $assignee) {
$assigneeobj = new User($assignee);
$assigneesstring .= '<a target="_blank" href="' . $assigneeobj->getViewUrl() . '">' . $assigneeobj->getName() . '</a>, ';
unset($assigneeobj);
}
if (!empty($assigneesstring)) {
$assigneesstring = substr($assigneesstring, 0, -2);
}
$dueon = date('F d, Y', strtotime($parentobj->getDueOn()));
if ($dueon == 'January 01, 1970') {
$dueon = '--';
}
if ($milestoneobj) {
$priority = $milestoneobj->getPriority();
if (!empty($priority) || $priority == '0') {
$priority = $milestoneobj->getFormattedPriority();
} else {
$priority = '--';
}
} else {
$priority = '--';
}
$response .= '
<tr><td colspan="2" style="height:20px;"> </td></tr>
<tr>
<td style="width:25%;" valign="top">' . $parenttype . '</td>
<td valign="top">
<a target="_blank" href="' . $parentobj->getViewUrl() . '"><span class="homepageobject">' . $parentobj->getName() . '</span></a>
</td>
</tr>
<tr>
<td valign="top">Team » Project</td>
<td valign="top">
<a target="_blank" href="' . $projectobj->getOverviewUrl() . '"><span class="homepageobject">' . $projectobj->getName() . '</span></a> » ' . ($milestoneobj ? '<a target="_blank" href="' . $milestoneobj->getViewUrl() . '"><span class="homepageobject">' . $milestoneobj->getName() . '</a></span>' : '--') . '</td>
</tr>
<tr>
<td vlaign="top">Project Priority</td>
<td valign="top">' . $priority . '</td>
</tr>
<tr>
<td valign="top">Due on</td>
<td valign="top">' . $dueon . '</td>
</tr>
<tr>
<td valign="top">Assignees</td>
<td valign="top">' . $assigneesstring . '</td>
</tr>
<tr><td colspan="2" style="height:20px;"> </td></tr>';
$link = mysql_connect(DB_HOST, DB_USER, DB_PASS);
mysql_select_db(DB_NAME, $link);
if ($action_type == 'actionrequest') {
$query = "(select b.id, d.id as parent_ref , a.date_added as date_value, e.priority as prio, c.name as project_name\n from healingcrystals_assignments_action_request a\n inner join healingcrystals_project_objects b on a.comment_id=b.id\n inner join healingcrystals_project_objects d on b.parent_id=d.id\n left outer join healingcrystals_project_objects e on d.milestone_id=e.id\n inner join healingcrystals_projects c on b.project_id=c.id\n where d.id='" . $parent_id . "' and b.state='" . STATE_VISIBLE . "' and a.user_id='" . $user_id . "' and a.is_action_request='1'\n and d.state='" . STATE_VISIBLE . "' )\n union\n (select '' as id, a.object_id as parent_ref, b.created_on as date_value, e.priority as prio, c.name as project_name\n from healingcrystals_assignments_flag_fyi_actionrequest a\n inner join healingcrystals_project_objects b on a.object_id=b.id\n left outer join healingcrystals_project_objects e on b.milestone_id=e.id\n inner join healingcrystals_projects c on b.project_id=c.id\n where a.user_id='" . $user_id . "' and a.object_id='" . $parent_id . "' and flag_actionrequest='1' and b.state='" . STATE_VISIBLE . "'\n )\n order by prio desc, project_name, date_value desc";
} elseif ($action_type == 'fyi') {
$query = "(select b.id, d.id as parent_ref , a.date_added as date_value, e.priority as prio, c.name as project_name\n from healingcrystals_assignments_action_request a\n inner join healingcrystals_project_objects b on a.comment_id=b.id\n inner join healingcrystals_project_objects d on b.parent_id=d.id\n left outer join healingcrystals_project_objects e on d.milestone_id=e.id\n inner join healingcrystals_projects c on b.project_id=c.id\n where d.id='" . $parent_id . "' and b.state='" . STATE_VISIBLE . "' and a.user_id='" . $user_id . "' and a.is_fyi='1'\n and d.state='" . STATE_VISIBLE . "' )\n union\n (select '' as id, a.object_id as parent_ref, b.created_on as date_value, e.priority as prio, c.name as project_name\n from healingcrystals_assignments_flag_fyi_actionrequest a\n inner join healingcrystals_project_objects b on a.object_id=b.id\n left outer join healingcrystals_project_objects e on b.milestone_id=e.id\n inner join healingcrystals_projects c on b.project_id=c.id\n where a.user_id='" . $user_id . "' and a.object_id='" . $parent_id . "' and flag_fyi='1' and b.state='" . STATE_VISIBLE . "'\n )\n order by prio desc, project_name, date_value desc";
}
$result = mysql_query($query);
$count = 0;
while ($entry = mysql_fetch_assoc($result)) {
$count++;
if (!empty($entry['id'])) {
$temp_obj = new Comment($entry['id']);
$created_by_id = $temp_obj->getCreatedById();
$created_by_user = new User($created_by_id);
$created_on = strtotime($temp_obj->getCreatedOn());
$created_on = date('m-d-y', $created_on);
$temp = $temp_obj->getFormattedBody(true, true);
$comment_body = $temp;
$response .= '
<tr>
<td valign="top" style="vertical-align:top;">
Comment by<br/>' . (!empty($created_by_id) ? '<a target="_blank" href="' . $created_by_user->getViewUrl() . '">' . $created_by_user->getName() . '</a>' : $temp_obj->getCreatedByName()) . '<br/><br/><br/>
<a target="_blank" href="' . $temp_obj->getViewUrl() . '">[view comment]</a><br/> ' . $created_on . '<br/><br/><br/>' . ($action_type == 'actionrequest' ? '<a class="mark_as_complete" count="' . $count . '" href="' . assemble_url('project_comment_action_request_completed', array('project_id' => $temp_obj->getProjectId(), 'comment_id' => $temp_obj->getId())) . '">Mark Action Request Complete</a>' : '') . ($action_type == 'fyi' ? '<a class="mark_as_read" count="' . $count . '" href="' . assemble_url('project_comment_fyi_read', array('project_id' => $temp_obj->getProjectId(), 'comment_id' => $temp_obj->getId())) . '">Mark this Notification<br/>as Read</a>' : '') . '</td>
<td valign="top" style="vertical-align:top;">
<div style="width:600px;overflow:auto;">' . $comment_body . '</div>' . ($show_read_link ? '<a target="_blank" href="' . $temp_obj->getViewUrl() . '">Click here to read the rest of this Comment</a>' : '') . '</td>
</tr>
<tr><td colspan="2" style="height:20px;"> </td></tr>';
} else {
$response .= '
//.........这里部分代码省略.........
示例6: resources_handle_on_comment_added
/**
* Handle on_comment_added event (send email notifications)
*
* @param Comment $comment
* @param ProjectObject $parent
* @return null
*/
function resources_handle_on_comment_added(&$comment, &$parent)
{
if (instance_of($parent, 'ProjectObject')) {
$parent->refreshCommentsCount();
//BOF:mod
$subscribers_name = '';
$all_subscribers = $parent->getSubscribers();
foreach ($all_subscribers as $reg_subscriber) {
$subscribers_name .= $reg_subscriber->getName() . "<br/>";
}
if (!empty($subscribers_name)) {
$subscribers_name = "<br/><br/>-- SET NOTIFICATIONS --<br/>" . $subscribers_name . "<br/><br/>";
}
//EOF:mod
if ($comment->send_notification) {
$temp = explode("\n", strip_tags(htmlspecialchars($comment->getBody())));
$flag_line_located = false;
$flag_start_now = false;
$notify_to = array();
$expression = '/\\W+\\s?\\W+/';
//$info = '#';
foreach ($temp as $line) {
if (!$flag_line_located) {
$pos = strpos($line, 'SET NOTIFICATIONS');
if ($pos !== false) {
$flag_line_located = true;
}
}
if ($flag_line_located) {
if ($flag_start_now) {
if ($line && $line != '') {
$split_vals = explode(' ', $line);
$first_name = '';
$last_name = '';
//$info .= '*' . $line . '|' . count($split_vals) . '*';
for ($i = count($split_vals) - 1; $i >= 0; $i--) {
//$info .= '*' . $i . '|' . $split_vals[$i] . '*';
$val = $split_vals[$i];
preg_match_all($expression, $val, $matches);
//$info .= '*' . $val . ' | ' . count($matches[0]) . '*';
if (!count($matches[0])) {
if ($last_name == '') {
$last_name = $val;
} elseif ($first_name == '') {
$first_name = $val;
break;
}
}
}
if (!empty($first_name) && !empty($last_name)) {
$notify_to[] = array('first_name' => $first_name, 'last_name' => $last_name);
//$info .= '*' . $notify_to[count($notify_to)-1]['first_name'] . ' ' . $notify_to[count($notify_to)-1]['last_name'] . '*';
} else {
break;
}
} else {
break;
}
} else {
$flag_start_now = true;
}
}
}
//$info .= '#';
//$info = '';
$ticket_id = $comment->getParentId();
$exclude = array();
$exclude[] = $comment->getCreatedById();
$notified_to = '';
$link = mysql_connect(DB_HOST, DB_USER, DB_PASS);
mysql_select_db(DB_NAME);
$query = "select a.user_id, b.first_name, b.last_name, b.email from healingcrystals_subscriptions a inner join healingcrystals_users b on a.user_id=b.id where a.parent_id='" . $ticket_id . "'";
$result = mysql_query($query);
while ($entry = mysql_fetch_assoc($result)) {
$to_be_notified = false;
foreach ($notify_to as $user) {
if ($user['first_name'] == $entry['first_name'] && $user['last_name'] == $entry['last_name']) {
if ($comment->getCreatedById() != $entry['user_id']) {
$to_be_notified = true;
//$info .= $entry['email'] . '|';
$notified_to .= $entry['first_name'] . ' ' . $entry['last_name'] . ', ';
}
break;
}
}
if (!$to_be_notified) {
$exclude[] = $entry['user_id'];
}
}
//mysql_query("insert into testing (entry) values ('" . str_replace("'", "''", $info . $query) . "')");
mysql_close($link);
$created_by = $comment->getCreatedBy();
$parent->sendToSubscribers('resources/new_comment', array('comment_body' => $comment->getFormattedBody(), 'comment_url' => $comment->getViewUrl(), 'created_by_url' => $created_by->getViewUrl(), 'created_by_name' => $created_by->getDisplayName(), 'subscribers_name' => $subscribers_name), $exclude, $parent);
//.........这里部分代码省略.........