public function customIndex($parameters)
 {
     $parameters['intervalsShipping'] = [];
     for ($i = 0; $i < 121; $i++) {
         $parameters['intervalsShipping'][] = (object) ['id' => $i, 'name' => str_pad($i, 2, '0', STR_PAD_LEFT)];
     }
     $parameters['intervalShipping'] = Preference::getValue('emailServiceIntervalShipping', 5);
     $parameters['groups'] = Group::all();
     $parameters['testGroup'] = Preference::getValue('emailServiceTestGroup', 5);
     $parameters['intervalsProcess'] = [(object) ['id' => 100, 'name' => 100], (object) ['id' => 500, 'name' => 500], (object) ['id' => 1000, 'name' => 1000], (object) ['id' => 5000, 'name' => 5000], (object) ['id' => 10000, 'name' => 10000], (object) ['id' => 20000, 'name' => 20000], (object) ['id' => 30000, 'name' => 30000], (object) ['id' => 40000, 'name' => 40000], (object) ['id' => 50000, 'name' => 50000]];
     $parameters['intervalProcess'] = Preference::getValue('emailServiceIntervalProcess', 5);
     return $parameters;
 }
 public function editCustomRecord($parameters)
 {
     $parameters['emailAccounts'] = EmailAccount::all();
     $parameters['templates'] = EmailTemplate::all();
     $parameters['themes'] = ComunikLibrary::getThemes();
     $parameters['emlHeaders'] = ComunikLibrary::getEmlHeaders();
     $parameters['groups'] = Group::all();
     $parameters['selectGroups'] = $parameters['object']->getGroups;
     $parameters['countries'] = Contact::getCountriesContacts(['lang' => auth('pulsar')->user()->lang_id_010]);
     $parameters['selectCountries'] = $parameters['object']->getCountries;
     // statistics
     $parameters['queueMailings'] = EmailSendQueue::where('campaign_id_047', $parameters['id'])->count();
     $parameters['sentMailings'] = EmailSendHistory::where('campaign_id_048', $parameters['id'])->count();
     $parameters['noSentMailings'] = EmailSendQueue::where('campaign_id_047', $parameters['id'])->where('status_id_047', 0)->count();
     $parameters['uniqueViewMailings'] = EmailSendHistory::where('campaign_id_048', $parameters['id'])->where('viewed_048', '>', 0)->count();
     $parameters['effectiveness'] = $parameters['uniqueViewMailings'] > 0 ? round($parameters['uniqueViewMailings'] / $parameters['sentMailings'] * 100, 2) : 0;
     return $parameters;
 }
示例#3
0
 public function importRecordsPreview()
 {
     // get parameters from url route
     $parameters = $this->request->route()->parameters();
     $data['groups'] = Group::all();
     $inputFileName = public_path() . '/packages/syscover/pulsar/storage/tmp/' . $parameters['file'];
     $fields = ['id_040' => trans('comunik::pulsar.group_id'), 'company_041' => trans_choice('pulsar::pulsar.company', 1), 'name_041' => trans('pulsar::pulsar.name'), 'surname_041' => trans('pulsar::pulsar.surname'), 'country_id_041' => trans('comunik::pulsar.country_id'), 'mobile_041' => trans('pulsar::pulsar.mobile'), 'email_041' => trans('pulsar::pulsar.email')];
     $objReader = \PHPExcel_IOFactory::createReader('CSV')->setDelimiter(';')->setReadDataOnly(true);
     // configura el reader para ignorar estilos, solo leerá los datos
     $objPHPExcel = $objReader->load($inputFileName);
     // cargamos el fichero y obtenemos el objeto PHPExcel
     //$totalSheets = $objPHPExcel->getSheetCount();                 // función para obtener el número de libros de la hoja de cálculo
     //$allSheetName = $objPHPExcel->getSheetNames();                // función para obtener los nombres de los libros de las hojas de cálculo
     $objWorksheet = $objPHPExcel->setActiveSheetIndex(0);
     // Por defecto recuperamos el primer libro de la hoja de excel
     $highestRow = $objWorksheet->getHighestRow();
     // Recuperamos el número de fila más alto (dato numérico, empezando por 1)
     $highestColumn = $objWorksheet->getHighestColumn();
     // Recuperamos la columma mas alta (data string)
     $highestColumnIndex = \PHPExcel_Cell::columnIndexFromString($highestColumn);
     // Pasamos del dato string de columna a un dato numérico
     // limitamos las filas para ralizar un preview
     if ($highestRow > 20) {
         $highestRow = 20;
     }
     // obtenemos las 20 primeras filas
     for ($row = 1; $row <= $highestRow; ++$row) {
         for ($col = 0; $col < $highestColumnIndex; ++$col) {
             $value = $objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
             $arrayData[$row - 1][$col] = $value;
         }
     }
     $data['data'] = $arrayData;
     $data['fields'] = $fields;
     $data['file'] = $parameters['file'];
     $data['nColumns'] = $highestColumnIndex;
     $data['nRows'] = $highestRow;
     return view('comunik::contact.import_preview', $data);
 }
示例#4
0
 public function updateCustomRecord($parameters)
 {
     Group::where('id_040', $parameters['id'])->update(['name_040' => $this->request->input('name')]);
 }