{"sha":"c4b934fb9efb513fe13bada566d11902f79b0ed7","node_id":"MDY6Q29tbWl0OTMyMDkwOmM0YjkzNGZiOWVmYjUxM2ZlMTNiYWRhNTY2ZDExOTAyZjc5YjBlZDc=","commit":{"author":{"name":"Danny Allen","email":"me@dannya.com","date":"2014-01-04T21:18:47Z"},"committer":{"name":"Danny Allen","email":"me@dannya.com","date":"2014-01-04T21:18:47Z"},"message":"* Update common core code from recent changes to Commit-Digest.\n* Remove survey functionality and map images generation (now done dynamically in frontend browser).","tree":{"sha":"126e1e951c42fb9165b8625307acb96d495d27a1","url":"https://api.github.com/repos/dannya/Enzyme/git/trees/126e1e951c42fb9165b8625307acb96d495d27a1"},"url":"https://api.github.com/repos/dannya/Enzyme/git/commits/c4b934fb9efb513fe13bada566d11902f79b0ed7","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/dannya/Enzyme/commits/c4b934fb9efb513fe13bada566d11902f79b0ed7","html_url":"https://github.com/dannya/Enzyme/commit/c4b934fb9efb513fe13bada566d11902f79b0ed7","comments_url":"https://api.github.com/repos/dannya/Enzyme/commits/c4b934fb9efb513fe13bada566d11902f79b0ed7/comments","author":{"login":"dannya","id":394687,"node_id":"MDQ6VXNlcjM5NDY4Nw==","avatar_url":"https://avatars.githubusercontent.com/u/394687?v=4","gravatar_id":"","url":"https://api.github.com/users/dannya","html_url":"https://github.com/dannya","followers_url":"https://api.github.com/users/dannya/followers","following_url":"https://api.github.com/users/dannya/following{/other_user}","gists_url":"https://api.github.com/users/dannya/gists{/gist_id}","starred_url":"https://api.github.com/users/dannya/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dannya/subscriptions","organizations_url":"https://api.github.com/users/dannya/orgs","repos_url":"https://api.github.com/users/dannya/repos","events_url":"https://api.github.com/users/dannya/events{/privacy}","received_events_url":"https://api.github.com/users/dannya/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"dannya","id":394687,"node_id":"MDQ6VXNlcjM5NDY4Nw==","avatar_url":"https://avatars.githubusercontent.com/u/394687?v=4","gravatar_id":"","url":"https://api.github.com/users/dannya","html_url":"https://github.com/dannya","followers_url":"https://api.github.com/users/dannya/followers","following_url":"https://api.github.com/users/dannya/following{/other_user}","gists_url":"https://api.github.com/users/dannya/gists{/gist_id}","starred_url":"https://api.github.com/users/dannya/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dannya/subscriptions","organizations_url":"https://api.github.com/users/dannya/orgs","repos_url":"https://api.github.com/users/dannya/repos","events_url":"https://api.github.com/users/dannya/events{/privacy}","received_events_url":"https://api.github.com/users/dannya/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"67493997059f1e4ed6bbf22d31edd7c1c7c9f308","url":"https://api.github.com/repos/dannya/Enzyme/commits/67493997059f1e4ed6bbf22d31edd7c1c7c9f308","html_url":"https://github.com/dannya/Enzyme/commit/67493997059f1e4ed6bbf22d31edd7c1c7c9f308"}],"stats":{"total":131,"additions":64,"deletions":67},"files":[{"sha":"431fe96c069763be2527f9eaae6d4849978325ff","filename":"README","status":"modified","additions":3,"deletions":2,"changes":5,"blob_url":"https://github.com/dannya/Enzyme/blob/c4b934fb9efb513fe13bada566d11902f79b0ed7/README","raw_url":"https://github.com/dannya/Enzyme/raw/c4b934fb9efb513fe13bada566d11902f79b0ed7/README","contents_url":"https://api.github.com/repos/dannya/Enzyme/contents/README?ref=c4b934fb9efb513fe13bada566d11902f79b0ed7","patch":"@@ -1,10 +1,11 @@\n Enzyme\n ------\n-A project-independent (and eventually SCM-agnostic) tool for creating regular project reports \n-and assisting interesting statistical analysis.\n+A project-independent and source-code-control-system-agnostic tool for creating regular project reports and assisting interesting statistical analysis.\n \n See http://enzyme-project.org/\n \n+Powers the KDE Commit-Digest (http://commit-digest.org/).\n+\n \n Installation\n ------------"},{"sha":"65017dd9757fcf64c575db1e760a06bb6f6d9ec1","filename":"src/classes/shared/developer.php","status":"modified","additions":8,"deletions":7,"changes":15,"blob_url":"https://github.com/dannya/Enzyme/blob/c4b934fb9efb513fe13bada566d11902f79b0ed7/src%2Fclasses%2Fshared%2Fdeveloper.php","raw_url":"https://github.com/dannya/Enzyme/raw/c4b934fb9efb513fe13bada566d11902f79b0ed7/src%2Fclasses%2Fshared%2Fdeveloper.php","contents_url":"https://api.github.com/repos/dannya/Enzyme/contents/src%2Fclasses%2Fshared%2Fdeveloper.php?ref=c4b934fb9efb513fe13bada566d11902f79b0ed7","patch":"@@ -2,7 +2,7 @@\n \n /*-------------------------------------------------------+\n  | Enzyme\n- | Copyright 2010-2011 Danny Allen <danny@enzyme-project.org>\n+ | Copyright 2010-2013 Danny Allen <danny@enzyme-project.org>\n  | http://www.enzyme-project.org/\n  +--------------------------------------------------------+\n  | This program is released as free software under the\n@@ -19,9 +19,8 @@ class Developer {\n   public $data                  = null;\n   public $privacy               = null;\n   public $access                = null;\n-  public $surveyDone            = false;\n \n-  public static $fieldSections  = array('core'            => array('account', 'name', 'email', 'nickname', 'dob', 'gender', 'motivation', 'employer', 'colour'),\n+  public static $fieldSections  = array('core'            => array('account', 'name', 'email', 'nickname', 'dob', 'gender', 'nationality', 'motivation', 'employer', 'colour'),\n                                         'geographic'      => array('continent', 'country', 'location', 'latitude', 'longitude'),\n                                         'social'          => array('homepage', 'blog', 'lastfm', 'microblog_type', 'microblog_user'),\n                                         'system'          => array('access_ip', 'access_code', 'access_timeout'));\n@@ -54,6 +53,10 @@ class Developer {\n                                                                    'display'  => 'all',\n                                                                    'editable' => true,\n                                                                    'privacy'  => 'gender'),\n+                                        'nationality'     => array('type'     => 'string',\n+                                                                   'display'  => 'all',\n+                                                                   'editable' => true,\n+                                                                   'privacy'  => 'nationality'),\n                                         'motivation'      => array('type'     => 'enum',\n                                                                    'display'  => 'all',\n                                                                    'editable' => true,\n@@ -171,9 +174,6 @@ public function load($value = null, $field = 'account', $createBuffer = false) {\n \n     // load developer data\n     if ($this->data = Db::load('developers', array('account' => $privacy['account']), 1)) {\n-      // check if survey has been completed\n-      $this->surveyDone = Db::exists('developer_survey', array('account' => $privacy['account']));\n-\n       // set privacy settings to each data value\n       foreach (self::$fields as $id => $spec) {\n         if (!isset($spec['privacy'])) {\n@@ -335,9 +335,10 @@ public static function getFieldStrings() {\n                      'nickname'       => _('Nickname'),\n                      'dob'            => _('Date of Birth'),\n                      'gender'         => _('Gender'),\n+                     'nationality'    => _('Nationality'),\n                      'motivation'     => _('Motivation'),\n                      'employer'       => _('Employer'),\n-                     'colour'         => _('Colour'),\n+                     'colour'         => _('Favourite colour'),\n \n                      'continent'      => _('Continent'),\n                      'country'        => _('Country'),"},{"sha":"f86290d5fd1209a013e7ba1a4c58f184af12076b","filename":"src/classes/shared/digest.php","status":"modified","additions":40,"deletions":32,"changes":72,"blob_url":"https://github.com/dannya/Enzyme/blob/c4b934fb9efb513fe13bada566d11902f79b0ed7/src%2Fclasses%2Fshared%2Fdigest.php","raw_url":"https://github.com/dannya/Enzyme/raw/c4b934fb9efb513fe13bada566d11902f79b0ed7/src%2Fclasses%2Fshared%2Fdigest.php","contents_url":"https://api.github.com/repos/dannya/Enzyme/contents/src%2Fclasses%2Fshared%2Fdigest.php?ref=c4b934fb9efb513fe13bada566d11902f79b0ed7","patch":"@@ -525,33 +525,33 @@ public static function getTypes() {\n \n   public static function getLanguages() {\n     return array('en_US'  => _('English'),\n-                 'de_DE'  => _('Deutsch (German)'),\n-                 'fr_FR'  => _('FranÃ§ais (French)'),\n-                 'es_ES'  => _('EspaÃ±ol (Spanish)'),\n-                 'nl_NL'  => _('Nederlands (Dutch)'),\n-                 'it_IT'  => _('Italiano (Italian)'),\n-                 'ru_RU'  => _('Ð ÑƒÑ�Ñ�ÐºÐ¸Ð¹ Ñ�Ð·Ñ‹Ðº (Russian)'),\n-                 'pl_PL'  => _('Polski (Polish)'),\n-                 'pt_PT'  => _('PortuguÃªs (Portuguese)'),\n-                 'pt_BR'  => _('PortuguÃªs Brasileiro (Brazilian Portuguese)'),\n-                 'hu_HU'  => _('Magyar (Hungarian)'),\n-                 'uk_UA'  => _('Ukrainian (Ukrainian)'),\n-                 'cs_CZ'  => _('Czech (ÄŒeÅ¡tina)'),\n-                 'nds'    => _('Low Saxon (Low Saxon)'));\n+                 'de_DE'  => _('Deutsch'),\n+                 'fr_FR'  => _('Français'),\n+                 'es_ES'  => _('Español'),\n+                 'nl_NL'  => _('Nederlands'),\n+                 'it_IT'  => _('Italiano'),\n+                 'ru_RU'  => _('Pyccĸий'),\n+                 'pl_PL'  => _('Polski'),\n+                 'pt_PT'  => _('Português'),\n+                 'pt_BR'  => _('Português Brasileiro'),\n+                 'hu_HU'  => _('Magyar'),\n+                 'uk_UA'  => _('Українська'),\n+                 'cs_CZ'  => _('Čeština'),\n+                 'nds'    => _('Low Saxon'));\n \n     // not yet ready for inclusion, here for translation purposes\n-    return array('sv_SE'  => _('Svenska (Swedish)'));\n+    return array('sv_SE'  => _('Svenska'));\n   }\n \n \n   public static function getStatuses() {\n-    return array('idea'        => _('1. Idea'),\n-                 'contacting'  => _('2. Contacting'),\n-                 'more-info'   => _('3. More information needed'),\n+    return array('idea'        => '1.' . _('Idea'),\n+                 'contacting'  => '2.' . _('Contacting'),\n+                 'more-info'   => '3.' . _('More information needed'),\n                  ''            => '--------',\n-                 'proofread'   => _('4. Needs proofreading'),\n-                 'ready'       => _('5. Ready for selection'),\n-                 'selected'    => _('6. Selected'));\n+                 'proofread'   => '4.' . _('Needs proofreading'),\n+                 'ready'       => '5.' . _('Ready for selection'),\n+                 'selected'    => '6.' . _('Selected'));\n   }\n \n \n@@ -589,10 +589,12 @@ public static function drawCommit($commit, $issueDate, $showDiffs = true) {\n           $revision = Digest::getShortGitRevision($commit['revision']);\n         }\n \n-        $buf .=  '  <span class=\"d\">' .\n-                      self::drawDiffs($commit, $issueDate) .\n-                 '  </span>\n-                    <a class=\"r n\" href=\"' . BASE_URL . '/issues/' . $issueDate . '/moreinfo/' . $commit['revision'] . '/\">' .\n+        $diffs = self::drawDiffs($commit, $issueDate);\n+        if (!empty($diffs)) {\n+          $buf .=  '  <span class=\"d\">' . $diffs . '</span>';\n+        }\n+\n+        $buf .=  '  <a class=\"r n\" href=\"' . BASE_URL . '/issues/' . $issueDate . '/moreinfo/' . $commit['revision'] . '/\">' .\n                       sprintf(_('Revision %s'), $revision) .\n                  '  </a>';\n       }\n@@ -608,15 +610,24 @@ public static function drawCommit($commit, $issueDate, $showDiffs = true) {\n \n \n   public static function getCommitTitle($commit) {\n-      if (empty($commit['format']) || ($commit['format'] == 'svn')) {\n-      $title  = sprintf(_('%s committed changes in %s:'),\n-                '<a class=\"n\" href=\"http://cia.vc/stats/author/' . $commit['developer'] . '/\" target=\"_blank\">' . $commit['name'] . '</a>',\n-                Enzyme::drawBasePath($commit['basepath']));\n+    if (empty($commit['format']) || ($commit['format'] == 'svn')) {\n+      // TODO: remove CIA.vc until we replace with internal author pages\n+//      $title  = sprintf(_('%s committed changes in %s:'),\n+//                '<a class=\"n\" href=\"http://cia.vc/stats/author/' . $commit['developer'] . '/\" target=\"_blank\">' . $commit['name'] . '</a>',\n+//                Enzyme::drawBasePath($commit['basepath']));\n+      $title = sprintf(\n+        _('%s committed changes in %s:'),\n+        $commit['name'],\n+        Enzyme::drawBasePath($commit['basepath'])\n+      );\n \n     } else if ($commit['format'] == 'git') {\n       // do we have the name of the committer?\n       if (!empty($commit['name'])) {\n-        $committer = '<a class=\"n\" href=\"http://cia.vc/stats/author/' . $commit['developer'] . '/\" target=\"_blank\">' . $commit['name'] . '</a>';\n+        // TODO: remove CIA.vc until we replace with internal author pages\n+//        $committer = '<a class=\"n\" href=\"http://cia.vc/stats/author/' . $commit['developer'] . '/\" target=\"_blank\">' . $commit['name'] . '</a>';\n+        $committer = $commit['name'];\n+\n       } else {\n         $committer = Ui::displayEmailAddress($commit['developer']);\n       }\n@@ -651,9 +662,6 @@ public static function drawBugs($commit, $class = 'b') {\n \n         } else {\n           $fixTime = 0;\n-\n-          // log the error\n-          Log::error('Invalid date for ' . $bug['bug']);\n         }\n \n         $buf .= '<div class=\"bug\">"},{"sha":"5825f6e1117e143416d1870328c62b4d7940060b","filename":"src/classes/shared/enzyme.php","status":"modified","additions":3,"deletions":14,"changes":17,"blob_url":"https://github.com/dannya/Enzyme/blob/c4b934fb9efb513fe13bada566d11902f79b0ed7/src%2Fclasses%2Fshared%2Fenzyme.php","raw_url":"https://github.com/dannya/Enzyme/raw/c4b934fb9efb513fe13bada566d11902f79b0ed7/src%2Fclasses%2Fshared%2Fenzyme.php","contents_url":"https://api.github.com/repos/dannya/Enzyme/contents/src%2Fclasses%2Fshared%2Fenzyme.php?ref=c4b934fb9efb513fe13bada566d11902f79b0ed7","patch":"@@ -2,7 +2,7 @@\n \n /*-------------------------------------------------------+\n  | Enzyme\n- | Copyright 2010-2012 Danny Allen <danny@enzyme-project.org>\n+ | Copyright 2010-2013 Danny Allen <danny@enzyme-project.org>\n  | http://www.enzyme-project.org/\n  +--------------------------------------------------------+\n  | This program is released as free software under the\n@@ -220,16 +220,7 @@ public static function getAvailableSettings() {\n                                           'valid'   => null,\n                                           'default' => 0.1,\n                                           'example' => null);\n-    $tmp['SURVEY_ACTIVE']         = array('title'   => _('Survey Active'),\n-                                          'valid'   => array('0'  => _('No'),\n-                                                             '1'  => _('Yes')),\n-                                          'default' => '0',\n-                                          'example' => null);\n \n-    $tmp['GENERATE_MAPS']         = array('title'   => _('Map Generation Service URL'),\n-                                          'valid'   => null,\n-                                          'default' => 'http://grafin.enzyme-project.org/index.php',\n-                                          'example' => 'http://grafin.enzyme-project.org/index.php');\n     $tmp['RECENT_COMMITS']        = array('title'   => _('Recent Commits RSS URL'),\n                                           'valid'   => null,\n                                           'default' => null,\n@@ -309,12 +300,10 @@ public static function getGroupedSettings() {\n                                              'SMTP'                   => $tmp['SMTP'],\n                                              'SHOW_INSERT'            => $tmp['SHOW_INSERT'],\n                                              'AUTO_REVIEW_COMMITS'    => $tmp['AUTO_REVIEW_COMMITS'],\n-                                             'DATA_TERMS_VERSION'     => $tmp['DATA_TERMS_VERSION'],\n-                                             'SURVEY_ACTIVE'          => $tmp['SURVEY_ACTIVE']));\n+                                             'DATA_TERMS_VERSION'     => $tmp['DATA_TERMS_VERSION']));\n \n     $settings[] = array('title'     => _('Data Locations'),\n-                        'settings'  => array('GENERATE_MAPS'          => $tmp['GENERATE_MAPS'],\n-                                             'RECENT_COMMITS'         => $tmp['RECENT_COMMITS'],\n+                        'settings'  => array('RECENT_COMMITS'         => $tmp['RECENT_COMMITS'],\n                                              'WEBSVN'                 => $tmp['WEBSVN'],\n                                              'WEBBUG'                 => $tmp['WEBBUG'],\n                                              'WEBBUG_XML'             => $tmp['WEBBUG_XML'],"},{"sha":"1551c8c7a666df1b43a5327a39b7170a62017f4f","filename":"src/classes/shared/media.php","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/dannya/Enzyme/blob/c4b934fb9efb513fe13bada566d11902f79b0ed7/src%2Fclasses%2Fshared%2Fmedia.php","raw_url":"https://github.com/dannya/Enzyme/raw/c4b934fb9efb513fe13bada566d11902f79b0ed7/src%2Fclasses%2Fshared%2Fmedia.php","contents_url":"https://api.github.com/repos/dannya/Enzyme/contents/src%2Fclasses%2Fshared%2Fmedia.php?ref=c4b934fb9efb513fe13bada566d11902f79b0ed7","patch":"@@ -205,7 +205,7 @@ public static function draw($media) {\n       // show link?\n       if ($media['size']) {\n         $link  = '<div class=\"link\">\n-                    <a href=\"' . BASE_URL . $media['file'] . '\" title=\"' . strip_tags($string) . '\">' .\n+                    <a href=\"' . BASE_URL . $media['file'] . '\" title=\"' . strip_tags($media['name']) . '\">' .\n                         sprintf(_('Download <b>%s</b> video (%s, %s)'), $media['name'], $media['size'], $media['ext']) .\n                  '  </a>\n                   </div>';"},{"sha":"080e0428a7cde3d6f556423cee2547632a241e2b","filename":"src/classes/shared/ui.php","status":"modified","additions":3,"deletions":3,"changes":6,"blob_url":"https://github.com/dannya/Enzyme/blob/c4b934fb9efb513fe13bada566d11902f79b0ed7/src%2Fclasses%2Fshared%2Fui.php","raw_url":"https://github.com/dannya/Enzyme/raw/c4b934fb9efb513fe13bada566d11902f79b0ed7/src%2Fclasses%2Fshared%2Fui.php","contents_url":"https://api.github.com/repos/dannya/Enzyme/contents/src%2Fclasses%2Fshared%2Fui.php?ref=c4b934fb9efb513fe13bada566d11902f79b0ed7","patch":"@@ -2,7 +2,7 @@\n \n /*-------------------------------------------------------+\n  | PHPzy (Web Application Framework)\n- | Copyright 2010-2011 Danny Allen <me@dannya.com>\n+ | Copyright 2010-2013 Danny Allen <me@dannya.com>\n  | http://www.dannya.com/\n  +--------------------------------------------------------+\n  | This program is released as free software under the\n@@ -21,7 +21,7 @@ public static function redirect($page) {\n       header('Location: ' . BASE_URL . $page);\n \n     } else{\n-      echo '<script type=\"text/javascript\">top.location=\"', BASE_URL, $page, '\";</script>';\n+      echo '<script>top.location.href=\"', BASE_URL, $page, '\";</script>';\n     }\n \n     exit;\n@@ -57,7 +57,7 @@ public static function drawHtmlPageStart($title = null, array $css = array(),\n \n     if ($js) {\n       foreach ($js as $file) {\n-        $script .= '<script type=\"text/javascript\" src=\"' . BASE_URL . $file . '\"></script>' . \"\\n\";\n+        $script .= '<script src=\"' . BASE_URL . $file . '\"></script>' . \"\\n\";\n       }\n     }\n "},{"sha":"34f1e2ba652a16e394c7b1d2bdb068102121f789","filename":"src/classes/specific/config.php","status":"modified","additions":4,"deletions":5,"changes":9,"blob_url":"https://github.com/dannya/Enzyme/blob/c4b934fb9efb513fe13bada566d11902f79b0ed7/src%2Fclasses%2Fspecific%2Fconfig.php","raw_url":"https://github.com/dannya/Enzyme/raw/c4b934fb9efb513fe13bada566d11902f79b0ed7/src%2Fclasses%2Fspecific%2Fconfig.php","contents_url":"https://api.github.com/repos/dannya/Enzyme/contents/src%2Fclasses%2Fspecific%2Fconfig.php?ref=c4b934fb9efb513fe13bada566d11902f79b0ed7","patch":"@@ -2,7 +2,7 @@\n \n /*-------------------------------------------------------+\n  | Enzyme\n- | Copyright 2010-2011 Danny Allen <danny@enzyme-project.org>\n+ | Copyright 2010-2014 Danny Allen <danny@enzyme-project.org>\n  | http://www.enzyme-project.org/\n  +--------------------------------------------------------+\n  | This program is released as free software under the\n@@ -16,13 +16,13 @@\n \n \n final class Config {\n-  public static $framework  = array('version'     => '20120710');\n+  public static $framework  = array('version'     => '20140104');\n \n \n   // define app constants\n   public static $app        = array('id'          => 'enzyme',\n                                     'name'        => 'Enzyme',\n-                                    'version'     => '1.23');\n+                                    'version'     => '1.30');\n \n \n   // define meta information\n@@ -54,7 +54,6 @@ final class Config {\n                                                            'data_terms',\n                                                            'developers',\n                                                            'developer_privacy',\n-                                                           'developer_survey',\n                                                            'digests',\n                                                            'digest_intro_people',\n                                                            'digest_intro_sections',\n@@ -77,7 +76,7 @@ final class Config {\n \n \n   // define settings information\n-  private static $settings  = null;\n+  private static $settings = null;\n \n \n   public static function getSetting() {"},{"sha":"f7502555588aa180203ae3e18377b22c4280b6e6","filename":"src/index.php","status":"modified","additions":2,"deletions":3,"changes":5,"blob_url":"https://github.com/dannya/Enzyme/blob/c4b934fb9efb513fe13bada566d11902f79b0ed7/src%2Findex.php","raw_url":"https://github.com/dannya/Enzyme/raw/c4b934fb9efb513fe13bada566d11902f79b0ed7/src%2Findex.php","contents_url":"https://api.github.com/repos/dannya/Enzyme/contents/src%2Findex.php?ref=c4b934fb9efb513fe13bada566d11902f79b0ed7","patch":"@@ -22,9 +22,8 @@\n $ui = new EnzymeUi();\n \n ?>\n-<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n-\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n-<html xmlns=\"http://www.w3.org/1999/xhtml\" dir=\"ltr\" xml:lang=\"en\" lang=\"en\">\n+<!DOCTYPE html>\n+<html lang=\"en\">\n   <head id=\"head\">\n     <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n     <?php"}]}