本文整理匯總了PHP中Projects::findByCSVIds方法的典型用法代碼示例。如果您正苦於以下問題:PHP Projects::findByCSVIds方法的具體用法?PHP Projects::findByCSVIds怎麽用?PHP Projects::findByCSVIds使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Projects
的用法示例。
在下文中一共展示了Projects::findByCSVIds方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: getWorkspacesByTemplate
/**
* Returns all Workspaces an Template belongs to
*
* @param $object_manager
* @param $Template_id
* @return array
*/
static function getWorkspacesByTemplate($template_id, $wsCSV = null)
{
$all = self::findAll(array('conditions' => "`template_id` = {$template_id}" . ($wsCSV ? " AND `workspace_id` IN ({$wsCSV})" : '')));
if (!is_array($all)) {
return array();
}
$csv = "";
foreach ($all as $w) {
if ($csv != "") {
$csv .= ",";
}
$csv .= $w->getWorkspaceId();
}
return Projects::findByCSVIds($csv);
}
示例2: getWorkspacesByObject
/**
* Returns all Workspaces an Object belongs to
*
* @param $object_manager
* @param $object_id
* @return array
*/
static function getWorkspacesByObject($object_manager, $object_id, $wsCSV = null)
{
$all = self::findAll(array('conditions' => "`object_manager` = '{$object_manager}' AND `object_id` = {$object_id}" . ($wsCSV ? " AND `workspace_id` IN ({$wsCSV})" : '')));
//array('`object_manager` = ? AND `object_id` = ?', $object_manager, $object_id)));
if (!is_array($all) || count($all) == 0) {
return array();
}
$csv = "";
foreach ($all as $w) {
if ($csv != "") {
$csv .= ",";
}
$csv .= $w->getWorkspaceId();
}
return Projects::findByCSVIds($csv);
}
示例3: classify
/**
* Classify specific email
*
*/
function classify()
{
if (logged_user()->isGuest()) {
flash_error(lang('no access permissions'));
ajx_current("empty");
return;
}
$email = MailContents::findById(get_id());
if (!$email instanceof MailContent) {
flash_error(lang('email dnx'));
ajx_current("empty");
return;
}
if ($email->getIsDeleted()) {
flash_error(lang('email dnx deleted'));
ajx_current("empty");
return;
}
if (!$email->canEdit(logged_user())) {
flash_error(lang('no access permissions'));
ajx_current("empty");
return;
}
// if
MailUtilities::parseMail($email->getContent(), $decoded, $parsedEmail, $warnings);
$projects = logged_user()->getActiveProjects();
tpl_assign('projects', $projects);
$classification_data = array_var($_POST, 'classification');
if (!is_array($classification_data)) {
$tag_names = $email->getTagNames();
$classification_data = array('tag' => is_array($tag_names) ? implode(', ', $tag_names) : '');
// array
}
// if
if (is_array(array_var($_POST, 'classification'))) {
try {
$create_task = array_var($classification_data, 'create_task') == 'checked';
$canWriteFiles = $this->checkFileWritability($classification_data, $parsedEmail);
if ($canWriteFiles) {
$project_ids = $classification_data["project_ids"];
$enteredWS = Projects::findByCSVIds($project_ids);
$validWS = array();
if (isset($enteredWS)) {
foreach ($enteredWS as $ws) {
if (ProjectFile::canAdd(logged_user(), $ws)) {
$validWS[] = $ws;
}
}
}
if (empty($validWS)) {
flash_error(lang('must choose at least one workspace error'));
ajx_current("empty");
return;
}
DB::beginWork();
$conversation = MailContents::getMailsFromConversation($email);
foreach ($conversation as $conv_email) {
$conv_email->removeFromWorkspaces(logged_user()->getWorkspacesQuery());
foreach ($validWS as $w) {
$conv_email->addToWorkspace($w);
}
$conv_email->save();
MailUtilities::parseMail($conv_email->getContent(), $decoded, $parsedEmail, $warnings);
$csv = array_var($classification_data, 'tag');
$conv_email->setTagsFromCSV($csv);
if ($conv_email->getHasAttachments()) {
//Classify attachments
$this->classifyFile($classification_data, $conv_email, $parsedEmail, $validWS, true, $csv);
}
}
DB::commit();
flash_success(lang('success classify email'));
if ($create_task) {
ajx_replace(true);
$this->redirectTo('task', 'add_task', array('from_email' => $email->getId(), 'replace' => 1));
} else {
ajx_current("back");
evt_add("reload mails panel", array());
}
} else {
flash_error(lang("error classifying attachment cant open file"));
ajx_current("empty");
}
// If can write files
// Error...
} catch (Exception $e) {
DB::rollback();
flash_error($e->getMessage());
ajx_current("empty");
}
// try
} else {
$classification_data["project_ids"] = $email->getWorkspaces();
}
tpl_assign('classification_data', $classification_data);
tpl_assign('email', $email);
//.........這裏部分代碼省略.........
示例4: assign_to_ws
function assign_to_ws()
{
if (!can_manage_templates(logged_user())) {
flash_error(lang("no access permissions"));
ajx_current("empty");
return;
}
$template_id = get_id();
$cotemplate = COTemplates::findById($template_id);
if (!$cotemplate instanceof COTemplate) {
flash_error(lang("template dnx"));
ajx_current("empty");
return;
}
$selected = WorkspaceTemplates::getWorkspacesByTemplate($template_id);
tpl_assign('workspaces', logged_user()->getWorkspaces());
tpl_assign('selected', $selected);
tpl_assign('cotemplate', $cotemplate);
$checked = array_var($_POST, 'ws_ids');
if ($checked != null) {
try {
DB::beginWork();
WorkspaceTemplates::deleteByTemplate($template_id);
$wss = Projects::findByCSVIds($checked);
foreach ($wss as $ws) {
$obj = new WorkspaceTemplate();
$obj->setWorkspaceId($ws->getId());
$obj->setTemplateId($template_id);
$obj->setInludeSubWs(false);
$obj->save();
}
DB::commit();
flash_success(lang('success assign workspaces'));
ajx_current("back");
} catch (Exception $exc) {
DB::rollback();
flash_error(lang('error assign workspace') . $exc->getMessage());
ajx_current("empty");
}
}
}
示例5: render_add_milestone
function render_add_milestone()
{
$ws_ids = array_var($_GET, 'workspaces', '');
$genid = array_var($_GET, 'genid', '');
$workspaces = Projects::findByCSVIds($ws_ids);
tpl_assign('workspaces', $workspaces);
tpl_assign('genid', $genid);
$this->setLayout("html");
$this->setTemplate("add_select_milestone");
}
示例6: uploadFile
function uploadFile($username, $password, $workspaces, $tags, $generate_rev, $filename, $description, $do_checkin, $data)
{
$result = array('status' => true, 'errorid' => 0, 'message' => '');
if ($this->loginUser($username, $password)) {
try {
DB::beginWork();
$file = null;
$files = ProjectFiles::getAllByFilename($filename, logged_user()->getWorkspacesQuery());
if (is_array($files) && count($files) > 0) {
if ($generate_rev) {
$file = ProjectFiles::findById($files[0]->getId());
if ($file->isCheckedOut()) {
if (!$file->canCheckin(logged_user())) {
$result['status'] = false;
$result['errorid'] = 1004;
$result['message'] = lang('no access permissions');
}
$file->setCheckedOutById(0);
} else {
// Check for edit permissions
if (!$file->canEdit(logged_user())) {
$result['status'] = false;
$result['errorid'] = 1004;
$result['message'] = lang('no access permissions');
}
}
}
}
if ($result['status']) {
$enteredWS = Projects::findByCSVIds($workspaces);
$validWS = array();
foreach ($enteredWS as $ws) {
if (ProjectFile::canAdd(logged_user(), $ws)) {
$validWS[] = $ws;
}
}
if (count($validWS) == 0) {
$result['status'] = false;
$result['errorid'] = 1005;
$result['message'] = 'Invalid workspaces given. Check access permissions.';
} else {
$make_revision_comment = $file != null;
if ($file == null) {
$file = new ProjectFile();
$file->setFilename($filename);
$file->setIsVisible(true);
$file->setIsPrivate(false);
$file->setIsImportant(false);
$file->setCommentsEnabled(true);
$file->setAnonymousCommentsEnabled(false);
$file->setCreatedOn(new DateTimeValue(time()));
$file->setDescription($description);
}
$file_dt['name'] = $file->getFilename();
$file_dt['size'] = strlen($data);
$file_dt['tmp_name'] = ROOT . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . rand();
$extension = trim(get_file_extension($file->getFilename()));
$file_dt['type'] = Mime_Types::instance()->get_type($extension);
if (!trim($file_dt['type'])) {
$file_dt['type'] = 'text/html';
}
$handle = fopen($file_dt['tmp_name'], "w");
fwrite($handle, $data, $file_dt['size']);
fclose($handle);
$file->save();
$revision = $file->handleUploadedFile($file_dt, true, $make_revision_comment ? $description : '');
$file->setTagsFromCSV($tags);
foreach ($validWS as $w) {
$file->addToWorkspace($w);
}
foreach ($validWS as $w) {
ApplicationLogs::createLog($file, $w, ApplicationLogs::ACTION_ADD);
}
DB::commit();
$result['message'] = 'd' . str_pad($file->getId(), 3, '0', STR_PAD_LEFT) . 'r' . $file->getRevisionNumber();
if (!$do_checkin) {
$this->checkoutFile($username, $password, $file->getId());
}
}
}
} catch (Exception $e) {
DB::rollback();
$result['message'] = $e->getMessage();
$result['errorid'] = 1003;
$result['status'] = false;
// If we uploaded the file remove it from repository
if (isset($revision) && $revision instanceof ProjectFileRevision && FileRepository::isInRepository($revision->getRepositoryId())) {
FileRepository::deleteFile($revision->getRepositoryId());
}
}
} else {
$result['status'] = false;
$result['errorid'] = 1002;
$result['message'] = lang('invalid login data');
}
return $this->result_to_xml($result, 'result');
}
示例7: allowed_users_view_events
function allowed_users_view_events()
{
$comp_array = array();
$actual_user_id = isset($_GET['user']) ? $_GET['user'] : logged_user()->getId();
$wspace_id = isset($_GET['ws_id']) ? $_GET['ws_id'] : 0;
$ws = Projects::findByCSVIds($wspace_id);
$evid = array_var($_GET, 'evid');
$companies = Companies::findAll();
$i = 0;
foreach ($companies as $comp) {
$users = $comp->getUsersOnWorkspaces($ws);
if (is_array($users)) {
foreach ($users as $k => $user) {
// removing event creator from notification list
$keep = false;
foreach ($ws as $w) {
if (can_read_type($user, $w, 'ProjectEvents')) {
$keep = true;
}
}
if (!$keep) {
unset($users[$k]);
}
}
if (count($users) > 0) {
$comp_data = array('id' => $i++, 'object_id' => $comp->getId(), 'name' => $comp->getName(), 'logo_url' => $comp->getLogoUrl(), 'users' => array());
foreach ($users as $user) {
$comp_data['users'][] = array('id' => $user->getId(), 'name' => $user->getDisplayName(), 'avatar_url' => $user->getAvatarUrl(), 'invited' => $evid == 0 ? $user->getId() == $actual_user_id : EventInvitations::findOne(array('conditions' => "`event_id` = {$evid} and `user_id` = " . $user->getId())) != null, 'mail' => $user->getEmail());
}
$comp_array[] = $comp_data;
}
}
}
$object = array("totalCount" => count($comp_array), "start" => 0, "companies" => array());
$object['companies'] = $comp_array;
ajx_extra_data($object);
ajx_current("empty");
}
示例8: add_to_workspaces
function add_to_workspaces($object, $force_ws = true)
{
if (logged_user()->isGuest()) {
flash_error(lang('no access permissions'));
ajx_current("empty");
return;
}
$object->removeFromWorkspaces(logged_user()->getWorkspacesQuery());
$ids = array_var($_POST, "ws_ids", "");
$enteredWS = Projects::findByCSVIds($ids);
$validWS = array();
foreach ($enteredWS as $ws) {
if ($object->canAdd(logged_user(), $ws)) {
$validWS[] = $ws;
}
}
if (empty($validWS) && $force_ws) {
throw new Exception(lang('must choose at least one workspace error'));
}
foreach ($validWS as $w) {
$object->addToWorkspace($w);
}
return $validWS;
}
示例9: update_permissions
/**
* Update company permissions
*
* @param void
* @return null
*/
function update_permissions()
{
if (!logged_user()->isAdministrator(owner_company())) {
flash_error(lang('no access permissions'));
ajx_current("empty");
return;
}
// if
$company = Companies::findById(get_id());
if (!$company instanceof Company) {
flash_error(lang('company dnx'));
ajx_current("empty");
return;
}
// if
if ($company->isOwner()) {
flash_error(lang('error owner company has all permissions'));
ajx_current("empty");
return;
}
// if
$projects = Projects::getAll(Projects::ORDER_BY_NAME);
if (!is_array($projects) || !count($projects)) {
flash_error(lang('no projects in db'));
ajx_current("empty");
return;
}
// if
tpl_assign('projects', $projects);
tpl_assign('company', $company);
if (array_var($_POST, 'submitted') == 'submitted') {
$counter = 0;
$logged_user = logged_user();
// reuse...
ProjectCompanies::delete('company_id = ' . $company->getId());
$wsids = array_var($_POST, 'ws_ids', '');
$selected = Projects::findByCSVIds($wsids);
$counter = 0;
foreach ($selected as $ws) {
$pc = new ProjectCompany();
$pc->setCompanyId($company->getId());
$pc->setProjectId($ws->getId());
$pc->save();
$counter++;
}
flash_success(lang('success update company permissions', $counter));
ajx_current("back");
}
// if
}