/** * Bearbeiten eines Dokuments (metadaten) * * @param string $id * @return \yii\web\View * @author KAS <*****@*****.**> 06.08.2015 */ public function actionEdit($id = NULL) { Yii::$app->view->params['headline'] = 'Dokument bearbeiten'; // Wir laden das gewählte Document $model = Documents::findOne(new \MongoId($id)); // Wir machen aus dem Array ein Object --------------------------------- #$model->metadata = new Metadata($model->metadata); // Nur wenn auch ein POST gesendet wurde ------------------------------- if (\Yii::$app->request->isPost) { $post = \Yii::$app->request->post(); $meta = new Metadata($post['Documents']['metadata']); // Hier werden die Daten für Mongo angepasst(convertiert) ---------- $meta->load($post['Documents']['metadata']); //------------------------------------------------------------------ // wir belassen die originalen Metadaten $model->metadata = $model->metadata->toArray(); // Änderungen werden in metadatanew abgelegt $model->metadatanew = $meta->toArray(); #var_dump($model); // Speichern der Daten $model->update(); // daten refreshen und neu zuordnen -------------------------------- $model->refresh(); $model->metadata = new Metadata($model->metadata); } //---------------------------------------------------------------------- // Wenn bereits neue Daten vorhanden sind, // laden wir diese für die Anzeige if ($model->metadatanew !== NULL) { #$model->metadata = new Metadata($model->metadatanew); } return $this->render('edit', ['model' => $model]); }
public function actionIndex() { $request = Yii::$app->request; try { $query = $request->get('search-string', ''); $query = HtmlPurifier::process($query); Yii::$app->view->title = 'Kết quả tìm kiếm cho ' . $query; Yii::$app->view->registerMetaTag(['name' => 'description', 'content' => 'Bluebee-UET.com - Kết quả tìm kiếm cho ' . $query]); Yii::$app->view->registerMetaTag(['property' => 'og:title', 'content' => 'Bluebee-UET.com - Kết quả tìm kiếm cho ' . $query]); Yii::$app->view->registerMetaTag(['property' => 'og:description', 'content' => 'Bluebee-UET.com - Kết quả tìm kiếm cho ' . $query]); Yii::$app->view->registerMetaTag(['property' => 'og:image', 'content' => 'http://bluebee-uet.com/img/logo.jpg']); $attr = $request->get('attr', ''); switch ($attr) { case 'teacher': $data = Teachers::searchTeachers(strtolower($query)); break; case 'document': $data = Documents::searchDocuments(strtolower($query)); break; case 'subject': $data = Subjects::searchSubjects(strtolower($query)); break; default: $this->redirect('http://bluebee-uet.com'); break; } $data['attr'] = $attr; $data['query'] = $query; return $this->render('index', $data); } catch (Exception $ex) { } }
public function actionDelete() { Yii::$app->response->format = Response::FORMAT_JSON; $request = \Yii::$app->request; $data = $request->post(); $id = $data['id']; try { Documents::findOne(['id' => $id])->delete(); return ['status' => 1, 'message' => 'Thành công']; } catch (Exception $ex) { return ['status' => 0, 'message' => 'Có lỗi xảy ra']; } }
public function document() { $user = Session::read('member'); $id = md5($user['email']); $document = Details::find('first', array('conditions' => array('user_id' => (string) $user['_id']))); // if(count($document)==0){return $this->redirect('/');} $uploadOk = 1; if ($this->request->data) { $extension = pathinfo($this->request->data['file']['name'], PATHINFO_EXTENSION); $allowed = array('pdf'); if (!in_array(strtolower($extension), $allowed)) { $msg = "Sorry, only PDF files are allowed."; $uploadOk = 0; } if ($uploadOk = 1) { $option = 'doc'; $data = array('details_' . $option . '_id' => (string) $document['_id'], 'docname' => $this->request->data['docname'], 'date' => $this->request->data['date'], 'DateTime' => new \MongoDate(), 'keywords' => $this->request->data['keywords'], 'description' => $this->request->data['description'], $option => $this->request->data['file'], $option . '.verified' => 'No', $option . '.IP' => $_SERVER['REMOTE_ADDR']); $field = 'details_' . $option . '_id'; $Documents = Documents::create($data); $saved = $Documents->save(); $fileData = array('file' => $this->request->data['file'], 'documents_' . $option . '_id' => (string) $Documents->_id); $file = File::create(); if ($file->save($fileData)) { $msg = "Upload OK"; } $image_address = File::find('first', array('conditions' => array('documents_doc_id' => (string) $Documents->_id))); if ($image_address['filename'] != "") { $imagename_address = $image_address['_id'] . '_' . $image_address['filename']; $path = LITHIUM_APP_PATH . '/webroot/download/' . $imagename_address; file_put_contents($path, $image_address->file->getBytes()); } // print_r($path); $pages = $this->getPDFPages($path); // Output: 13 // print_r($pages);exit; unlink($path); $docdata = array(); foreach ($pages as $page) { $params = explode(":", $page); $left = $params[0]; $right = $params[1]; $docdata = array_merge($docdata, array($left => trim($right))); } $data = array("document" => $docdata); $conditions = array("_id" => (string) $Documents->_id); Documents::update($data, $conditions); // Use the function } } return $this->redirect('ex::save'); }
public function actionMyWishlist() { try { $id = Yii::$app->session['user_id']; if (empty($id)) { $this->redirect('http://bluebee-uet.com'); } $data = Documents::getDocumentsByWishlist($id); $user = Users::findOne(['id' => $id]); Yii::$app->view->title = $user->name . ', đây là tài liệu bạn đã đánh dấu'; return $this->render('//document/documents', $data); } catch (Exception $ex) { } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Documents::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'created' => $this->created]); $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'text', $this->text]); return $dataProvider; }
public function getkycinfo() { $email = $this->request->query['email']; $kycid = $this->request->query['kycid']; if ($email == "" || $kycid == "") { return $this->render(array('json' => array('success' => 0))); } $document = Documents::find('first', array('conditions' => array('email' => $email, 'kyc_id' => $kycid))); $encrypt = $document['hash']; // print_r($function->decrypt($encrypt,CONNECTION_DB_KYC)); if (count($document) == 1) { return $this->render(array('json' => array('success' => 1, 'id' => $encrypt))); } else { return $this->render(array('json' => array('success' => 0))); } }
public function save($id = null) { $user = Session::read('member'); if ($user == "") { return $this->redirect('/'); } // $id = md5($user['email']); if ($id != "") { $data = array("Saved" => "Yes"); $conditions = array('_id' => $id); Documents::update($data, $conditions); $this->redirect("ex::dashboard"); } $detail = Details::find('first', array('conditions' => array('user_id' => (string) $user['_id']))); $option = 'fileType'; $document = Documents::find('first', array('conditions' => array('details_doc_id' => (string) $detail['_id'], 'Saved' => null))); $rates = Rates::find('first', array('conditions' => array('Min' => array('$lte' => intval($document['document']['Pages'])), 'Max' => array('$gte' => intval($document['document']['Pages']))))); return compact('document', 'rates'); }
/** * Filtern und Sortieren der Documente * * @param type $params * @return ActiveDataProvider * @author KAS <*****@*****.**> */ public function search($params) { $query = Documents::find(); // $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 15]]); // Sortieren setzen ---------------------------------------------------- $dataProvider->setSort(['defaultOrder' => ['filename' => SORT_ASC], 'attributes' => ['metadata.TITEL' => ['asc' => ['metadata.TITEL' => SORT_ASC], 'desc' => ['metadata.TITEL' => SORT_DESC]], 'filename' => ['asc' => ['filename' => SORT_ASC], 'desc' => ['filename' => SORT_DESC]], 'onlineStatus' => ['asc' => ['onlineStatus' => SORT_ASC], 'desc' => ['onlineStatus' => SORT_DESC]]]]); // Setzen der Get Parameter -------------------------------------------- $this->setAttributes($params); // Filter für Status --------------------------------------------------- if ($this->onlineStatus !== "" and $this->onlineStatus !== NULL) { // Boolean aus string erzeugen (testen ob auch (bool)$this->onlineStatus gehen würde) $this->onlineStatus = $this->onlineStatus === "false" ? false : true; $query->filterWhere(['onlineStatus' => $this->onlineStatus]); } // Sonstige Filter ----------------------------------------------------- $query->andFilterWhere(['like', 'filename', $this->filename]); $query->andFilterWhere(['like', 'metadata.ZSTITEL', $this->zs]); $query->andFilterWhere(['like', 'metadata.TITEL', $this->titel]); $query->andFilterWhere(['like', 'groups', $this->group]); //---------------------------------------------------------------------- return $dataProvider; }
public function signup() { if ($this->request->data) { // if(stristr( $_SERVER['HTTP_REFERER'],COMPANY_URL)===FALSE){return $this->redirect('/login');exit;} $Users = Users::create($this->request->data); $saved = $Users->save(); if ($saved == true) { $verification = sha1($Users->_id); // $oauth = new OAuth2(); // $key_secret = $oauth->request_token(); $ga = new GoogleAuthenticator(); $data = array('user_id' => (string) $Users->_id, 'username' => (string) $Users->username, 'email.verify' => $verification, 'mobile.verified' => "No", 'mobile.number' => "", 'key' => $ga->createSecret(64), 'secret' => $ga->createSecret(64), 'Friend' => array()); $Details = Details::create($data); $saved = $Details->save(); $data = array('user_id' => (string) $Users->_id, 'email' => $Users->email, 'username' => (string) $Users->username, 'detail_id' => (string) $Details->_id, 'hash' => md5($Users->email), 'IP' => $_SERVER['REMOTE_ADDR']); $Documents = Documents::create($data); $saved = $Documents->save(); $email = $this->request->data['email']; $name = $this->request->data['firstname']; $view = new View(array('loader' => 'File', 'renderer' => 'File', 'paths' => array('template' => '{:library}/views/{:controller}/{:template}.{:type}.php'))); $body = $view->render('template', compact('email', 'verification', 'name'), array('controller' => 'users', 'template' => 'confirm', 'type' => 'mail', 'layout' => false)); $transport = Swift_MailTransport::newInstance(); $mailer = Swift_Mailer::newInstance($transport); $message = Swift_Message::newInstance(); $message->setSubject("Verification of email from " . COMPANY_URL); $message->setFrom(array(NOREPLY => 'Verification email ' . COMPANY_URL)); $message->setTo($Users->email); $message->addBcc(MAIL_1); $message->addBcc(MAIL_2); $message->addBcc(MAIL_3); $message->setBody($body, 'text/html'); $mailer->send($message); $this->redirect('Users::email'); } } return compact('saved', 'Users'); }
public static function getAllgroups() { $arr = Documents::find()->distinct('groups'); return array_combine(array_values($arr), array_values($arr)); }
public function checkCompanyemail() { $email = strtolower($this->request->query['email']); $uuid = new Uuid(); $emails = Documents::find('first', array('conditions' => array('email' => $email))); if (count($emails) === 0) { $kyc_id = $uuid->v4v(); $email_code = substr($kyc_id, 0, 4); $data = array('kyc_id' => $kyc_id, 'email_code' => $email_code, 'email' => $email, 'hash' => md5($email), 'IP' => $_SERVER['REMOTE_ADDR']); $Companies = Companies::create($data); $saved = $Companies->save(); } else { $emails = Companies::find('first', array('conditions' => array('email' => $email))); $kyc_id = $emails['kyc_id']; if ($emails['Verify']['Score'] >= 80) { return $this->render(array('json' => array('success' => 0, 'reason' => 'Aleredy KYC complete'))); } } /////////////////////////////////Email////////////////////////////////////////////////// $emaildata = array('kyc_id' => $kyc_id, 'email' => $email); $function = new Functions(); $compact = array('data' => $emaildata); $from = array(NOREPLY => "noreply@" . COMPANY_URL); $email = $email; $function->sendEmailTo($email, $compact, 'process', 'sendKYCCompany', "KYCGlobal - Email Code", $from, '', '', '', null); /////////////////////////////////Email////////////////////////////////////////////////// return $this->render(array('json' => array('success' => 1))); }
public function actionAddWishlist() { $request = Yii::$app->request; try { $doc_id = $request->post('doc_id', ''); $user_id = Yii::$app->session['user_id']; $check_doc = Documents::find()->where(['id' => $doc_id])->count(); if ($check_doc == 0) { return json_encode(Util::arrayError('Không tồn tại tài liệu này', '')); } if (empty($user_id)) { return json_encode(Util::arrayError('Bạn chưa đăng nhập', '')); } $result = Wishlist::add($doc_id, $user_id); return json_encode(Util::arraySuccess('Thành công', $result)); } catch (Exception $ex) { } }
public static function getDocumentsByWishlist($user) { $query = Documents::find()->join('JOIN', 'wishlist', '`wishlist`.`doc_id`=`documents`.`id`')->where(['wishlist.user_id' => $user])->orderBy('wishlist.created_at desc'); $countQuery = clone $query; $pages = new Pagination(['totalCount' => $countQuery->count()]); $pages->defaultPageSize = 27; $models = $query->offset($pages->offset)->limit($pages->limit)->all(); if (!Yii::$app->cache->exists('subjects')) { $subjects = Subjects::find()->orderBy('name', 'desc')->all(); Yii::$app->cache->add('subjects', $subjects, 3600); } else { $subjects = Yii::$app->cache->get('subjects'); } return ['models' => $models, 'pages' => $pages, 'subjects' => $subjects]; }
/** * @return \yii\db\ActiveQuery */ public function getDocument() { return $this->hasOne(Documents::className(), ['id' => 'document_id']); }
public function info($id = null) { $document = Documents::find('first', array('conditions' => array('kyc_id' => $id))); if (count($document) == 0) { return $this->render(array('json' => array("success" => 0))); } if ($document['Verify']['Percent'] > 60) { $success = 1; } else { $success = 0; } $data = array('success' => $success, 'kyc_id' => $document['kyc_id'], 'email' => $document['email'], 'details' => $document['details'], 'score' => $document['Verify']['Score'], 'percent' => $document['Verify']['Percent']); return $this->render(array('json' => $data)); }