예제 #1
0
	public function run() {
	
		$actionParams = Yii::app()->controller->getActionParams();

		$address = '';
		if(Yii::app()->controller->id=='contacts'			// must be a contact
			&& Yii::app()->controller->action->id=='view'	// must be viewing it
			&& isset($actionParams['id'])) {				// must have an actual ID value

			$currentRecord = ContactChild::model()->findByPk($actionParams['id']);
			

			if(!empty($currentRecord->city)) {
				if(!empty($currentRecord->address))
					$address .= $currentRecord->address . ', ';

				$address .= $currentRecord->city . ', ';
			}
			
			if(!empty($currentRecord->state))
				$address .= $currentRecord->state . ' ';
			
			if(!empty($currentRecord->zipcode))
				$address .= $currentRecord->zipcode . ' ';
				
			if(!empty($currentRecord->country))
				$address .= $currentRecord->country;
		}
		$this->render('googleMaps', array(
			'address'=>$address,
		));
	}
예제 #2
0
	public function run() {
	
		$actionParams = Yii::app()->controller->getActionParams();

		$twitter = null;
		if(Yii::app()->controller->id=='contacts'			// must be a contact
			&& Yii::app()->controller->action->id=='view'	// must be viewing it
			&& isset($actionParams['id'])) {				// must have an actual ID value

			$currentRecord = ContactChild::model()->findByPk($actionParams['id']);
			if(!empty($currentRecord->twitter))
				$twitter = $currentRecord->twitter;
		}
		$this->render('twitterFeed', array(
			'twitter'=>$twitter,
		));
	}
예제 #3
0
	/**
	 * Displays a particular model.
	 * @param integer $id the ID of the model to be displayed
	 */
	public function actionView($id) {
		$model=$this->loadModel($id);
		
		$model->assignedTo=UserChild::getUserLinks($model->assignedTo);
		
		$str = '';
		$contacts=ContactChild::model()->findAllByAttributes(array('company'=>$model->name));
		foreach($contacts as $contact){
			$str.=$contact->id.' ';
		}
		$model->associatedContacts=$str;
		
		$model->associatedContacts=ContactChild::getContactLinks($model->associatedContacts);
		
		$type='accounts';
		parent::actionView($model, $type);
	}
예제 #4
0
	private function globalExport() {
		
		$file='file.csv';
		$fp = fopen($file, 'w+');
		
		$users=UserChild::model()->findAll();
		$contacts=ContactChild::model()->findAll();
		$actions=ActionChild::model()->findAll();
		$sales=SaleChild::model()->findAll();
		$accounts=AccountChild::model()->findAll();
		$docs=Docs::model()->findAll();
		$profiles=Profile::model()->findAll();
		
		fputcsv($fp,array("0.9.1"));
		
		$userList=array();
		foreach($users as $user) {
			$userList[]=$user->attributes;
		}
		foreach ($userList as $fields) {
			unset($fields['id']);
			unset($fields['updatePassword']);
			$fields[]='user';
			fputcsv($fp, $fields);
			
		}
		
	
		$contactList=array();
		foreach($contacts as $contact) {
			$contactList[]=$contact->attributes;
		}
		foreach ($contactList as $fields) {
			unset($fields['id']);
			$fields[]='contact';
			fputcsv($fp, $fields);
			
		}
		
		$actionList=array();
		foreach($actions as $action) {
			$actionList[]=$action->attributes;
		}
		foreach ($actionList as $fields) {
			unset($fields['id']);
			$fields[]='action';
			fputcsv($fp, $fields);
			
		}
		
		$saleList=array();
		foreach($sales as $sale) {
			$saleList[]=$sale->attributes;
		}
		foreach ($saleList as $fields) {
			unset($fields['id']);
			$fields[]='sale';
			fputcsv($fp, $fields);
			
		}
		
		$accountList=array();
		foreach($accounts as $account) {
			$accountList[]=$account->attributes;
		}
		foreach ($accountList as $fields) {
			unset($fields['id']);
			$fields[]='account';
			fputcsv($fp, $fields);
			
		}
		
		$docList=array();
		foreach($docs as $doc) {
			$docList[]=$doc->attributes;
		}
		foreach ($docList as $fields) {
			unset($fields['id']);
			$fields[]='doc';
			fputcsv($fp, $fields);
			
		}
		
		$profileList=array();
		foreach($profiles as $profile) {
			if($profile->username!='admin')
				$profileList[]=$profile->attributes;
		}
		foreach ($profileList as $fields) {
			unset($fields['id']);
			unset($fields['avatar']);
			$fields[]='profile';
			fputcsv($fp, $fields);
			
		}


		fclose($fp);

	}
