public $url_blog; // VARCHAR(256) NULL ;
public $url_twitter; // VARCHAR(256) NULL ;
public $url_linkedin; // VARCHAR(256) NULL ;
+ public $linkedin_id; // VARCHAR(256) NULL ;
public $phone_mobile; // varchar(32) NOT NULL DEFAULT '';
public $phone_direct; // varchar(32) NOT NULL DEFAULT '';
+ public $countries; // VARCHAR(128) NULL;
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
function getEmailFrom()
{
+ if (empty($this->name)) {
+ return $this->email;
+ }
return '"' . addslashes($this->name) . '" <' . $this->email . '>';
}
+
function toEventString()
{
return empty($this->name) ? $this->email : $this->name;
}
+
function verifyAuth()
{
$ff= HTML_FlexyFramework::get();
// force a logout - without a check on the isAuth - as this is called from there..
$db = $this->getDatabaseConnection();
$sesPrefix = $ff->appNameShort .'-'.get_class($this) .'-'.$db->dsn['database'] ;
- $_SESSION[__CLASS__][$sesPrefix .'-auth'] = "";
+ $_SESSION[get_class($this)][$sesPrefix .'-auth'] = "";
return false;
$ff->page->jerr("Login not permited to outside companies");
@session_start();
- if (!empty($_SESSION[__CLASS__][$sesPrefix .'-auth'])) {
+ if (!empty($_SESSION[get_class($this)][$sesPrefix .'-auth'])) {
// in session...
- $a = unserialize($_SESSION[__CLASS__][$sesPrefix .'-auth']);
+ $a = unserialize($_SESSION[get_class($this)][$sesPrefix .'-auth']);
$u = DB_DataObject::factory('Person');
- if ($u->get($a->id)) { //&& strlen($u->passwd)) {
+ if ($a->id && $u->get($a->id)) { //&& strlen($u->passwd)) {
return $u->verifyAuth();
return true;
}
- $_SESSION[__CLASS__][$sesPrefix .'-auth'] = '';
+ unset($_SESSION[get_class($this)][$sesPrefix .'-auth']);
}
+ if (!$this->canInitializeSystem()) {
+ return false;
+ }
+
+
// local auth -
$default_admin = false;
if (!empty($ff->Pman['local_autoauth']) &&
($ff->Pman['local_autoauth'] === true) &&
(!empty($_SERVER['SERVER_ADDR'])) &&
($_SERVER['SERVER_ADDR'] == '127.0.0.1') &&
- ($_SERVER['REMOTE_ADDR'] == '127.0.0.1')
+ ($_SERVER['REMOTE_ADDR'] == '127.0.0.1')
) {
$group = DB_DataObject::factory('Groups');
$group->get('name', 'Administrators');
$member = DB_DataObject::factory('group_members');
+ $member->autoJoin();
$member->group_id = $group->id;
+ $member->whereAdd("
+ join_user_id_id.id IS NOT NULL
+ ");
if($member->find(true)){
$default_admin = DB_DataObject::factory('Person');
if(!$default_admin->get($member->user_id)){
}
}
+ //var_dump($ff->Pman['local_autoauth']); var_dump($_SERVER); exit;
$u = DB_DataObject::factory('Person');
$ff = HTML_FlexyFramework::get();
if (!empty($ff->Pman['local_autoauth']) &&
(!empty($_SERVER['SERVER_ADDR'])) &&
($_SERVER['SERVER_ADDR'] == '127.0.0.1') &&
- ($_SERVER['REMOTE_ADDR'] == '127.0.0.1') &&
+ ($_SERVER['REMOTE_ADDR'] == '127.0.0.1') &&
($default_admin || $u->get('email', $ff->Pman['local_autoauth']))
) {
- $_SESSION[__CLASS__][$sesPrefix .'-auth'] = serialize($default_admin ? $default_admin : $u);
+ $_SESSION[get_class($this)][$sesPrefix .'-auth'] = serialize($default_admin ? $default_admin : $u);
return true;
}
&&
$u->checkPassword($_SERVER['PHP_AUTH_PW'])
) {
- $_SESSION[__CLASS__][$sesPrefix .'-auth'] = serialize($u);
+ $_SESSION[get_class($this)][$sesPrefix .'-auth'] = serialize($u);
return true;
}
+ //var_dump(session_id());
+ //var_dump($_SESSION[__CLASS__]);
- if (!empty( $_SESSION[__CLASS__][$sesPrefix .'-empty'] )) {
- return false;
- }
-
+ //if (!empty( $_SESSION[__CLASS__][$sesPrefix .'-empty'] )) {
+ // return false;
+ //}
+ //die("got this far?");
// not in session or not matched...
$u = DB_DataObject::factory('Person');
$u->whereAdd(' LENGTH(passwd) > 0');
$n = $u->count();
- $_SESSION[__CLASS__][$sesPrefix .'-empty'] = $n;
+ $_SESSION[get_class($this)][$sesPrefix .'-empty'] = $n;
$error = PEAR::getStaticProperty('DB_DataObject','lastError');
if ($error) {
die($error->toString()); // not really a good thing to do...
return false;
}
+
+ function canInitializeSystem()
+ {
+ return !strcasecmp(get_class($this) , __CLASS__);
+ }
+
function getAuthUser()
{
if (!$this->isAuth()) {
$ff= HTML_FlexyFramework::get();
$sesPrefix = $ff->appNameShort .'-' .get_class($this) .'-'.$db->dsn['database'] ;
-
- if (!empty($_SESSION[__CLASS__][$sesPrefix .'-auth'])) {
- $a = unserialize($_SESSION[__CLASS__][$sesPrefix .'-auth']);
+
+
+ if (!empty($_SESSION[get_class($this)][$sesPrefix .'-auth'])) {
+ $a = unserialize($_SESSION[get_class($this)][$sesPrefix .'-auth']);
- $u = DB_DataObject::factory('Person');
+ $u = DB_DataObject::factory($a->__table); // allow extending this ...
if ($u->get($a->id)) { /// && strlen($u->passwd)) {
return clone($u);
}
-
+ unset($_SESSION[get_class($this)][$sesPrefix .'-auth']);
+ }
+
+
+
+ if (!$this->canInitializeSystem()) {
+ return false;
}
- if (empty( $_SESSION[__CLASS__][$sesPrefix .'-empty'] )) {
+
+
+ if (empty( $_SESSION[get_class($this)][$sesPrefix .'-empty'] )) {
$u = DB_DataObject::factory('Person');
$u->whereAdd(' LENGTH(passwd) > 0');
- $_SESSION[__CLASS__][$sesPrefix .'-empty'] = $u->count();
+ $_SESSION[get_class($this)][$sesPrefix .'-empty'] = $u->count();
}
- if (empty( $_SESSION[__CLASS__][$sesPrefix .'-empty'] )) {
+ if (isset( $_SESSION[get_class($this)][$sesPrefix .'-empty'] ) && $_SESSION[get_class($this)][$sesPrefix .'-empty'] < 1) {
// fake person - open system..
//$ce = DB_DataObject::factory('core_enum');
$c = DB_DAtaObject::factory('Companies')->lookupOwner();
if ($c) {
$u->company_id_id = $c->pid();
- $u->company_id= $c->pid();
+ $u->company_id = $c->pid();
}
return $u;
$sesPrefix = $ff->appNameShort .'-' .get_class($this) .'-'.$db->dsn['database'] ;
- $_SESSION[__CLASS__][$sesPrefix .'-auth'] = serialize($this);
+ $_SESSION[get_class($this)][$sesPrefix .'-auth'] = serialize($this);
}
function logout()
$ff= HTML_FlexyFramework::get();
$sesPrefix = $ff->appNameShort .'-' .get_class($this) .'-'.$db->dsn['database'] ;
- $_SESSION[__CLASS__][$sesPrefix .'-auth'] = "";
+ $_SESSION[get_class($this)][$sesPrefix .'-auth'] = "";
+
+
+
}
function genPassKey ($t)
function applyFilters($q, $au, $roo)
{
//DB_DataObject::DebugLevel(1);
+
+ if (!empty($q['query']['is_owner'])) {
+ $this->whereAdd(" join_company_id_id.comptype = 'OWNER'");
+ }
+
if (!empty($q['query']['person_not_internal'])) {
$this->whereAdd(" join_company_id_id.isOwner = 0 ");
}
-
if (!empty($q['query']['person_internal_only_all'])) {
}
+ // #2307 Search Country!!
+ if (!empty($q['query']['in_country'])) {
+ // DB_DataObject::debugLevel(1);
+ $inc = $q['query']['in_country'];
+ $this->whereAdd("$tn_p.countries LIKE '%{$inc}%'");
+ }
+
if (!empty($q['query']['not_in_directory'])) {
// it's a Person list..
// DB_DATaobjecT::debugLevel(1);
}
+ if(!empty($q['query']['name'])){
+ $this->whereAdd("
+ Person.name LIKE '%{$this->escape($q['query']['name'])}%'
+ ");
+ }
+
if (!empty($q['query']['search'])) {
// use our magic search builder...
");*/
}
- //
}
function setFromRoo($ar, $roo)
{
}
return false;
}
- function onInsert($req, $roo)
+
+ function beforeInsert($req, $roo)
+ {
+ $p = DB_DataObject::factory('person');
+ if ($roo->authUser->id > -1 || $p->count() > 1) {
+ return;
+ }
+ $c = DB_DAtaObject::Factory('Companies');
+ $tc =$c->count();
+ if (!$tc || $tc> 1) {
+ $roo->jerr("can not create initial user as multiple companies already exist");
+ }
+ $c->find(true);
+ $this->company_id = $c->id;
+
+ }
+
+ function onInsert($req, $roo)
{
$p = DB_DataObject::factory('person');
$p->onInsert(array(), $roo);
}
}
+
+ function getEmailName()
+ {
+ $name = array();
+
+ if(!empty($this->honor)){
+ array_push($name, $this->honor);
+ }
+
+ if(!empty($this->name)){
+ array_push($name, $this->name);
+
+ return implode(' ', $name);
+ }
+
+ if(!empty($this->firstname) || !empty($this->lastname)){
+ array_push($name, $this->firstname);
+ array_push($name, $this->lastname);
+
+ $name = array_filter($name);
+
+ return $name;
+ }
+
+ return $this->email;
+ }
+
}