private function export2csv() { $arrUser = $this->loadUserlist(); $objCsv = new class_csv(";"); $objCsv->setArrMapping(array($this->getLang("userlistName"), $this->getLang("userlistForename"), $this->getLang("userlistEmail"), $this->getLang("userlistStreet"), $this->getLang("userlistPostal"), $this->getLang("userlistCity"), $this->getLang("userlistPhone"), $this->getLang("userlistMobile"), $this->getLang("userlistBirthday"))); $arrCsvValues = array(); foreach ($arrUser as $objOneUser) { $objTargetUser = $objOneUser->getObjSourceUser(); if ($objTargetUser instanceof class_usersources_user_kajona) { $arrRow = array(); $arrRow[] = $objTargetUser->getStrName(); $arrRow[] = $objTargetUser->getStrForename(); $arrRow[] = $objTargetUser->getStrEmail(); $arrRow[] = $objTargetUser->getStrStreet(); $arrRow[] = $objTargetUser->getStrPostal(); $arrRow[] = $objTargetUser->getStrCity(); $arrRow[] = $objTargetUser->getStrTel(); $arrRow[] = $objTargetUser->getStrMobile(); $arrRow[] = uniStrlen($objTargetUser->getLongDate()) > 5 ? dateToString(new class_date($objTargetUser->getLongDate()), false) : ""; $arrCsvValues[] = $arrRow; } } $objCsv->setArrData($arrCsvValues); $objCsv->setStrFilename("userlist.csv"); $objCsv->writeArrayToFile(true); }
public function test() { echo "\ttesting class_csv...\n"; //test code $strFile = "/files/public/testCsv.csv"; $arrValues = array(array("v11", "v21", "v31"), array("v12", "v22", "v32"), array("v13", "v23", "v33"), array("v14", "v24", "v34"), array("v15", "v25", "v35")); $objCsv = new class_csv(); $objCsv->setArrData($arrValues); $objCsv->setArrMapping(array(0 => "c1", 1 => "c2", 2 => "c3")); //write to file $objCsv->setStrFilename($strFile); $this->assertTrue($objCsv->writeArrayToFile(), __FILE__ . " checkCsvWriteArrayToFile"); //read from file $objCsv = new class_csv(); $objCsv->setArrMapping(array("c1" => 0, "c2" => 1, "c3" => 2)); $objCsv->setStrFilename($strFile); $this->assertTrue($objCsv->createArrayFromFile(), __FILE__ . " checkCsvCreateArrayFromFileReader"); $arrValuesFromCsv = $objCsv->getArrData(); $this->assertEquals(count(array_diff($arrValues[0], $arrValuesFromCsv[0])), 0, __FILE__ . " checkCsvCreateArrayFromFile"); $this->assertEquals(count(array_diff($arrValues[1], $arrValuesFromCsv[1])), 0, __FILE__ . " checkCsvCreateArrayFromFile"); $this->assertEquals(count(array_diff($arrValues[2], $arrValuesFromCsv[2])), 0, __FILE__ . " checkCsvCreateArrayFromFile"); $this->assertEquals(count(array_diff($arrValues[3], $arrValuesFromCsv[3])), 0, __FILE__ . " checkCsvCreateArrayFromFile"); $this->assertEquals(count(array_diff($arrValues[4], $arrValuesFromCsv[4])), 0, __FILE__ . " checkCsvCreateArrayFromFile"); //test with set encloser $objCsv = new class_csv(); $objCsv->setArrData($arrValues); $objCsv->setTextEncloser("'"); $objCsv->setArrMapping(array(0 => "c1", 1 => "c2", 2 => "c3")); //write to file $objCsv->setStrFilename($strFile); $this->assertTrue($objCsv->writeArrayToFile(), __FILE__ . " checkCsvEncloserWriteArrayToFile"); //read from file $objCsv = new class_csv(); $objCsv->setArrMapping(array("c1" => 0, "c2" => 1, "c3" => 2)); $objCsv->setTextEncloser("'"); $objCsv->setStrFilename($strFile); $this->assertTrue($objCsv->createArrayFromFile(), __FILE__ . " checkCsvEncloserCreateArrayFromFileReader"); $arrValuesFromCsv = $objCsv->getArrData(); $this->assertEquals(count(array_diff($arrValues[0], $arrValuesFromCsv[0])), 0, __FILE__ . " checkCsvEncloserCreateArrayFromFile"); $this->assertEquals(count(array_diff($arrValues[1], $arrValuesFromCsv[1])), 0, __FILE__ . " checkCsvEncloserCreateArrayFromFile"); $this->assertEquals(count(array_diff($arrValues[2], $arrValuesFromCsv[2])), 0, __FILE__ . " checkCsvEncloserCreateArrayFromFile"); $this->assertEquals(count(array_diff($arrValues[3], $arrValuesFromCsv[3])), 0, __FILE__ . " checkCsvEncloserCreateArrayFromFile"); $this->assertEquals(count(array_diff($arrValues[4], $arrValuesFromCsv[4])), 0, __FILE__ . " checkCsvEncloserCreateArrayFromFile"); echo "\tsaved generated CSV file to <a href=\"" . _webpath_ . $strFile . "\">" . _webpath_ . $strFile . "</a>\n"; }