예제 #5
0
	public function actionWhatsNew(){
		
		if(!Yii::app()->user->isGuest){
		
			$user=UserChild::model()->findByPk(Yii::app()->user->getId());
			$lastLogin=$user->lastLogin;

			$contacts=ContactChild::model()->findAll("lastUpdated > $lastLogin");
			$actions=ActionChild::model()->findAll("lastUpdated > $lastLogin AND (assignedTo='".Yii::app()->user->getName()."' OR assignedTo='Anyone')");
			$sales=SaleChild::model()->findAll("lastUpdated > $lastLogin");
			$accounts=AccountChild::model()->findAll("lastUpdated > $lastLogin");

			$arr=array_merge($contacts,$actions,$sales,$accounts);
			//$arr=array_merge($arr,$sales);
			//$arr=array_merge($arr,$accounts);

			$records=Record::convert($arr);

			$dataProvider=new CArrayDataProvider($records,array(
				'id'=>'id',
				'pagination'=>array(
					'pageSize'=>10,
				),
			));

			$this->render('whatsNew',array(
				'records'=>$records,
				'dataProvider'=>$dataProvider,
			));
		}
		else{
			$this->redirect('login');
		}
	}
예제 #6
0
	public function actionSearch(){
		
		$term=$_GET['term'];
		
		$contacts=ContactChild::model()->findAllBySql('SELECT * FROM x2_contacts WHERE CONCAT(firstName," ",lastName) LIKE "%'.$term.'%" OR backgroundInfo LIKE "%'.$term.'%"
			OR email LIKE "%'.$term.'%" OR firstName LIKE "%'.$term.'%" OR lastName LIKE "%'.$term.'%" OR phone LIKE "%'.$term.'%" OR address LIKE "%'.$term.'%"');
		$actions=ActionChild::model()->findAllBySql('SELECT * FROM x2_actions WHERE actionDescription LIKE "%'.$term.'%" LIMIT 10000');
		$sales=SaleChild::model()->findAllBySql('SELECT * FROM x2_sales WHERE name LIKE "%'.$term.'%" OR description LIKE "%'.$term.'%"');
		$accounts=AccountChild::model()->findAllBySql('SELECT * FROM x2_accounts WHERE name LIKE "%'.$term.'%" OR description LIKE "%'.$term.'%" 
			OR tickerSymbol LIKE "%'.$term.'%"');
		$projects=ProjectChild::model()->findAll();
		$cases=CaseChild::model()->findAll();
		$marketing=MarketingChild::model()->findAll();

		$names=array();
		$descriptions=array();
		$notes=array();
		
		$records=array();

		$regEx="/$term/i";

		foreach($contacts as $contact){
			if(preg_match($regEx,$contact->firstName." ".$contact->lastName)>0){
				$names[]=$contact;
			}elseif(preg_match($regEx,$contact->firstName)>0 || preg_match($regEx,$contact->lastName)>0){
				$notes[]=$contact;
			}elseif(preg_match($regEx,$contact->backgroundInfo)>0){
				$descriptions[]=$contact;
			}elseif(preg_match($regEx,$contact->email)>0){
				$names[]=$contact;
			}elseif(preg_match($regEx,$contact->phone)>0){
				$names[]=$contact;
			}elseif(preg_match($regEx,$contact->address)>0){
				$names[]=$contact;
			}
		}

		foreach($actions as $action){
			if(preg_match($regEx,$action->actionDescription)>0){
				$names[]=$action;
			}
		}

		foreach($sales as $sale){
			if(preg_match($regEx,$sale->name)>0){
				$names[]=$sale;
			}elseif(preg_match($regEx,$sale->description)>0){
				$descriptions[]=$sale;
			}
		}

		foreach($accounts as $account){
			if(preg_match($regEx,$account->name)>0){
				$names[]=$account;
			}elseif(preg_match($regEx,$account->tickerSymbol)>0){
				$names[]=$account;
			}elseif(preg_match($regEx,$account->description)>0){
				$descriptions[]=$account;
			}elseif(preg_match($regEx,$account->website)>0){
				$names[]=$account;
			}
		}

		foreach($projects as $project){
			if(preg_match($regEx,$project->name)>0){
				$names[]=$project;
			}elseif(preg_match($regEx,$project->description)>0){
				$descriptions[]=$project;
			}
		}

		foreach($cases as $case){
			if(preg_match($regEx,$case->name)>0){
				$names[]=$case;
			}elseif(preg_match($regEx,$case->description)>0){
				$descriptions[]=$case;
			}
		}

		foreach($marketing as $item){
			if(preg_match($regEx,$item->name)>0){
				$names[]=$item;
			}elseif(preg_match($regEx,$item->description)>0){
				$descriptions[]=$item;
			}
		}
		
		
		$records=array_merge($names,$descriptions);
		
		$records=array_merge($records,$notes);

		asort($records);
		
		$records=Record::convert($records);
		
		$dataProvider=new CArrayDataProvider($records,array(
			'id'=>'id',
			'pagination'=>array(
				'pageSize'=>10,
			),
		));
		
		$this->render('search',array(
			'records'=>$records,
			'dataProvider'=>$dataProvider,
			'term'=>$term,
		));
	}
예제 #7
0
	/**
	 * Returns the data model based on the primary key given in the GET variable.
	 * If the data model is not found, an HTTP exception will be raised.
	 * @param integer the ID of the model to be loaded
	 */
	public function loadModel($id) {
		$model = ContactChild::model()->findByPk((int) $id);
		if ($model === null)
			throw new CHttpException(404, 'The requested page does not exist.');
		return $model;
	}
예제 #8
0
	public static function getMailingList($criteria) {
		
		$mailingList=array();
		
		$arr=ContactChild::model()->findAll();
		foreach($arr as $contact){
			$i=preg_match("/$criteria/i",$contact->backgroundInfo);
			if($i>=1){
				$mailingList[]=$contact->email;
			}
		}
		return $mailingList;
	}
예제 #9
0
	public static function editContactsInverse($arr) {
		$data=array();
		
		foreach($arr as $id){
			if($id!='')
				$data[]=ContactChild::model()->findByPk($id);
		}
		$temp=array();
		
		foreach($data as $item){
			$temp[$item->id]=$item->firstName.' '.$item->lastName;
		}
		return $temp;
	}
예제 #10
0
	public function actionSendReminder() {
		
		$dataProvider=new CActiveDataProvider('Actions', array(
			'criteria'=>array(
				'condition'=>'(dueDate=\''.date('Y-m-d').'\' AND complete=\'No\')',
		)));

		$emails= UserChild::getEmails();

		$actionArray=$dataProvider->getData();

		foreach($actionArray as $action) {
			if($action->reminder=='Yes') {

				if($action->associationId!=0) {
					$contact=ContactChild::model()->findByPk($action->associationId);
					$name=$contact->firstName.' '.$contact->lastName;
				} else
					$name=Yii::t('actions','No one');
				$email=$emails[$action->assignedTo];
				if(isset($action->type))
					$type=$action->type;
				else
					$type=Yii::t('actions','Not specified');

				$subject=Yii::t('actions','Action Reminder:');
				$body=Yii::t('actions',"Reminder, the following action is due today: \n Description: {description}\n Type: {type}.\n Associations: {name}.\nLink to the action: ",
					array('{description}'=>$action->actionDescription,'{type}'=>$type,'{name}'=>$name))
					.'http://'.Yii::app()->request->getServerName().Yii::app()->request->baseUrl.'/index.php/actions/'.$action->id;
				$headers='From: '.Yii::app()->params['adminEmail'];

				if($action->associationType!='none')
					$body.="\n\n".Yii::t('actions','Link to the {type}',array('{type}'=>ucfirst($action->associationType))).': http://'.Yii::app()->request->getServerName().Yii::app()->request->baseUrl."/index.php/".$action->associationType."/".$action->associationId;
				$body.="\n\n".Yii::t('actions','Powered by ').'<a href=http://x2engine.com>X2Engine</a>';

				mail($email,$subject,$body,$headers);
			}
		}
	}
예제 #11
0
$contactIdList = array();
foreach($topContacts as $contact) {
	$contactIdList[] = $contact->id;
	echo '<li id="contact' . $contact->id . '">';
	$link = '<strong>'.$contact->firstName.' '.$contact->lastName.'</strong><br />'.$contact->phone;
	echo CHtml::link($link,array('contacts/view','id'=>$contact->id));
	
	echo CHtml::link('[x]','#',array(
		'class'=>'delete-link',
		'onclick'=>"removeTopContact('".$contact->id."'); return false;" //."','".$viewId."'); return false;"
	));
	echo "</li>\n";
}

if(Yii::app()->controller->id=='contacts'			// must be a contact
	&& Yii::app()->controller->action->id=='view'	// must be viewing it
	&& $viewId != null							// must have an actual ID value
	&& !in_array($viewId,$contactIdList)) {		// must not already be in Top Contacts

	$currentRecord = ContactChild::model()->findByPk($viewId);

	echo '<li>';
	echo CHtml::link(
		Yii::t('app','Add {name}',array('{name}'=>$currentRecord->firstName.' '.$currentRecord->lastName)),
		'#',
		array('onclick'=>"addTopContact('".$viewId."'); return false;") //"','".$viewId."'); return false;")
	);
	echo "</li>\n";;
}
?>
</ul>