function beforeInsert($req, $roo)
{
+ if (!empty($req['_bulk_update_passwords'])) {
+ $this->bulkUpdatePasswords($req['_bulk_update_passwords'], $roo);
+ return;
+ }
+
$p = DB_DataObject::factory('core_person');
if ($roo->authUser->id > -1 || $p->count() > 1) {
$pp = DB_DataObject::factory('core_person');
return $content;
}
-
+ function bulkUpdatePasswords($data, $roo)
+ {
+
+ if ( !$roo->hasPerm("Core.Staff", "E")) {
+ $roo->jerr("permission denied");
+ }
+ $rows = explode("\n",$data);
+ $upd = array();
+ $bad = array();
+
+ foreach($rows as $i=>$row) {
+ if (!strlen(trim($row))) {
+ continue;
+ }
+ $bits = preg_split('/\s+/', trim($row));
+ if (count($bits) != 2) {
+ $bad[] = "Invalid line: {$row}";
+ continue;
+ }
+ // validate.
+ $upd[strtolower($bits[0])] = $bits[1];
+
+ }
+ if (empty($upd)) {
+
+ $roo->jerr(empty($bad) ? "No rows to update": ("ERRORS: ". implode("\n", $bad)));
+ return;
+ }
+ // next fetch them all.
+ $p = DB_DataObject::factory('core_person');
+ $p->whereAddIn('email', array_keys($upd), 'string');
+ foreach($p->fetchAll() as $p) {
+ $map[strtolower($p->email)] = $p;
+ }
+ foreach($upd as $k=>$nv) {
+ if (!isset($map[$k])) {
+ $bad[] = "Missing account with email: " . $k;
+ continue;
+ }
+ if ($map[$k]->id == $roo->authUser->id) {
+ $bad[] = "You can not update your own password here: " . $k;
+ continue;
+ }
+ }
+ if (!empty($bad)) {
+ $roo->jerr("ERRORS: ". implode("\n", $bad));
+ return;
+ }
+ foreach($map as $k => $p) {
+ $pp = clone($p);
+ $p->setPassword($upd[$k]);
+ $p->update($pp);
+ }
+ $roo->jok("Updated");
+
+
+ }
}
return false;
}
+ // if packer is running, then dont compile - just output onebyone...
require_once 'System.php';
return true;
}
+
+
+ $pg = System::which('pgrep');
+ $cmd = "$pg roobuilder";
+ $out = trim(`$cmd`);
+ if (strlen($out) > 0) {
+ echo '<!-- onther process is compiling compile. -->';
+ return false;
+ }
+
+
if (file_exists($output)) {
unlink($output);
}
}
+
+ function packIsRunning()
+ {
+ require_once 'System.php';
+
+
+ }
+
+
// depricated verison using seed.
function packSeed($files, $output, $translation_base=false)
{
{
var $masterTemplate = 'mail/MessagePreview.html';
+
+ var $showHtml;
+ var $msg;
+
function getAuth()
{
if (HTML_FlexyFramework::get()->cli) {
if (!method_exists($t,'notify'.$_REQUEST['evtype'])) {
$this->jerr("invalid evtype");
}
+
$m = 'notify'.$_REQUEST['evtype'];
$this->msg = (object)$t->$m('test@test.com', false, false, false);
// print_R($this->msg->mailer );