diff --git a/core/API/ResponseBuilder.php b/core/API/ResponseBuilder.php index e629e44d1d5170a27b1ab939a96477ebe2aed43e..4e586f19d759fbeee248c475d53041d49be78db5 100644 --- a/core/API/ResponseBuilder.php +++ b/core/API/ResponseBuilder.php @@ -202,6 +202,10 @@ class Piwik_API_ResponseBuilder { $renderer->setTableId($this->request['method']); } + else if($format == 'csv') + { + $renderer->setConvertToUnicode( Piwik_Common::getRequestVar('convertToUnicode', true, 'int') ); + } return $renderer->render(); } diff --git a/core/DataTable/Renderer/Csv.php b/core/DataTable/Renderer/Csv.php index e756b518e62d2135b8bf090c1eb0d55cc11e83b2..8cc72d4b080786827ebae440f7b30dc022ee3b74 100644 --- a/core/DataTable/Renderer/Csv.php +++ b/core/DataTable/Renderer/Csv.php @@ -61,6 +61,11 @@ class Piwik_DataTable_Renderer_Csv extends Piwik_DataTable_Renderer */ public $exportIdSubtable = true; + function setConvertToUnicode($bool) + { + $this->convertToUnicode = $bool; + } + function render() { return $this->output($this->renderTable($this->table)); diff --git a/misc/cron/archive.sh b/misc/cron/archive.sh index bfd43fd3e47cf0c355acfb16ca05ba5bb81cbe55..2871bf4c426a6f12c6532fd5e32900d9f3e72c38 100644 --- a/misc/cron/archive.sh +++ b/misc/cron/archive.sh @@ -48,8 +48,25 @@ PIWIK_SUPERUSER_MD5_PASSWORD=`sed '/^\[superuser\]/,$!d;/^password[ \t]*=[ \t]*" CMD_TOKEN_AUTH="$PHP_BIN $PIWIK_PATH -- module=API&method=UsersManager.getTokenAuth&userLogin=$PIWIK_SUPERUSER&md5Password=$PIWIK_SUPERUSER_MD5_PASSWORD&format=php&serialize=0" TOKEN_AUTH=`$CMD_TOKEN_AUTH` -for period in day week year; do - CMD="$PHP_BIN $PIWIK_PATH -- module=API&method=VisitsSummary.getVisits&idSite=all&period=$period&date=last52&format=xml&token_auth=$TOKEN_AUTH"; - $CMD - echo "" +CMD_GET_ID_SITES="$PHP_BIN $PIWIK_PATH -- module=API&method=SitesManager.getAllSitesId&token_auth=$TOKEN_AUTH&format=csv&convertToUnicode=0" +ID_SITES=`$CMD_GET_ID_SITES` +echo "Starting Piwik archiving..." +echo "" +for idsite in $ID_SITES; do + TEST_IS_NUMERIC=`echo $idsite | egrep '^[0-9]+$'` + if [ "$TEST_IS_NUMERIC" ] + then + for period in day week year; do + echo "" + echo "Archiving period = $period for idsite = $idsite..." + CMD="$PHP_BIN $PIWIK_PATH -- module=API&method=VisitsSummary.getVisits&idSite=$idsite&period=$period&date=last52&format=xml&token_auth=$TOKEN_AUTH"; + $CMD + done + + echo "" + echo "Archiving for idsite = $idsite done!" + fi done + +echo "Piwik archiving finished." +