示例#1
0
 /**
  * Function exporting addressbook contents to VCFs.
  * 
  * @param array $params 
  */
 public function actionExportVCard($params)
 {
     $findParams = \GO\Base\Db\FindParams::loadExportFindParams('contact');
     $findParams->limit(0);
     $store = new \GO\Base\Data\DbStore('GO\\Addressbook\\Model\\Contact', new \GO\Base\Data\ColumnModel('GO\\Addressbook\\Model\\Contact'), $params, $findParams);
     $file = new \GO\Base\Fs\File(\GO::t('contacts', 'addressbook') . '.vcf');
     \GO\Base\Util\Http::outputDownloadHeaders($file);
     while ($record = $store->nextRecord()) {
         $model = \GO\Addressbook\Model\Contact::model()->findByPk($record['id']);
         if (!isset($fileStream)) {
             $fileStream = fopen('php://output', 'w+');
         }
         fwrite($fileStream, $model->toVObject()->serialize());
     }
 }