Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
15654e6
Added user_group_tid field and rebuilt plugin queries based on this c…
anpolimus May 1, 2016
5bbe772
Added hook_update_n for updating all existed scanned data to use user…
anpolimus May 1, 2016
084d31f
Added feature for force direct rescan start of the defined country
anpolimus May 1, 2016
4da2c0e
Rebuilt ppcmt after quantification improvements at ppgetstat core
anpolimus May 1, 2016
b619bbb
Added top contributors of all countries that are scanned widget.
anpolimus May 1, 2016
f6ccb15
Rebuilt most widget after user_list_tid field changes.
anpolimus May 1, 2016
4404b17
added contrib diff module
anpolimus May 3, 2016
9b45324
Deleted debug
anpolimus May 3, 2016
b4ea82e
Disabled node save action when user info is not changed at next rescan.
anpolimus May 3, 2016
5a23ecb
May 9, 2016
5cc16b6
Added links to d.org user page at global contributors list
May 9, 2016
b20cc5c
Improvements at ppcmnt
May 9, 2016
0bedc04
Fixed warnings
May 10, 2016
fb6ba99
Fixed warning
May 10, 2016
e141f2a
Updated about widget
Jun 2, 2016
fb0fc72
Init of the country last month activity.
Jun 2, 2016
8be609f
Fixed bug with wrong data at rescan
Jun 25, 2016
b9a9a1d
Added missed large logo for main page widget.
Jun 25, 2016
20e3051
Fixed bug with community quality stat gathering
Jun 29, 2016
24d4fa3
Rebuilt community_quality with right hook_theme approach
Jul 2, 2016
1841f2d
Added month activity widget with d3.js library.
Jul 2, 2016
2ea712c
Changed title of the block
Jul 4, 2016
11664ea
Fixed bug with the wrong timestamp for each commit in the DB
Jul 5, 2016
378a61c
month activity for two years + changed basic color
Jul 5, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file modified docroot/sites/all/modules/contrib/diff/CHANGELOG.txt
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/DiffEngine.php
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/LICENSE.txt
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/css/diff.boxes.css
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/css/diff.default.css
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/diff.admin.inc
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/diff.api.php
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/diff.css
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/diff.diff.inc
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/diff.info
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/diff.install
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/diff.module
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/diff.pages.inc
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/diff.theme.inc
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/diff.tokens.inc
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/includes/file.inc
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/includes/image.inc
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/includes/list.inc
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/includes/node.inc
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/includes/number.inc
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/includes/taxonomy.inc
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/includes/text.inc
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/js/diff.js
100755 → 100644
Empty file.
Empty file modified docroot/sites/all/modules/contrib/diff/readme.txt
100755 → 100644
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,7 @@ $plugin = array(
'title' => t('Project description for main page'),
'single' => TRUE,
'category' => t('PP'),
'hook theme' => array(
'pp_frontpage_about' => array(
'path' => drupal_get_path('module', 'pp_frontpage') . '/plugins/content_types',
'template' => 'about',
'variables' => array(
'text' => NULL,
),
),
),
'hook theme' => 'pp_front_page_about_content_type_theme'
);


Expand All @@ -25,16 +17,18 @@ function pp_frontpage_about_content_type_render() {
$block->module = 'pp_frontpage';
$block->title = '';
$block->id = 'about_block';
$block->content = '
<div id="logo-large"><img src="/sites/all/themes/custom/ppdorg_bootstrap/logo-large.png"></div>
<h3>
' . t('PPDORG is a project that scans Drupal.org contributions and prepare reports about contributions, grouped by country parameter.') . ' <br>
' . t('Current version investigate Drupal communities of the eastern Europe') . '
</h3>
';
$block->content = array(
'#theme' => 'pp_frontpage_about',
);

return $block;
}

function pp_front_page_about_content_type_theme(&$theme, $plugin) {
$theme['pp_frontpage_about'] = array(
'variables' => array(
'logo' => '',
),
'path' => $plugin['path'],
'template' => 'about'
);
}
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
<h1>TEST of THEME</h1>
<div id="logo-large"><img src="/sites/all/themes/custom/ppdorg_bootstrap/logo-large.png"></div>
<h3>
<?php print t('PPDORG is a project that scans Drupal.org contributions and prepare reports about contributions, grouped by country parameter.');?> <br>
<?php print t('Current version investigate Drupal communities of the eastern Europe');?>
</h3>
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<?php

