[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [ocs-webserver/dev] application/modules/default: updated registration process for "more than one ema
From: Alexander Schmidt <2f5ed1c5 () opayq ! com>
Date: 2016-09-28 8:31:33
Message-ID: E1bpAH7-0005BO-AG () code ! kde ! org
[Download RAW message or body]
Git commit 8420c7cb13c4e751ac0f97a694dd0985c2c37521 by Alexander Schmidt.
Committed on 27/09/2016 at 10:58.
Pushed by alexanderschmidt into branch 'dev'.
updated registration process for "more than one email"
M +11 -6 application/modules/default/controllers/AuthorizationController.php
M +49 -44 application/modules/default/controllers/ProductController.php
M +15 -16 application/modules/default/controllers/ProductcommentController.php
M +1 -1 application/modules/default/controllers/SettingsController.php
M +18 -0 application/modules/default/models/Authorization.php
M +15 -93 application/modules/default/models/Member.php
M +43 -0 application/modules/default/models/MemberEmail.php
M +2 -272 application/modules/default/models/Project.php
http://commits.kde.org/ocs-webserver/8420c7cb13c4e751ac0f97a694dd0985c2c37521
diff --git a/application/modules/default/controllers/AuthorizationController.php \
b/application/modules/default/controllers/AuthorizationController.php index \
14677a7..b32b5bd 100644
--- a/application/modules/default/controllers/AuthorizationController.php
+++ b/application/modules/default/controllers/AuthorizationController.php
@@ -289,10 +289,8 @@ class AuthorizationController extends \
Local_Controller_Action_DomainSwitch $formRegisterValues = \
$formRegister->getValues();
//$resultReCaptcha = $formRegisterValues['g-recaptcha-response'];
- $res = $this->validateReCaptcha($_POST['g-recaptcha-response']);
-
- if ($res == false) {
-
+ if (false == $this->validateReCaptcha($_POST['g-recaptcha-response']))
+ {
$this->view->formRegister = $formRegister;
$this->view->error = 1;
@@ -365,6 +363,9 @@ class AuthorizationController extends \
Local_Controller_Action_DomainSwitch $userTable = new Default_Model_Member();
$userData = $userTable->createNewUser($userData);
+ $modelEmail = new Default_Model_MemberEmail();
+ $userEmail = $modelEmail->saveEmailAsPrimary($userData['member_id'], \
$userData['mail'], $userData['verificationVal']); +
return $userData;
}
@@ -792,13 +793,17 @@ class AuthorizationController extends \
Local_Controller_Action_DomainSwitch
$this->view->title = $translate->_('member.email.verification.title');
$authModel = new Default_Model_Authorization();
- $authUser = $authModel->getAuthUserData('verificationVal', $_vId);
+ $authUser = $authModel->getAuthUserDataFromUnverified($_vId);
if ($authUser AND ($authUser->mail_checked == 0)) {
Zend_Registry::get('logger')->info(__METHOD__ . ' - activate user from \
email link : ' . print_r($authUser->member_id,
true) . ' - username: ' . print_r($authUser->username, true));
$modelMember = new Default_Model_Member();
- $modelMember->activateMemberFromVerification($authUser->member_id);
+ $result = \
$modelMember->activateMemberFromVerification($authUser->member_id, $_vId); +
+ if (false == $result) {
+ throw new Zend_Controller_Action_Exception('Your member account \
could not activated.'); + }
$this->view->member = $authUser;
$this->view->username = $authUser->username;
diff --git a/application/modules/default/controllers/ProductController.php \
b/application/modules/default/controllers/ProductController.php index \
8cc2b51..d958427 100644
--- a/application/modules/default/controllers/ProductController.php
+++ b/application/modules/default/controllers/ProductController.php
@@ -1,4 +1,5 @@
<?php
+
/**
* ocs-webserver
*
@@ -60,7 +61,7 @@ class ProductController extends \
Local_Controller_Action_DomainSwitch $this->fetchDataForIndexView();
//$this->view->headTitle($this->_browserTitlePrepend . \
$this->view->product->title, 'SET');
- $this->view->headTitle($this->view->product->title.' - \
'.$_SERVER['HTTP_HOST'] , 'SET'); + \
$this->view->headTitle($this->view->product->title . ' - ' . $_SERVER['HTTP_HOST'], \
'SET');
$this->view->cat_id = $this->view->product->project_category_id;
@@ -310,7 +311,7 @@ class ProductController extends \
Local_Controller_Action_DomainSwitch
// form was valid, so we can set status to inactive
$values['status'] = Default_Model_DbTable_Project::PROJECT_ACTIVE;
-
+
// save new project
$modelProject = new Default_Model_Project();
if (isset($values['project_id'])) {
@@ -323,15 +324,15 @@ class ProductController extends \
Local_Controller_Action_DomainSwitch //update the gallery pics
$mediaServerUrls = \
$this->saveGalleryPics($form->gallery->upload->upload_picture);
$modelProject->updateGalleryPictures($newProject->project_id, \
$mediaServerUrls);
-
+
//If there is no Logo, we take the 1. gallery pic
- if(!isset($values['image_small']) || $values['image_small'] == '') {
- $values['image_small'] = $mediaServerUrls[0];
- $newProject = $modelProject->updateProject($newProject->project_id, \
$values);
- $log->debug('**********' . __CLASS__ . '::' . __FUNCTION__ . ' - set \
image_small: '.$values['image_small'].'\n'); + if \
(!isset($values['image_small']) || $values['image_small'] == '') { + \
$values['image_small'] = $mediaServerUrls[0]; + $newProject = \
$modelProject->updateProject($newProject->project_id, $values); + \
$log->debug('**********' . __CLASS__ . '::' . __FUNCTION__ . ' - set image_small: ' . \
$values['image_small'] . '\n'); } else {
- $log->debug('**********' . __CLASS__ . '::' . __FUNCTION__ . ' - set \
image_small: Not neeed. '.$values['image_small'].'\n');
-
+ $log->debug('**********' . __CLASS__ . '::' . __FUNCTION__ . ' - set \
image_small: Not neeed. ' . $values['image_small'] . '\n'); +
}
/*
@@ -357,8 +358,8 @@ class ProductController extends \
Local_Controller_Action_DomainSwitch
//$helperBuildProductUrl = new Default_View_Helper_BuildProductUrl();
//$urlProjectShow = \
$helperBuildProductUrl->buildProductUrl($newProject->project_id, 'preview'); \
//$this->redirect($urlProjectShow);
-
- $this->redirect('/member/'.$newProject->member_id.'/products/');
+
+ $this->redirect('/member/' . $newProject->member_id . '/products/');
}
private function saveGalleryPics($form_element)
@@ -516,7 +517,8 @@ class ProductController extends \
Local_Controller_Action_DomainSwitch
//read the subcategories
$tableSubCategory = new Default_Model_SubCategory();
- $subcategories = \
$tableSubCategory->fetchAllSubCategories($projectData->project_category_id, \
$tableSubCategory::ORDERED_TITLE); + $subcategories = \
$tableSubCategory->fetchAllSubCategories($projectData->project_category_id, + \
$tableSubCategory::ORDERED_TITLE);
$selectedSubCategories = \
$tableSubCategory->fetchSelectedSubCategories($this->_projectId); // \
$modelSubSubCategories = new Default_Model_SubSubCategory(); // \
$subSubCategories = $modelSubSubCategories->fetchAllSubCategories($selectedSubCategories);
@@ -544,7 +546,8 @@ class ProductController extends \
Local_Controller_Action_DomainSwitch }
$tableSubCategory = new Default_Model_SubCategory();
- $subcategories = \
$tableSubCategory->fetchAllSubCategories($main_category_id, \
$tableSubCategory::ORDERED_TITLE); + $subcategories = \
$tableSubCategory->fetchAllSubCategories($main_category_id, + \
$tableSubCategory::ORDERED_TITLE);
$form->getElement('project_subcategory_id')->setMultiOptions($subcategories);
$form->getElement('project_category_id')->setValue($main_category_id);
@@ -594,7 +597,7 @@ class ProductController extends \
Local_Controller_Action_DomainSwitch // save changes
$projectData->setFromArray($values);
$projectData->changed_at = new Zend_Db_Expr('NOW()');
-
+
// store license data
if ($values['cc_license'] == true) {
@@ -607,14 +610,14 @@ class ProductController extends \
Local_Controller_Action_DomainSwitch
$pictureSources = array_merge($values['gallery']['online_picture'],
$this->saveGalleryPics($form->gallery->upload->upload_picture));
$projectModel->updateGalleryPictures($this->_projectId, $pictureSources);
-
+
//If there is no Logo, we take the 1. gallery pic
- if(!isset($projectData->image_small) || $projectData->image_small == '') {
- $projectData->image_small = $pictureSources[0];
- $log->debug('**********' . __CLASS__ . '::' . __FUNCTION__ . ' - set \
image_small: '.$projectData->image_small.'\n'); + if \
(!isset($projectData->image_small) || $projectData->image_small == '') { + \
$projectData->image_small = $pictureSources[0]; + $log->debug('**********' \
. __CLASS__ . '::' . __FUNCTION__ . ' - set image_small: ' . \
$projectData->image_small . '\n'); } else {
- $log->debug('**********' . __CLASS__ . '::' . __FUNCTION__ . ' - set \
image_small: Not neeed. '.$projectData->image_small.'\n');
-
+ $log->debug('**********' . __CLASS__ . '::' . __FUNCTION__ . ' - set \
image_small: Not neeed. ' . $projectData->image_small . '\n'); +
}
$projectData->save();
@@ -666,8 +669,9 @@ class ProductController extends \
Local_Controller_Action_DomainSwitch
//Save version number
$version = "";
- if(isset($params['product_version']))
- $version = $params['product_version'];
+ if (isset($params['product_version'])) {
+ $version = $params['product_version'];
+ }
$updateArray = array();
$updateArray['version'] = $version;
@@ -1637,28 +1641,29 @@ class ProductController extends \
Local_Controller_Action_DomainSwitch
$this->_helper->json(array('status' => 'error', 'error_text' => \
$error_text)); }
-
+
public function updatepackagetypeAction()
{
- $this->_helper->layout()->disableLayout();
-
- $error_text = "";
-
- // Update a file information in ppload collection (does not update it if in \
finalized collection)
- if (!empty($_POST['file_id'])) {
- $typeId = null;
- if(isset($_POST['package_type_id']))
- $typeId = $_POST['package_type_id'];
-
- $packageTypeTable = new Default_Model_DbTable_ProjectPackageType();
- $packageTypeTable->addPackageTypeToProject($this->_projectId, $_POST['file_id'], \
$typeId);
- $this->_helper->json(array('status' => 'ok'));
- return;
- } else {
- $error_text .= 'No FileId. , FileId: ' . $_POST['file_id'];
- }
-
- $this->_helper->json(array('status' => 'error', 'error_text' => $error_text));
+ $this->_helper->layout()->disableLayout();
+
+ $error_text = "";
+
+ // Update a file information in ppload collection (does not update it if in \
finalized collection) + if (!empty($_POST['file_id'])) {
+ $typeId = null;
+ if (isset($_POST['package_type_id'])) {
+ $typeId = $_POST['package_type_id'];
+ }
+
+ $packageTypeTable = new Default_Model_DbTable_ProjectPackageType();
+ $packageTypeTable->addPackageTypeToProject($this->_projectId, \
$_POST['file_id'], $typeId); + $this->_helper->json(array('status' => \
'ok')); + return;
+ } else {
+ $error_text .= 'No FileId. , FileId: ' . $_POST['file_id'];
+ }
+
+ $this->_helper->json(array('status' => 'error', 'error_text' => \
$error_text)); }
/**
@@ -1692,10 +1697,10 @@ class ProductController extends \
Local_Controller_Action_DomainSwitch if (isset($fileResponse->status)
&& $fileResponse->status == 'success'
) {
-
+
$packageTypeTable = new \
Default_Model_DbTable_ProjectPackageType();
$packageTypeTable->deletePackageTypeOnProject($this->_projectId, \
$_POST['file_id']);
-
+
$this->_helper->json(array('status' => 'ok'));
return;
} else {
diff --git a/application/modules/default/controllers/ProductcommentController.php \
b/application/modules/default/controllers/ProductcommentController.php index \
5fe6afa..0ac14cc 100644
--- a/application/modules/default/controllers/ProductcommentController.php
+++ b/application/modules/default/controllers/ProductcommentController.php
@@ -48,8 +48,7 @@ class ProductcommentController extends \
Local_Controller_Action_DomainSwitch $result = $tableReplies->save($data);
$status = count($result) > 0 ? 'ok' : 'error';
$message = '';
-
-
+
$this->view->comments = $this->loadComments((int)$this->getParam('page'), \
(int)$this->getParam('p'));
$this->view->product = $this->loadProductInfo((int)$this->getParam('p'));
@@ -60,23 +59,23 @@ class ProductcommentController extends \
Local_Controller_Action_DomainSwitch
//Send a notification to the owner
//Don't send email notification on own comments
- if($this->_authMember->mail != $this->view->product->mail) {
+ if ($this->_authMember->mail != $this->view->product->mail) {
$this->sendNotificationToOwner($this->view->product, \
$data['comment_text']); }
-
+
//Send a notification to the parent comment writer
- if((int)$this->getParam('i')!=0) {
- $parentCommentArray = (array) \
$tableReplies->getComment((int)$this->getParam('i'));
- if(count($parentCommentArray)>0) {
+ if ((int)$this->getParam('i') != 0) {
+ $parentCommentArray = \
(array)$tableReplies->getComment((int)$this->getParam('i')); + if \
(count($parentCommentArray) > 0) { $parentComment = $parentCommentArray[0];
$parentCommentOwner = \
$this->loadMemberInfo($parentComment['comment_member_id']);
- if($parentCommentOwner && $parentCommentOwner->mail != \
$this->view->product->mail && $parentCommentOwner->member_id != \
$this->_authMember->member_id) { + if ($parentCommentOwner && \
$parentCommentOwner->mail != $this->view->product->mail && \
$parentCommentOwner->member_id != $this->_authMember->member_id) {
$this->sendNotificationToParent($this->view->product, \
$parentCommentOwner, $data['comment_text']); }
}
}
-
+
if ($this->_request->isXmlHttpRequest()) {
$this->_helper->json(array('status' => $status, 'message' => $message, \
'data' => $requestResult)); @@ -101,12 +100,6 @@ class ProductcommentController \
extends Local_Controller_Action_DomainSwitch $tableProject = new \
Default_Model_Project(); return $tableProject->fetchProductInfo($param);
}
-
- private function loadMemberInfo($memberId)
- {
- $memberTable = new Default_Model_Member();
- return $memberTable->fetchMemberData($memberId);
- }
private function updateActivityLog($data, $image_small)
{
@@ -133,7 +126,13 @@ class ProductcommentController extends \
Local_Controller_Action_DomainSwitch
$newPasMail->send();
}
-
+
+ private function loadMemberInfo($memberId)
+ {
+ $memberTable = new Default_Model_Member();
+ return $memberTable->fetchMemberData($memberId);
+ }
+
private function sendNotificationToParent($product, $parentCommentOwner, \
$comment) {
$newPasMail = new Default_Plugin_SendMail('tpl_user_comment_reply_note');
diff --git a/application/modules/default/controllers/SettingsController.php \
b/application/modules/default/controllers/SettingsController.php index \
ec38952..4303635 100644
--- a/application/modules/default/controllers/SettingsController.php
+++ b/application/modules/default/controllers/SettingsController.php
@@ -1197,7 +1197,7 @@ class SettingsController extends \
Local_Controller_Action_DomainSwitch $data = array();
$data['email_member_id'] = $this->_authMember->member_id;
$data['email_address'] = $filterInput->getEscaped('user_email');
- $data['email_verification_value'] = md5($data['email_address'] . \
$this->_authMember->username . time()); + $data['email_verification_value'] = \
Default_Model_MemberEmail::getVerificationValue($this->_authMember->username, \
$filterInput->getEscaped('user_email')); $modelMemberEmail = new \
Default_Model_DbTable_MemberEmail(); return $modelMemberEmail->save($data);
}
diff --git a/application/modules/default/models/Authorization.php \
b/application/modules/default/models/Authorization.php index 68067bc..c373be7 100644
--- a/application/modules/default/models/Authorization.php
+++ b/application/modules/default/models/Authorization.php
@@ -277,6 +277,24 @@ class Default_Model_Authorization
}
/**
+ * @param string $identity
+ * @return object
+ */
+ public function getAuthUserDataFromUnverified($identity)
+ {
+ Zend_Registry::get('logger')->info(__METHOD__ . ' - $identity: ' . \
print_r($identity, true)); + $sql = "
+ SELECT member.* FROM member
+ STRAIGHT_JOIN member_email ON member.member_id = \
member_email.email_member_id AND email_deleted = 0 AND email_checked is null + \
WHERE member_email.email_verification_value = :verification; + ";
+ $resultRow = $this->_dataTable->getAdapter()->fetchRow($sql, \
array('verification'=>$identity)); + \
Zend_Registry::get('logger')->info(__METHOD__ . ' - $resultRow: ' . \
print_r($resultRow, true)); + unset($resultRow['password']);
+ return (object)$resultRow;
+ }
+
+ /**
* ppload and OCS
*
* @param string $identity
diff --git a/application/modules/default/models/Member.php \
b/application/modules/default/models/Member.php index dedd1ac..7bde5c5 100644
--- a/application/modules/default/models/Member.php
+++ b/application/modules/default/models/Member.php
@@ -22,6 +22,7 @@
**/
class Default_Model_Member extends Default_Model_DbTable_Member
{
+
/**
* @param int $count
* @param string $orderBy
@@ -103,7 +104,6 @@ class Default_Model_Member extends Default_Model_DbTable_Member
return $resultSet;
}
-
}
/**
@@ -147,18 +147,19 @@ class Default_Model_Member extends Default_Model_DbTable_Member
/**
* @param int $member_id
- * @return int
+ * @return boolean returns true if successful
*/
- public function activateMemberFromVerification($member_id)
+ public function activateMemberFromVerification($member_id, $verification_value)
{
- $updateValues = array(
- 'mail_checked' => 1,
- 'is_active' => 1,
- 'is_deleted' => 0,
- 'changed_at' => new Zend_Db_Expr('Now()'),
- );
+ $sql = "
+ UPDATE member
+ STRAIGHT_JOIN member_email ON member.member_id = \
member_email.email_member_id AND member_email.email_checked is null AND \
member.is_deleted = 0 AND member_email.email_deleted = 0 + SET \
member.mail_checked = 1, member.is_active = 1, member.changed_at = NOW(), \
member_email.email_checked = NOW() + WHERE member.member_id = :memberId \
and member_email.email_verification_value = :verificationValue; + ";
+ $stmnt = $this->_db->query($sql, array('memberId' => $member_id, \
'verificationValue' => $verification_value));
- return $this->update($updateValues, $this->_db->quoteInto('member_id=?', \
$member_id, 'INTEGER')); + return $stmnt->rowCount() > 0 ? true : false;
}
/**
@@ -314,29 +315,6 @@ class Default_Model_Member extends Default_Model_DbTable_Member
*/
public function fetchSupportedProjects($member_id, $limit = null)
{
- /***
- * $sql = "
- * SELECT plings.project_id,
- * plings.member_id,
- * count(plings.member_id) AS collectPlingsFromMember,
- * project_category.title AS catTitle,
- * project.*,
- * member.*,
- * (SELECT COUNT(DISTINCT plings.member_id) FROM plings WHERE \
plings.status_id >= 2 AND plings.project_id = project.project_id) AS \
plingers,
- * (SELECT SUM(amount) FROM plings WHERE \
plings.project_id=project.project_id AND plings.status_id=2) AS \
sumAmount,
- * (SELECT SUM(amount) FROM plings WHERE \
plings.project_id=project.project_id AND plings.status_id IN (2,3,4)) AS \
collectPlingsAll
- * FROM plings
- * LEFT JOIN project ON plings.project_id = project.project_id
- * LEFT JOIN project_category ON project.project_category_id = \
project_category.project_category_id
- * LEFT JOIN member ON project.member_id = member.member_id
- * WHERE plings.status_id in (2,3,4)
- * AND plings.member_id = :member_id
- * AND project.status = :project_status
- * AND project.type_id = 1
- * GROUP BY plings.project_id
- * ORDER BY sumAmount DESC
- * ";
- **/
$sql = "
SELECT plings.project_id,
project.title,
@@ -362,7 +340,6 @@ class Default_Model_Member extends Default_Model_DbTable_Member
array('member_id' => $member_id, 'project_status' => \
Default_Model_Project::PROJECT_ACTIVE));
return $this->generateRowSet($result);
-
}
/**
@@ -372,28 +349,6 @@ class Default_Model_Member extends Default_Model_DbTable_Member
*/
public function fetchFollowedProjects($member_id, $limit = null)
{
- /**
- * $sql = "
- * SELECT project_follower.project_id,
- * project_follower.member_id,
- * project_category.title AS catTitle,
- * project.*,
- * member.*,
- * (SELECT COUNT(DISTINCT plings.member_id) FROM plings WHERE \
plings.status_id >= 2 AND plings.project_id = project.project_id) AS \
plingers,
- * (SELECT SUM(amount) FROM plings WHERE \
plings.project_id=project.project_id AND plings.status_id=2) AS \
sumAmount,
- * (SELECT SUM(amount) FROM plings WHERE \
plings.project_id=project.project_id AND plings.status_id IN (2,3,4)) AS \
collectPlingsAll
- * FROM project_follower
- * LEFT JOIN project ON project_follower.project_id = project.project_id
- * LEFT JOIN project_category ON project.project_category_id = \
project_category.project_category_id
- * LEFT JOIN member ON project.member_id = member.member_id
- * WHERE project_follower.member_id = :member_id
- * AND project.status = :project_status
- * AND project.type_id = 1
- * GROUP BY project_follower.project_id
- * ORDER BY max(project_follower.project_follower_id) DESC
- * ";
- **/
-
$sql = "
SELECT project_follower.project_id,
project.title,
@@ -414,7 +369,6 @@ class Default_Model_Member extends Default_Model_DbTable_Member
array('member_id' => $member_id, 'project_status' => \
Default_Model_Project::PROJECT_ACTIVE));
return $this->generateRowSet($result);
-
}
public function fetchPlingedProjects($member_id, $limit = null)
@@ -443,7 +397,6 @@ class Default_Model_Member extends Default_Model_DbTable_Member
array('member_id' => $member_id, 'project_status' => \
Default_Model_Project::PROJECT_ACTIVE));
return $this->generateRowSet($result);
-
}
public function fetchSupportedByProjects($member_id, $limit = null)
@@ -479,7 +432,6 @@ class Default_Model_Member extends Default_Model_DbTable_Member
array('member_id' => $member_id, 'project_status' => \
Default_Model_Project::PROJECT_ACTIVE));
return $this->generateRowSet($result);
-
}
public function createNewUser($userData)
@@ -503,7 +455,7 @@ class Default_Model_Member extends Default_Model_DbTable_Member
$userData['uuid'] = $uuidMember;
}
if (false == isset($userData['verificationVal'])) {
- $verificationVal = MD5($userData['mail'] . $userData['username'] . \
time()); + $verificationVal = \
Default_Model_MemberEmail::getVerificationValue($userData['username'], \
$userData['mail']); $userData['verificationVal'] = $verificationVal;
}
@@ -591,7 +543,6 @@ class Default_Model_Member extends Default_Model_DbTable_Member
$result = $this->_db->fetchRow($sql);
return $result['total_member_count'];
-
}
/**
@@ -622,9 +573,9 @@ class Default_Model_Member extends Default_Model_DbTable_Member
JOIN project_category ON project.project_category_id = \
project_category.project_category_id JOIN member ON project.member_id = \
member.member_id WHERE plings.status_id = 2
- AND project.status = " . Default_Model_Project::PROJECT_ACTIVE . "
+ AND project.status = :status
AND project.type_id = 1
- AND project.member_id = " . $member_id . "
+ AND project.member_id = :memberId
ORDER BY plings.create_time DESC
";
@@ -632,39 +583,10 @@ class Default_Model_Member extends Default_Model_DbTable_Member
$sql .= $this->_db->quoteInto(" limit ?", $limit, 'INTEGER');
}
- $result = $this->_db->fetchAll($sql);
+ $result = $this->_db->fetchAll($sql, array('memberId' => $member_id, \
'status' => Default_Model_Project::PROJECT_ACTIVE)); return \
$this->generateRowSet($result); }
-
- /*
- public function fetchEarnings($projectIds, $limit = null)
- {
- $sql = "
- SELECT project_category.title AS catTitle,
- project.*,
- member.*,
- plings.*
- FROM plings
- LEFT JOIN project ON plings.project_id = project.project_id
- LEFT JOIN project_category ON project.project_category_id = \
project_category.project_category_id
- LEFT JOIN member ON project.member_id = member.member_id
- WHERE plings.status_id = 2
- AND project.status = " . Default_Model_Project::PROJECT_ACTIVE \
. "
- AND project.type_id = 1
- AND plings.project_id IN (" . implode(",", $projectIds) . ")
- ORDER BY plings.create_time DESC
- ";
-
- if (null != $limit) {
- $sql .= $this->_db->quoteInto(" limit ?", $limit, 'INTEGER');
- }
-
- $result = $this->_db->fetchAll($sql);
- return $this->generateRowSet($result);
- }
- */
-
/**
* Finds an active user by given username or email ($identity)
*
diff --git a/application/modules/default/models/MemberEmail.php \
b/application/modules/default/models/MemberEmail.php index 04af361..95b0ae2 100644
--- a/application/modules/default/models/MemberEmail.php
+++ b/application/modules/default/models/MemberEmail.php
@@ -39,6 +39,16 @@ class Default_Model_MemberEmail
}
/**
+ * @param int $user_name
+ * @param string $member_email
+ * @return string
+ */
+ public static function getVerificationValue($user_name, $member_email)
+ {
+ return md5($user_name . $member_email . time());
+ }
+
+ /**
* @param int $member_id
* @param bool $email_deleted
* @return array
@@ -76,6 +86,39 @@ class Default_Model_MemberEmail
return $stmnt->rowCount();
}
+ /**
+ * @param int $user_id
+ * @param string $user_mail
+ * @param null|string $user_verification
+ * @return Zend_Db_Table_Row_Abstract
+ */
+ public function saveEmail($user_id, $user_mail, $user_verification = null)
+ {
+ $data = array();
+ $data['email_member_id'] = $user_id;
+ $data['email_address'] = $user_mail;
+ $data['email_verification_value'] = empty($user_verification) ? \
Default_Model_MemberEmail::getVerificationValue($user_id, $user_mail) : \
$user_verification; +
+ return $this->_dataTable->save($data);
+ }
+
+ /**
+ * @param int $user_id
+ * @param string $user_mail
+ * @param null|string $user_verification
+ * @return Zend_Db_Table_Row_Abstract
+ */
+ public function saveEmailAsPrimary($user_id, $user_mail, $user_verification = \
null) + {
+ $data = array();
+ $data['email_member_id'] = $user_id;
+ $data['email_address'] = $user_mail;
+ $data['email_verification_value'] = empty($user_verification) ? \
Default_Model_MemberEmail::getVerificationValue($user_id, $user_mail) : \
$user_verification; + $data['email_primary'] = \
Default_Model_DbTable_MemberEmail::EMAIL_PRIMARY; +
+ return $this->_dataTable->save($data);
+ }
+
private function updateMemberData($member_id)
{
$sql = "select * from {$this->_dataTable->info('name')} where \
email_member_id = :member_id and email_primary = 1";
diff --git a/application/modules/default/models/Project.php \
b/application/modules/default/models/Project.php index c644af4..bbc8ace 100644
--- a/application/modules/default/models/Project.php
+++ b/application/modules/default/models/Project.php
@@ -353,7 +353,7 @@ class Default_Model_Project extends Default_Model_DbTable_Project
FROM project AS p
JOIN member AS m ON p.member_id = m.member_id AND m.is_active = 1 \
AND m.is_deleted = 0
JOIN project_category AS pc ON p.project_category_id = \
pc.project_category_id
- LEFT JOIN stat_plings as sp ON p.project_id = sp.project_id
+ LEFT JOIN stat_plings AS sp ON p.project_id = sp.project_id
WHERE
p.project_id = :projectId
AND p.status >= :projectStatus AND p.type_id = :typeId
@@ -472,7 +472,6 @@ class Default_Model_Project extends Default_Model_DbTable_Project
*/
public function fetchAllProjectUpdates($project_id)
{
-
$projectSel = $this->select()->setIntegrityCheck(false)
->from($this->_name)
->where('project.pid=?', $project_id, 'INTEGER')
@@ -480,7 +479,6 @@ class Default_Model_Project extends Default_Model_DbTable_Project
->where('project.type_id=?', self::PROJECT_TYPE_UPDATE);
return $this->fetchAll($projectSel);
-
}
/**
@@ -768,43 +766,6 @@ class Default_Model_Project extends \
Default_Model_DbTable_Project }
}
-
- /**
- * /**
- * @param $member
- * @param $project
- * @param int $count
- * @return Zend_Db_Table_Rowset_Abstract
- public function fetchMoreProjects($project, $count = 6)
- * {
- * $q = $this->select()->from($this, array(
- * '*',
- * 'project_validated' => 'project.validated',
- * 'project_uuid' => 'project.uuid',
- * 'project_status' => 'project.status',
- * 'project_created_at' => 'project.created_at',
- * 'member_type' => 'member.type',
- * 'project_member_id' => 'member_id',
- * 'collectPlings' => new Zend_Db_Expr('(SELECT COUNT(1) FROM plings WHERE \
plings.project_id=project.project_id AND plings.status_id=2)'),
- * 'collectPlingsAll' => new Zend_Db_Expr('(SELECT COUNT(1) FROM plings WHERE \
plings.project_id=project.project_id AND plings.status_id in \
(2,3,4))'),
- * 'sumAmount' => new Zend_Db_Expr('(SELECT SUM(amount) FROM plings WHERE \
plings.project_id=project.project_id AND plings.status_id=2)'),
- * 'sumAmountDollar' => new Zend_Db_Expr('(SELECT ROUND(SUM(amount),0) FROM \
plings WHERE plings.project_id=project.project_id AND \
plings.status_id=2)'),
- * 'sumAmountCent' => new Zend_Db_Expr('(SELECT round(mod(sum(amount), \
truncate(sum(amount),0)),2)*100 FROM plings WHERE \
plings.project_id=project.project_id AND plings.status_id=2)'),
- * 'plingers' => new Zend_Db_Expr('(select count(distinct plings.member_id) FROM \
plings WHERE plings.status_id >= 2 and plings.project_id = \
project.project_id)'),
- * 'catTitle' => new Zend_Db_Expr('(SELECT title FROM project_category WHERE \
project_category_id = project.project_category_id)')
- * ))->setIntegrityCheck(false)
- * ->join('member', 'project.member_id = member.member_id', array('username'))
- * ->where('project.status = ?', self::PROJECT_ACTIVE)
- * ->where('project.member_id = ?', $project->member_id, 'INTEGER')
- * ->where('project.project_id != ?', $project->project_id, 'INTEGER')
- * ->where('project.type_id = ?', 1)
- * ->where('project.project_category_id = ?', $project->project_category_id, \
'INTEGER')
- * ->limit($count)
- * ->order('sumAmount DESC');
- * return $this->generateRowSet($q->query()->fetchAll());
- * }
- **/
-
/**
* @param Zend_Db_Table_Row $project
* @param int $count
@@ -833,69 +794,6 @@ class Default_Model_Project extends \
Default_Model_DbTable_Project
* @param int $count
* @return Zend_Db_Table_Rowset_Abstract
*/
- public function fetchMoreProjectsOfOtherUsr_($project, $count = 6)
- {
- $q = $this->select()->from($this, array(
- 'project_id',
- 'image_small',
- 'title',
- 'catTitle' => new Zend_Db_Expr('(SELECT title FROM project_category \
WHERE project_category_id = project.project_category_id)')
- ))->setIntegrityCheck(false)
- ->where('project.status = ?', self::PROJECT_ACTIVE)
- ->where('project.member_id != ?', $project->member_id, 'INTEGER')
- ->where('project.type_id = ?', 1)
- ->where('project.project_category_id = ?', \
$project->project_category_id, 'INTEGER')
- ->limit($count)
- ->order('project.created_at DESC');;
- return $this->generateRowSet($q->query()->fetchAll());
- }
-
-
- /**
- * /**
- * @param $member
- * @param $project
- * @param int $count
- * @return Zend_Db_Table_Rowset_Abstract
-
- public function fetchMoreProjectsOfOtherUsr($project, $count = 6)
- * {
- * $q = $this->select()->from($this, array(
- * '*',
- * 'project_validated' => 'project.validated',
- * 'project_uuid' => 'project.uuid',
- * 'project_status' => 'project.status',
- * 'project_created_at' => 'project.created_at',
- * 'member_type' => 'member.type',
- * 'project_member_id' => 'member_id',
- * 'collectPlings' => new Zend_Db_Expr('(SELECT COUNT(1) FROM plings WHERE \
plings.project_id=project.project_id AND plings.status_id=2)'),
- * 'collectPlingsAll' => new Zend_Db_Expr('(SELECT COUNT(1) FROM plings WHERE \
plings.project_id=project.project_id AND plings.status_id in \
(2,3,4))'),
- * 'sumAmount' => new Zend_Db_Expr('(SELECT SUM(amount) FROM plings WHERE \
plings.project_id=project.project_id AND plings.status_id=2)'),
- * 'sumAmountDollar' => new Zend_Db_Expr('(SELECT ROUND(SUM(amount),0) FROM \
plings WHERE plings.project_id=project.project_id AND \
plings.status_id=2)'),
- * 'sumAmountCent' => new Zend_Db_Expr('(SELECT round(mod(sum(amount), \
truncate(sum(amount),0)),2)*100 FROM plings WHERE \
plings.project_id=project.project_id AND plings.status_id=2)'),
- * 'plingers' => new Zend_Db_Expr('(select count(distinct plings.member_id) FROM \
plings WHERE plings.status_id >= 2 and plings.project_id = \
project.project_id)'),
- * 'catTitle' => new Zend_Db_Expr('(SELECT title FROM project_category WHERE \
project_category_id = project.project_category_id)')
- * ))->setIntegrityCheck(false)
- * ->join('member', 'project.member_id = member.member_id', array('username'))
- * ->where('project.status = ?', self::PROJECT_ACTIVE)
- * ->where('project.member_id != ?', $project->member_id, 'INTEGER')
- * ->where('project.type_id = ?', 1)
- * ->where('project.project_category_id = ?', $project->project_category_id, \
'INTEGER')
- * ->limit($count)
- * ->order('sumAmount DESC');
- * //->order('RAND()')
- * ;
- *
- *
- * return $this->generateRowSet($q->query()->fetchAll());
- * }
- **/
-
- /**
- * @param $project
- * @param int $count
- * @return Zend_Db_Table_Rowset_Abstract
- */
public function fetchMoreProjectsOfOtherUsr($project, $count = 8)
{
$sql = 'select count(1) count from project where project.status = ' . \
self::PROJECT_ACTIVE . ' and member_id <> ' . $project->member_id . ' and \
project_category_id=' . $project->project_category_id . ' and type_id=1'; @@ -950,33 \
+848,6 @@ class Default_Model_Project extends Default_Model_DbTable_Project }
/**
- * @param int $member_id
- * @return Zend_Db_Table_Rowset_Abstract
- * @deprecated
- */
- public function fetchProjectInfoForGroup($member_id)
- {
- $sel = $this->select()->setIntegrityCheck(false)->from($this, array(
- '*',
- 'project_member_id' => 'member_id',
- 'creator_name' => 'group_member.username',
- 'owner_name' => 'member.username',
- 'collectPlings' => '(SELECT COUNT(1) FROM plings WHERE \
plings.project_id=project.project_id AND plings.status_id=2)',
- 'collectPlingsAll' => '(SELECT COUNT(1) FROM plings WHERE \
plings.project_id=project.project_id AND plings.status_id in \
(2,3,4))',
- 'backers' => '(SELECT count(*) FROM plings WHERE \
plings.project_id=project.project_id AND plings.status_id=2)',
- 'plingers' => '(select count(distinct plings.member_id) FROM plings \
WHERE plings.status_id >= 2 and plings.project_id = \
project.project_id)',
- 'catTitle' => '(SELECT title FROM project_category WHERE \
project_category_id = project.project_category_id)'
- ))
- ->join('member', 'project.member_id=member.member_id')
- ->join('member as group_member', \
'project.creator_id=group_member.member_id')
- ->where('project.member_id=?', $member_id, 'INTEGER')
- ->where(' project.type_id=?', 1)
- ->where('project.status>?', self::PROJECT_INACTIVE);
-
- return $this->fetchAll($sel);
- }
-
- /**
* @param int $project_id
* @return Zend_Db_Table_Rowset_Abstract
*/
@@ -1632,7 +1503,7 @@ class Default_Model_Project extends \
Default_Model_DbTable_Project FROM project AS p
JOIN member AS m ON p.member_id = m.member_id AND m.is_active = 1 \
AND m.is_deleted = 0
JOIN project_category AS pc ON p.project_category_id = \
pc.project_category_id
- LEFT JOIN stat_plings as sp ON p.project_id = sp.project_id
+ LEFT JOIN stat_plings AS sp ON p.project_id = sp.project_id
WHERE p.project_category_id IN (" . implode(',', $storeCategories) . \
") AND p.status >= 100
";
@@ -1647,145 +1518,4 @@ class Default_Model_Project extends \
Default_Model_DbTable_Project return $result;
}
- /**
- * @param array $inputFilterParams
- * @param int|null $limit
- * @param int|null $offset
- * @return Zend_Db_Select
- * @throws Zend_Exception
- */
- protected function generateSmallStatement($inputFilterParams, $limit = null, \
$offset = null)
- {
- $statement = $this->generateSmallBaseStatement($offset);
- $statement = $this->generateCategoryFilter($statement, $inputFilterParams);
-
- $statement->limit($limit, $offset);
- return $statement;
- }
-
- /**
- * @return Zend_Db_Select
- */
- protected function generateSmallBaseStatement($offset = null)
- {
- $statement = $this->select()->setIntegrityCheck(false);
- $statement->from(array('project' => $this->_name), array(
- '*',
- 'rownum' => '(' . $offset . ')',
- 'laplace_score' => new Zend_Db_Expr('(round(((count_likes + 6) / \
((count_likes + count_dislikes) + 12)),2) * 100)')
- ));
- $statement->join(array('member' => 'member'), 'project.member_id = \
member.member_id', array(
- 'username',
- 'mail',
- 'avatar',
- 'is_active',
- 'is_deleted',
- 'agb',
- 'newsletter',
- 'paypal_mail',
- 'dwolla_id',
- 'profile_image_url',
- 'link_facebook',
- 'link_twitter',
- 'link_website',
- 'link_google',
- 'validated',
- 'main_project_id'
- ));
- $statement->join(array('project_category' => 'project_category'),
- 'project.project_category_id = project_category.project_category_id',
- array('cat_title' => 'title'));
- $statement->joinLeft(array('project_subcategory' => 'project_subcategory'),
- 'project.project_id = project_subcategory.project_id',
- array('project_sub_category_id'));
- $statement->where('project.status = ?', self::PROJECT_ACTIVE)
- ->where('project.type_id=?', self::PROJECT_TYPE_STANDARD)
- ->where('project.pid is null')
- ->where('member.is_deleted=?', \
Default_Model_DbTable_Member::MEMBER_NOT_DELETED)
- ->where('member.is_active=?', Default_Model_Member::MEMBER_ACTIVE);
- return $statement;
- }
-
- /**
- * @param Zend_Db_Select $statement
- * @param array $filterArrayValue
- * @return Zend_Db_Select
- * @deprecated
- */
- protected function getMemberFilter(Zend_Db_Select $statement, $filterArrayValue)
- {
- if (false == isset($filterArrayValue[self::FILTER_NAME_MEMBER])) {
- return $statement;
- }
- if (false == empty($filterArrayValue['filter'])) {
- $filterValue = $filterArrayValue['filter'];
- } elseif (false == empty($filterArrayValue[self::FILTER_NAME_MEMBER])) {
- $filterValue = $filterArrayValue[self::FILTER_NAME_MEMBER];
- }
-
- if (!empty($filterValue)) {
- $statement->where('(project.member_id = ?)', $filterValue);
- }
-
- return $statement;
- }
-
- /**
- * @return Zend_Db_Select
- * @deprecated
- */
- protected function getBaseStatementHour()
- {
- $statement = $this->select()
- ->setIntegrityCheck(false)
- ->from(array('stat_daily' => 'stat_now'),
- array(
- 'count_views' => new \
Zend_Db_Expr('SUM(stat_daily.count_views)'),
- 'count_plings' => new \
Zend_Db_Expr('SUM(stat_daily.count_plings)'),
- 'count_updates' => new \
Zend_Db_Expr('SUM(stat_daily.count_updates)'),
- 'count_comments' => new \
Zend_Db_Expr('SUM(stat_daily.count_comments)'),
- 'count_followers' => new \
Zend_Db_Expr('SUM(stat_daily.count_followers)'),
- 'count_supporters' => new \
Zend_Db_Expr('SUM(stat_daily.count_supporters)'),
- self::FILTER_NAME_RANKING => new \
Zend_Db_Expr('SUM(stat_daily.ranking_value)')
- ));
- $statement->join('project', 'stat_daily.project_id=project.project_id');
- $statement->join('member', 'project.member_id=member.member_id',
- array(
- 'username' => 'username',
- 'profile_image_url',
- 'city',
- 'country',
- 'member_created_at' => 'created_at',
- 'paypal_mail'
- ));
- $statement->join('project_category', \
'stat_daily.project_category_id=project_category.project_category_id',
- array('catTitle' => 'title'));
- $statement->where('project.status>?', self::PROJECT_INACTIVE)
- ->where('project.type_id=?', self::PROJECT_TYPE_STANDARD)
- ->where('project.pid is null');
- $statement->group(array('project_id', 'project_category_id', \
'project_type_id'));
- return $statement;
- }
-
- /**
- * @param Zend_Db_Select $statement
- * @param array $filterArrayValue
- * @return Zend_Db_Select
- * @deprecated
- */
- protected function getLocationFilter(Zend_Db_Select $statement, \
$filterArrayValue)
- {
- if (!isset($filterArrayValue[self::FILTER_NAME_LOCATION])) {
- return $statement;
- } else {
- $filterValue = $filterArrayValue[self::FILTER_NAME_LOCATION];
- }
-
- if (!empty($filterValue)) {
- $statement->where('city = ?', $filterValue);
- }
-
- return $statement;
- }
-
}
\ No newline at end of file
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic