function saveTabBucketsAction() { @($team_id = DevblocksPlatform::importGPC($_REQUEST['team_id'], 'integer')); @($active_worker = CerberusApplication::getActiveWorker()); if (!$active_worker->isTeamManager($team_id) && !$active_worker->is_superuser) { return; } // Inbox assignable @($inbox_assignable = DevblocksPlatform::importGPC($_REQUEST['inbox_assignable'], 'integer', 0)); DAO_GroupSettings::set($team_id, DAO_GroupSettings::SETTING_INBOX_IS_ASSIGNABLE, intval($inbox_assignable)); //========== BUCKETS @($ids = DevblocksPlatform::importGPC($_REQUEST['ids'], 'array')); @($add_str = DevblocksPlatform::importGPC($_REQUEST['add'], 'string')); @($pos = DevblocksPlatform::importGPC($_REQUEST['pos'], 'array')); @($names = DevblocksPlatform::importGPC($_REQUEST['names'], 'array')); @($assignables = DevblocksPlatform::importGPC($_REQUEST['is_assignable'], 'array')); @($deletes = DevblocksPlatform::importGPC($_REQUEST['deletes'], 'array')); // Updates if (!empty($ids)) { $cats = DAO_Bucket::getList($ids); foreach ($ids as $idx => $id) { @($cat = $cats[$id]); if (is_object($cat)) { $is_assignable = false === array_search($id, $assignables) ? 0 : 1; $fields = array(DAO_Bucket::NAME => $names[$idx], DAO_Bucket::POS => intval($pos[$idx]), DAO_Bucket::IS_ASSIGNABLE => intval($is_assignable)); DAO_Bucket::update($id, $fields); } } } // Adds: Sort and insert team categories $categories = DevblocksPlatform::parseCrlfString($add_str); if (is_array($categories)) { foreach ($categories as $category) { $cat_id = DAO_Bucket::create($category, $team_id); } } if (!empty($deletes)) { DAO_Bucket::delete(array_values($deletes)); } DevblocksPlatform::redirect(new DevblocksHttpResponse(array('groups', $team_id, 'buckets'))); }
DAO_GroupSettings::set($dispatch_gid, DAO_GroupSettings::SETTING_SPAM_ACTION_PARAM, $dispatch_spam_bid); DAO_GroupSettings::set($dispatch_gid, DAO_GroupSettings::SETTING_SPAM_THRESHOLD, '85'); // Support Group $support_gid = DAO_Group::createTeam(array(DAO_Group::TEAM_NAME => 'Support')); // Support Spam Bucket $support_spam_bid = DAO_Bucket::create('Spam', $support_gid); DAO_GroupSettings::set($support_gid, DAO_GroupSettings::SETTING_SPAM_ACTION, '2'); DAO_GroupSettings::set($support_gid, DAO_GroupSettings::SETTING_SPAM_ACTION_PARAM, $support_spam_bid); DAO_GroupSettings::set($support_gid, DAO_GroupSettings::SETTING_SPAM_THRESHOLD, '85'); // Sales Group $sales_gid = DAO_Group::createTeam(array(DAO_Group::TEAM_NAME => 'Sales')); // Sales Spam Bucket $sales_spam_bid = DAO_Bucket::create('Spam', $sales_gid); DAO_GroupSettings::set($sales_gid, DAO_GroupSettings::SETTING_SPAM_ACTION, '2'); DAO_GroupSettings::set($sales_gid, DAO_GroupSettings::SETTING_SPAM_ACTION_PARAM, $sales_spam_bid); DAO_GroupSettings::set($sales_gid, DAO_GroupSettings::SETTING_SPAM_THRESHOLD, '85'); // Default catchall DAO_Group::updateTeam($dispatch_gid, array(DAO_Group::IS_DEFAULT => 1)); } // If this worker doesn't exist, create them if (null === ($lookup = DAO_Worker::lookupAgentEmail($worker_email))) { $worker_id = DAO_Worker::create($worker_email, $worker_pass, 'Super', 'User', 'Administrator'); // Superuser bit $fields = array(DAO_Worker::IS_SUPERUSER => 1); DAO_Worker::updateAgent($worker_id, $fields); // Add the worker e-mail to the addresses table if (!empty($worker_email)) { DAO_Address::lookupAddress($worker_email, true); } // Authorize this e-mail address (watchers, etc.) DAO_AddressToWorker::assign($worker_email, $worker_id);