private function updateThemeExistingAffiliates($themeId) { $update = new Gpf_SqlBuilder_UpdateBuilder(); $update->from->add(Gpf_Db_Table_UserAttributes::getName(), 'ua'); $update->from->addInnerJoin(Pap_Db_Table_Users::getName(), 'pu', 'ua.'.Gpf_Db_Table_UserAttributes::ACCOUNT_USER_ID.'=pu.'.Pap_Db_Table_Users::ACCOUNTUSERID); $update->set->add('ua.'.Gpf_Db_Table_UserAttributes::VALUE, $themeId); $update->where->add('ua.'.Gpf_Db_Table_UserAttributes::NAME, '=', Gpf_Auth_User::THEME_ATTRIBUTE_NAME); $update->where->add('pu.'.Pap_Db_Table_Users::TYPE, '=', Pap_Application::ROLETYPE_AFFILIATE); $update->update(); }
/** * returns recordset of given attribute values for given array of users * * @param unknown_type $settingsNames * @param unknown_type $accountUserIds */ public static function getSettingsForGroupOfUsers($settingsNames, $accountUserIds) { $select = new Gpf_SqlBuilder_SelectBuilder(); $select->select->add(Gpf_Db_Table_UserAttributes::ACCOUNT_USER_ID, "accountuserid"); $select->select->add(Gpf_Db_Table_UserAttributes::NAME, "name"); $select->select->add(Gpf_Db_Table_UserAttributes::VALUE, "value"); $select->from->add(Gpf_Db_Table_UserAttributes::getName()); $select->where->add(Gpf_Db_Table_UserAttributes::NAME, "IN", $settingsNames); $select->where->add(Gpf_Db_Table_UserAttributes::ACCOUNT_USER_ID, "IN", $accountUserIds); $recordSet = $select->getAllRows(); $results = array(); foreach ($recordSet as $record) { $results[$record->get('accountuserid')][$record->get('name')] = $record->get('value'); } return $results; }
protected function modifySelect(Gpf_SqlBuilder_SelectBuilder $selectBuilder) { $condition = new Gpf_SqlBuilder_CompoundWhereCondition(); $condition->add('accountUsers.'.Gpf_Db_Table_Users::ID, '=', 'ua.'.Gpf_Db_Table_UserAttributes::ACCOUNT_USER_ID, 'AND', false); $condition->add('ua.'.Gpf_Db_Table_UserAttributes::NAME, '=', 'apply_vat_invoicing'); $selectBuilder->from->addLeftJoin(Gpf_Db_Table_UserAttributes::getName(), 'ua', $condition->toString()); if ($this->getVat() == Gpf::NO) { $condition = new Gpf_SqlBuilder_CompoundWhereCondition(); $condition->add('ua.'.Gpf_Db_Table_UserAttributes::VALUE, '=', Gpf::NO, 'OR'); $condition->add('ua.'.Gpf_Db_Table_UserAttributes::VALUE, '=', null, 'OR'); $selectBuilder->where->addCondition($condition); return; } $selectBuilder->where->add('ua.'.Gpf_Db_Table_UserAttributes::VALUE, '=', Gpf::YES); }
private function deleteAffiliates() { Pap3Compatibility_Migration_OutputWriter::logOnce(" Deleting affiliates ....."); // pap users $sql = new Gpf_SqlBuilder_DeleteBuilder(); $sql->from->add(Pap_Db_Table_Users::getName()); $sql->where->add('rtype', '=', 'A'); $sql->execute(); // g_users $inSelect = new Gpf_SqlBuilder_SelectBuilder(); $inSelect->select->add(Pap_Db_Table_Users::ACCOUNTUSERID); $inSelect->from->add(Pap_Db_Table_Users::getName()); $sql = new Gpf_SqlBuilder_DeleteBuilder(); $sql->from->add(Gpf_Db_Table_Users::getName()); $sql->where->add('accountuserid', 'NOT IN', $inSelect, 'AND', false); $sql->execute(); // g_authusers $inSelect = new Gpf_SqlBuilder_SelectBuilder(); $inSelect->select->add(Gpf_Db_Table_Users::AUTHID); $inSelect->from->add(Gpf_Db_Table_Users::getName()); $sql = new Gpf_SqlBuilder_DeleteBuilder(); $sql->from->add(Gpf_Db_Table_AuthUsers::getName()); $sql->where->add('authid', 'NOT IN', $inSelect, 'AND', false); $sql->execute(); // g_userattributes $inSelect = new Gpf_SqlBuilder_SelectBuilder(); $inSelect->select->add(Gpf_Db_Table_Users::ID); $inSelect->from->add(Gpf_Db_Table_Users::getName()); $sql = new Gpf_SqlBuilder_DeleteBuilder(); $sql->from->add(Gpf_Db_Table_UserAttributes::getName()); $sql->where->add('accountuserid', 'NOT IN', $inSelect, 'AND', false); $sql->execute(); // g_gadgets $inSelect = new Gpf_SqlBuilder_SelectBuilder(); $inSelect->select->add(Gpf_Db_Table_Users::ID); $inSelect->from->add(Gpf_Db_Table_Users::getName()); $sql = new Gpf_SqlBuilder_DeleteBuilder(); $sql->from->add(Gpf_Db_Table_Gadgets::getName()); $sql->where->add('accountuserid', 'NOT IN', $inSelect, 'AND', false); $sql->execute(); Pap3Compatibility_Migration_OutputWriter::log("DONE<br/>"); }