public function getMemberChannelsName() { $names = array(); $membersStr = $this->members_ids; if ($this->isTicketConv()) { $tech_channel = $this->getTechChannel(); $tech_user = $this->getTechUser(); } if (Utils::stringStartsWith($membersStr, ';')) { $membersStr = substr_replace($membersStr, '', 0, 1); } if (Utils::stringEndsWith($membersStr, ';')) { $membersStr = substr_replace($membersStr, '', -1); } if (strpos($membersStr, ';') !== false) { $membersIds = explode(';', $membersStr); foreach ($membersIds as $memberId) { if (UserChannel::exists($memberId)) { if (isset($tech_channel) && $tech_channel->id == $memberId) { $names[] = StaffContact::getShownName($tech_user); } else { $names[] = UserChannel::find($memberId)->name; } } } } return $names; }
public function get($id, $request) { if (Session::isActive()) { Session::get()->last_visit = Utils::tps(); Session::get()->save(); if ($conv = Conversation::find($id)) { if (!$conv->isUserAllowed(Session::get())) { return Utils::getUnauthorizedResponse(); } if ($conv->isTicketConv()) { $tech['channel'] = $conv->getTechChannel(); $tech['user'] = $conv->getTechUser(); } else { $tech = null; } $messages = $conv->getMessages(); foreach ($messages as $message) { $sender = UserChannel::exists($message->sender_id) ? UserChannel::find($message->sender_id) : false; if (is_object($sender)) { $senderAvatar = $sender->getAvatar(); $pseudo = $sender->name; if (isset($tech['channel'], $tech['user']) && $sender->id == $tech['channel']->id) { $pseudo = StaffContact::getShownName($tech['user']); $senderAvatar = StaffContact::getImageName($tech['user']); } $messagesData[] = array('id' => 'id', 'pseudo' => $pseudo, 'channel_name' => $sender->name, 'avatar' => $senderAvatar, 'text' => $message->content, 'mine' => $sender->belongToUser(Session::get()->id)); } } $conversationsData = array(); $avatar = $conv->thumbnail; /*if(!is_array(getimagesize($avatar))) { // if the image is invalid if(is_array(getimagesize(WEBROOT.$avatar))) $avatar = WEBROOT.$avatar; else $avatar = Config::getValue_('default-avatar'); }*/ //var_dump($conv->isTicketConv()); $conversationsData['infos'] = array('id' => $conv->id, 'title' => $conv->object, 'members' => $conv->getMemberChannelsName(), 'avatar' => $avatar, 'text' => isset(end($messages)->content) ? end($messages)->content : 'Aucun message'); if (isset($messagesData)) { $conversationsData['messages'] = $messagesData; } return new JsonResponse($conversationsData); } } else { return Utils::getUnauthorizedResponse(); } return new Response(500); }
public function getContent() { $content = ""; $users = $this->getAssociatedUsers(); $username1 = is_object($users[0]) ? htmlspecialchars(StaffContact::getShownName($users[0])) : '[deleted]'; $username2 = is_object($users[1]) ? htmlspecialchars(StaffContact::getShownName($users[1])) : '[deleted]'; switch ($this->getType()) { case 'news': $content = "Nouvelle news de {$username1}"; break; case 'rank': $content = $username1 . " a été mis au rang " . Utils::rankToName($this->value)[0] . " par {$username2}"; break; case 'ticket': $content = "Ticket #{$this->value} en attente de réponse [user : {$username1}]"; break; case 'ticket_level_change': $ticket = $this->getAssociatedValue('Ticket'); $tick_level = is_object($ticket) ? htmlspecialchars($ticket->getLabel()) : '[deleted]'; $content = "Ticket #{$this->value} assigné à {$tick_level} par {$username1}"; break; case 'suspend_video': $video = $this->getAssociatedValue('Video'); $vid_title = is_object($video) ? htmlspecialchars($video->title) : '[deleted]'; $content = "{$username1} a suspendu la vidéo {$vid_title}"; break; case 'flag_video': $video = $this->getAssociatedValue('Video'); $vid_title = is_object($video) ? htmlspecialchars($video->title) : '[deleted]'; $content = "{$username1} a signalé la vidéo {$vid_title}"; break; case 'private': $content = "Message de {$username1} : {$this->value}"; break; case 'broadcast': $content = "Message de {$username1} (à toute la team): {$this->value}"; break; } return $content; }
Nous travaillons tous les jours pour faire de DreamVids une plateforme cool et reconnue ! Actuellement, vous naviguez sur la version 2 du site, qui fait suite à la version 1, qui était une bêta, et qui a durée presque un an. </p> <h3 class="title">L'équipe</h3> <?php foreach ($team as $teammate) { ?> <div style="margin-bottom:50px"> <div style="float:left"> <img src="<?php echo StaffContact::getImageName($teammate); ?> " style="height:50px;width:50px;border-radius:25px;" /> </div> <p style="padding-left:70px"> <b><?php echo StaffContact::getShownName($teammate); ?> </b><br /> <?php echo StaffContact::getDescription($teammate); ?> </p> </div> <?php } ?> </div>
<script type="text/javascript">var servers = [];</script> <div class="row"> <h1>Dashboard</h1> <div class="col-lg-3 col-sm-6 col-xs-12"> <div class="thumbnail"> <img src="<?php echo StaffContact::getImageName(Session::get()); ?> " alt="Avatar"> <div class="caption"> <h3><?php echo Utils::secure(StaffContact::getShownName(Session::get())); ?> </h3> <p><?php echo Utils::secure(StaffContact::getDescription(Session::get())); ?> <a href="<?php echo WEBROOT . 'admin/staffContactDetails/edit_public_infos/'; ?> " class="btn btn-primary" role="button">Changer mes infos officielles</a> </p> <p> </p> </div> </div> </div> <div class="col-lg-6 col-sm-6 col-xs-12"> <?php foreach ($storage_server as $srv) {
include VIEW . 'layouts/messages_bootstrap.php'; ?> <form action="<?php echo WEBROOT; ?> admin/ticketlevels/edit_users" method="post"> <input type="hidden" name="_method" value="PUT"> <?php foreach ($users as $user) { $lvls_id = $user->getAssignedLevelsIds(); ?> <div class="col-md-3"> <div class="well"> <div class="form-group"> <label><?php echo Utils::secure(StaffContact::getShownName($user)); ?> </label> <?php foreach ($levels as $level) { $checked = in_array($level->id, $lvls_id) ? 'checked' : ''; ?> <div class="checkbox"> <label> <input name="<?php echo $level->id . '_' . $user->id; ?> " type="checkbox" <?php echo $checked; ?> ><?php
echo $k % 2 != 0 ? 'class="timeline-inverted"' : ''; ?> > <?php echo $new->getBadge(); ?> <div class="timeline-panel"> <div class="timeline-heading"> <h4 class="timeline-title"><?php echo $new->title; ?> </h4> <p><small class="text-muted"><i class="fa fa-clock-o"></i> <?php echo Utils::relative_time($new->timestamp) . " par " . Utils::secure(StaffContact::getShownName($new->user)); ?> </small> </p> </div> <div class="timeline-body"> <p><?php echo $new->content; ?> </p> <?php if ($new->belongsToUser(Session::get())) { ?> <div id="modal_<?php echo $new->id; ?>
private function mail($ticket, $message) { if ($ticket->user_id !== '0') { $username = User::exists(array('id' => $ticket->user_id)) ? ' ' . User::find($ticket->user_id)->username : ''; $to = User::exists(array('id' => $ticket->user_id)) ? User::find($ticket->user_id)->email : $ticket->user_id; $subject = '[DreamVids] Avancement de votre demande d\'assistance #' . $ticket->id; $message = str_replace('{{tech}}', Utils::secure(StaffContact::getShownName(Session::get())), $message); $message = "Bonjour{$username},\r\n\r\n{$message}\r\n\r\nCordialement,\r\nL'équipe DreamVids."; $headers = 'From: DreamVids <*****@*****.**>'; mail($to, $subject, utf8_decode($message), $headers); } }
<div class="panel-body"> <div class="msg-container"></div> <p>Vous pouvez envoyer une notification à un staff. <strong>Ne pas abuser</strong>:<br> <form id="send-private-notif"> <div class="form-group"> <select id="send-private-notif-to" class="form-control"> <option selected>Selectionnez</option> <option value="send_to_all">Tout le monde</option> <?php foreach ($team as $user) { ?> <option value="<?php echo $user->id; ?> "><?php echo htmlspecialchars(StaffContact::getShownName($user)); ?> </option> <?php } ?> </select> </div> <div class="form-group"> <option value= "" selected>Selectionnez</option> <select id="send-private-notif-level" name="level" class="form-control"> <?php $possible_levels = ['', 'primary', 'info', 'success', 'warning', 'danger']; foreach ($possible_levels as $level) { echo "<option value='{$level}'>" . ucfirst($level) . "</option>"; }