$plugin = array(
'title' => t('Community this month activity'),
'single' => TRUE,
'category' => t('PP'),
'required context' => new ctools_context_required('title','taxonomy_term'),
'hook theme' => 'pp_frontpage_community_month_activity_content_type_theme'
);

function pp_frontpage_community_month_activity_content_type_render($subtype, $conf, $panel_args, $context) {
// Localising of user group display to.
if (isset($context) && isset($context->data) && isset($context->data->tid)) {
$user_lists_tid = $context->data->tid;

$block = new stdClass();
$block->module = 'pp_frontpage';
$block->title = t('Users activity this month');
$query = db_select('ppgetstat', 'p')
->fields('p', array('doid', 'timestamp', 'type'))
->condition('p.user_group_tid', $user_lists_tid)
->condition('p.timestamp', mktime(0,0,0, 1 , 1, date('Y')-1), '>=')
->execute()
->fetchAll();
$doids = $day_stat = array();
foreach ($query as $temp) {
if (isset($doids[$temp->doid])) {
$doids[$temp->doid]++;
} else {
$doids[$temp->doid] = 1;
}
$day_stat[date('Y-m-d', $temp->timestamp)]++;

}

dpm($day_stat);
$users = _ppgetstat_get_users_by_doids(array_keys($doids));
$doids = asort($doids);
drupal_add_js('http://d3js.org/d3.v3.min.js', 'external');
drupal_add_js(drupal_get_path('module','pp_frontpage') . '/plugins/content_types/js/month_activity.js');
drupal_add_js(array('pp_frontpage' => array('community_tid' => $user_lists_tid)), 'setting');
$block = new stdClass();
$block->module = 'pp_frontpage';
$block->title = 'Timeline';
$block->id = 'pp_frontpage_month_activity';
$block->content = array(
'#theme' => 'pp_frontpage_month_activity',
);
return $block;
}
}

