Oracle Service Cloud Service Staff Account Import
<?php
namespace Custom\Controllers;
use RightNow\Connect\v1_3 as Connect;
class StaffAccountImport extends \RightNow\Controllers\Base
{
function __construct()
{
parent::__construct();
}
function accounts(){
echo '
<div style="width:801px;height:600px;margin:50px auto;">
<h2>Staff Account Import</h2>
Paste a comma separated list of staff account values with each staff account on a new line.<br><br>
<b>Format</b>: <i>Usser Name, First Name, Last Name, Group ID, Email Address, Profile ID</i><br><br>
Password for all accounts set to <b>Welcome!</b>.
<form action="agentLoader" method="post">
<textarea name="accounts" id="accounts" style="height:500px; width:800px;"></textarea><br/><br/>
<input type="submit" value="Create Staff Accounts"/>
</form>
</div>
';
}
function agentLoader(){
$data = $_POST['accounts'];
$data = explode("\n", $data);
try{
foreach($data as $row){
$fields = explode(",", $row);
//echo '<pre>';print_r($fields);echo '</pre>';
$account = new Connect\Account();
$account->Attributes = new Connect\AccountOptions();
$account->Attributes->AccountLocked = 0;
$account->Attributes->ForcePasswordChange= 0;
$account->Attributes->PasswordNeverExpires=1;
$account->Attributes->PermanentlyDisabled =0;
$account->Attributes->StaffAssignmentDisabled=1;
$account->Attributes->ViewsReportsDisabled=1;
$account->Login = trim($fields[0]);
$account->Name = new Connect\PersonFullName();
$account->Name->First = trim($fields[1]);
$account->Name->Last = trim($fields[2]);
$account->DisplayName = trim($fields[1]) . " " . trim($fields[2]);
$account->NewPassword = 'Welcome!';
$account->Profile = new Connect\NamedIDLabel();
$account->Profile->ID = trim($fields[5]);
$account->StaffGroup = new Connect\NamedIDOptList();
$account->StaffGroup->ID = trim($fields[3]);
$account->SalesSettings = new Connect\AccountSalesSettings();
$account->SalesSettings->DefaultCurrency = new Connect\NamedIDOptList();
$account->SalesSettings->DefaultCurrency->ID = 1;
$account->Country = Connect\Country::fetch(1);
$account->Emails = new Connect\EmailArray();
$account->Emails[0] = new Connect\Email();
$account->Emails[0]->AddressType=new Connect\NamedIDOptList();
$account->Emails[0]->AddressType->LookupName = "Email - Primary";
$account->Emails[0]->Address = trim($fields[4]);
$account->EmailNotification = new Connect\NamedIDOptList();
$account->EmailNotification->ID = 1;
$account->save();
echo $fields[1] . " " . $fields[2]. " (".$fields[4].") account created<br>";
}
echo "<br><br>DO NOT REFRESH page.";
}
catch (Connect\ConnectAPIError $err) {
echo($err->getCode() . "::" . $err->getMessage());
}
catch (\Exception $err) {
echo($err->getCode() . "::" . $err->getMessage());
}
}
}