function assign_users() { if (!logged_user()->isAdministrator()) { flash_error(lang("no access permissions")); ajx_current("empty"); return; } $users_data = array_var($_POST, 'users'); if (is_array($users_data)) { try { DB::beginWork(); foreach ($users_data as $user_id => $user_billing) { $user = Users::findById($user_id); if ($user_billing != $user->getDefaultBillingId()) { $user->setDefaultBillingId($user_billing); $user->save(); } } DB::commit(); flash_success(lang("success assign user billing categories")); ajx_current("back"); } catch (Exception $e) { DB::rollback(); flash_error($e->getMessage()); ajx_current("empty"); } } tpl_assign('users_by_company', Users::getGroupedByCompany()); tpl_assign('billing_categories', BillingCategories::findAll()); }
/** * Send multiple emails using this simple tool * * @param void * @return null */ function tool_mass_mailer() { $tool = AdministrationTools::getByName('mass_mailer'); if (!$tool instanceof AdministrationTool) { flash_error(lang('administration tool dnx', 'test_mail_settings')); $this->redirectTo('administration', 'tools'); } // if $massmailer_data = array_var($_POST, 'massmailer'); tpl_assign('tool', $tool); tpl_assign('grouped_users', Users::getGroupedByCompany()); tpl_assign('massmailer_data', $massmailer_data); if (is_array($massmailer_data)) { try { $subject = trim(array_var($massmailer_data, 'subject')); $message = trim(array_var($massmailer_data, 'message')); $errors = array(); if ($subject == '') { $errors[] = lang('massmailer subject required'); } // if if ($message == '') { $errors[] = lang('massmailer message required'); } // if $users = Users::getAll(); $recipients = array(); if (is_array($users)) { foreach ($users as $user) { if (array_var($massmailer_data, 'user_' . $user->getId()) == 'checked') { $recipients[] = Notifier::prepareEmailAddress($user->getEmail(), $user->getDisplayName()); } // if } // foreach } // if if (!count($recipients)) { $errors[] = lang('massmailer select recipients'); } // if if (count($errors)) { throw new FormSubmissionErrors($errors); } // if if (Notifier::sendEmail($recipients, Notifier::prepareEmailAddress(logged_user()->getEmail(), logged_user()->getDisplayName()), $subject, $message)) { flash_success(lang('success massmail')); } else { flash_error(lang('error massmail')); } // if $this->redirectToUrl($tool->getToolUrl()); } catch (Exception $e) { tpl_assign('error', $e); } // try } // if }