function pp_frontpage_community_month_activity_content_type_theme(&$theme, $plugin) {
$theme['pp_frontpage_month_activity'] = array(
'variables' => array(
'logo' => '',
),
'path' => $plugin['path'],
'template' => 'month_activity'
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ $plugin = array(
'single' => TRUE,
'category' => t('PP'),
'required context' => new ctools_context_required('title', 'taxonomy_term'),
'hook theme' => 'pp_front_page_community_quality_content_type_theme'
);

/**
Expand All @@ -31,91 +32,79 @@ function pp_frontpage_community_quality_content_type_render(

$block = new stdClass();
$block->module = 'pp_frontpage';
$block->title = t('Community statistic');

$block->content = '';
// Getting info for showing count of individual members at this country.
$members_stat = _ppgetstat_get_individual_members();

$all_user_query = db_select('node', 'n');
$all_user_query->innerJoin(
// Query for global count uids, attached to the country.
$query = db_select('node', 'n');
$query->innerJoin(
'field_data_field_user_lists',
'fu',
'fu.entity_id = n.nid'
);
$all_user_query->condition('n.type', 'user');
$all_user_query->condition('fu.field_user_lists_tid', $user_lists_tid);
$all_user_query->addExpression('COUNT(n.nid)');
$all_user_result = $all_user_query->execute();
$all_user_count = $all_user_result->fetchField();
$query->fields('fu', array('field_user_lists_tid'));
$query->addExpression('COUNT(fu.field_user_lists_tid)', 'gc');
$query->condition('fu.field_user_lists_tid', $user_lists_tid);
$query->orderBy('gc', 'DESC');
$all_user_count = $query->countQuery()->execute()->fetchField();

// Getting active by commits statistics
$active_by_commits_query = db_select('ppgetstat', 'pp');
$active_by_commits_query->innerJoin(
'field_data_field_user_id',
'fn',
'fn.field_user_id_value = pp.doid'
);
$active_by_commits_query->innerJoin(
'field_data_field_user_lists',
'fu',
'fu.entity_id = fn.entity_id'
);
$active_by_commits_query->condition('pp.type', PPGETSTAT_TYPE_COMMITS);
$active_by_commits_query->condition(
'fu.field_user_lists_tid',
$user_lists_tid
);
$active_by_commits_query->condition('pp.user_group_tid', $user_lists_tid);
$active_by_commits_query->fields('pp',array('user_group_tid'));
$active_by_commits_query->addExpression('COUNT(pp.doid)', 'ac');

$active_by_commits_query->groupBy('pp.user_group_tid');
$active_by_commits_query->groupBy('pp.doid');
$active_by_commits_query->addExpression('COUNT(pp.doid)');
$active_by_commits_count = $active_by_commits_query->execute()->fetchField(
);
$active_by_commits_count = $active_by_commits_query->countQuery()->execute()->fetchField();

$active_by_comments_query = db_select('ppgetstat', 'pp');
$active_by_comments_query->innerJoin(
'field_data_field_user_id',
'fn',
'fn.field_user_id_value = pp.doid'
);
$active_by_comments_query->innerJoin(
'field_data_field_user_lists',
'fu',
'fu.entity_id = fn.entity_id'
);
$active_by_comments_query->condition('pp.type', PPGETSTAT_TYPE_COMMITS);
$active_by_comments_query->condition(
'fu.field_user_lists_tid',
$user_lists_tid
);
$active_by_comments_query->groupBy('pp.doid');
$active_by_comments_query->addExpression('COUNT(pp.doid)');
$active_by_comments_count = $active_by_comments_query->execute()
->fetchField();
$active_by_comments_count = 0;

$individual_members_count = $members_stat['members_country_count'][$country];

if ($all_user_count > 0) {
$block->content = '<div class="bs-callout bs-callout-primary">
<ul>
<li>' . t('Total count') . ' : <strong>' . $all_user_count . '</strong></li>
<li>' . t(
'Active committers'
) . ' : <strong>' . $active_by_commits_count . ' (' . number_format(
$block->title = t('Community quality');
$block->content = array(
'#theme' => 'pp_frontpage_community_quality',
'#total' => $all_user_count,
'#active_committers' => $active_by_commits_count,
'#active_commenters' => $active_by_comments_count,
'#assoc_individual_members' => $individual_members_count,
'#active_committers_p' => number_format(
$active_by_commits_count / $all_user_count,
2
) * 100 . ')%</strong></li>
<li>' . t(
'Active commenters'
) . ' : <strong>' . $active_by_comments_count . ' (' . number_format(
$active_by_comments_count / $all_user_count,
2
) * 100 . ')%</strong></li>
<li>' . t(
'Individual Assoc members'
) . ' : <strong>' . $individual_members_count . ' (' . number_format(
$individual_members_count / $all_user_count,
2
) * 100 . ')%</strong></li>
</ul>
</div>';
) * 100,
'#active_commenters_p' => number_format(
$active_by_comments_count / $all_user_count,
2
) * 100,
'#assoc_individual_members_p' => number_format(
$individual_members_count / $all_user_count,
2
) * 100
);
}
return $block;
}
}

/**
* hook_theme callback for this plugin.
*/
function pp_front_page_community_quality_content_type_theme(&$theme, $plugin) {
$theme['pp_frontpage_community_quality'] = array(
'variables' => array(
'total' => 0,
'active_committers' => 0,
'active_commenters' => 0,
'assoc_individual_members' => 0,
'active_committers_p' => 0,
'active_commenters_p' => 0,
'assoc_individual_members_p' => 0
),
'path' => $plugin['path'] . '/templates/',
'template' => 'community_quality'
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,30 +48,20 @@ function pp_frontpage_global_countries_members_content_type_render($subtype, $co


// Getting active by commits statistics
$active_by_commits_query = db_select('field_data_field_user_lists', 'fu');
$active_by_commits_query->innerJoin(
'field_data_field_user_id',
'fn',
'fu.entity_id = fn.entity_id'
);
$active_by_commits_query->innerJoin(
'ppgetstat',
'pp',
'pp.doid = fn.field_user_id_value'
);
$active_by_commits_query = db_select('ppgetstat', 'pp');
$active_by_commits_query->condition('pp.type', PPGETSTAT_TYPE_COMMITS);
$active_by_commits_query->fields('fu',array('field_user_lists_tid'));
$active_by_commits_query->fields('pp',array('user_group_tid'));
$active_by_commits_query->addExpression('COUNT(pp.doid)', 'ac');

$active_by_commits_query->groupBy('fu.field_user_lists_tid');
$active_by_commits_query->groupBy('pp.user_group_tid');
$active_by_commits_query->groupBy('pp.doid');
$active_by_commits = $active_by_commits_query->execute()->fetchAll();
$active_commits = array();
foreach ($active_by_commits as $temp) {
if (!empty($active_commits[$temp->field_user_lists_tid])) {
$active_commits[$temp->field_user_lists_tid]++;
if (!empty($active_commits[$temp->user_group_tid])) {
$active_commits[$temp->user_group_tid]++;
} else {
$active_commits[$temp->field_user_lists_tid] = 1;
$active_commits[$temp->user_group_tid] = 1;
}
}

Expand Down
Loading