/** * @param $mail_to * @param null $mail_from * @return bool|string * @throws \OCA\Owncollab_Chart\PHPMailer\phpmailerException */ private function sendMail($mail_to, $mail_from = null) { $project = $this->connect->project()->get(); if ($project['is_share'] != 1 || empty($project['share_link'])) { return false; } $mail_from = $mail_from === null ? 'no-replay@' . Helper::getHost() : $mail_from; $nameFrom = 'OwnCollab Project'; $subject = 'OwnCollab Project Invite'; $link = Helper::getProtocol() . '://' . Helper::getHost() . '/index.php/s/' . $project['share_link']; $nameTo = 'User'; if (Helper::validEmailAddress($mail_to) && Helper::validEmailAddress($mail_from)) { $mail = new PHPMailer(); $mail->setFrom($mail_from, $nameFrom); $mail->addAddress($mail_to, $nameTo); $mail->Subject = $subject; $mail->Body = Helper::renderPartial($this->appName, 'mailinvite', ['p_name' => $project['name'], 'u_name' => $nameTo, 's_link' => $link, 'protocol' => Helper::getProtocol(), 'domain' => Helper::getHost()]); $mail->isHTML(); if ($mail->send()) { return true; } else { return $mail->ErrorInfo; } } return 'no-valid'; }
/** * * @PublicPage * @NoAdminRequired * @NoCSRFRequired * * @param $share * @return TemplateResponse */ public function publicChart($share) { $project = $this->connect->project()->getShare($share); $params = ['template' => 'guest', 'protected' => false, 'wrongpw' => false, 'requesttoken' => false]; if ($project['open'] == 1 && $project['is_share'] == 1) { // static requesttoken $params['requesttoken'] = md5($project['share_password'] . md5($project['share_link'])); // share time is over if ($project['share_is_expire'] == '1' && strtotime($project['share_expire_time']) < time()) { $params['protected'] = true; $params['template'] = 'guest'; } else { // $session_publickey = Helper::session('publickey'); if (!empty($session_publickey) && $session_publickey == $params['requesttoken']) { $params['template'] = 'project'; } else { if ($project['share_is_protected'] == 1) { $post_requesttoken = Helper::get('requesttoken'); $post_password = Helper::get('password'); $params['protected'] = true; $params['template'] = 'authenticate'; if ($post_requesttoken == $params['requesttoken'] && md5($post_password) == $project['share_password']) { Helper::session('publickey', $params['requesttoken']); $params['template'] = 'project'; } else { if (!empty($post_password)) { $params['wrongpw'] = true; } } } else { $params['template'] = 'project'; } } } } if ($params['template'] == 'guest') { $template = new \OCP\Template('', '404', 'guest'); $template->printPage(); exit; } if ($params['template'] == 'authenticate') { return new TemplateResponse($this->appName, 'authenticate', ['wrongpw' => $params['wrongpw'], 'requesttoken' => $params['requesttoken']], 'guest'); } if ($params['template'] == 'project') { unset($project['is_share']); unset($project['share_link']); unset($project['share_is_protected']); unset($project['share_password']); unset($project['share_is_expire']); unset($project['share_expire_time']); $jsonData = ['project' => $project, 'tasks' => $this->connect->task()->get(), 'links' => $this->connect->link()->get()]; $params = ['current_user' => null]; return new TemplateResponse($this->appName, 'main', $params); } }
public function insertTask($data) { $result = null; $task['type'] = $data['type'] ? $data['type'] : 'task'; $task['text'] = $data['text']; $task['users'] = $task['users'] ? $task['users'] : ''; $task['start_date'] = Helper::toTimeFormat($data['start_date']); $task['end_date'] = Helper::toTimeFormat($data['end_date']); $task['open'] = 1; $task['parent'] = $data['parent'] ? (int) $data['parent'] : 1; try { $_result = $this->connect->insert($this->tableName, $task); if ($_result) { return $this->connect->db->lastInsertId(); } } catch (\Exception $e) { $result = 'error:' . $e->getMessage(); } return $result; }