diff --git a/sites/all/modules/gui/materiobasemod/materio_contactops.info b/sites/all/modules/gui/materiobasemod/materio_contactops.info new file mode 100644 index 00000000..12729604 --- /dev/null +++ b/sites/all/modules/gui/materiobasemod/materio_contactops.info @@ -0,0 +1,23 @@ +name = Materio Contact Operationels +description = "Materio Contact Operationels module" + +; Core version (required) +core = 7.x + +; Package name (see http://drupal.org/node/542202 for a list of names) +package = Materio + +; PHP version requirement (optional) +; php = 5.2 + +; Loadable code files +; files[] = materio_ctools_automodal.module + +; Module dependencies +; dependencies[] = user + +; Configuration page +; configure = admin/config/materiobasemod + +; For further information about configuration options, see +; - http://drupal.org/node/542202 diff --git a/sites/all/modules/gui/materiobasemod/materio_contactops.module b/sites/all/modules/gui/materiobasemod/materio_contactops.module new file mode 100644 index 00000000..6fde608f --- /dev/null +++ b/sites/all/modules/gui/materiobasemod/materio_contactops.module @@ -0,0 +1,68 @@ + array( + 'title' => t('view own company related materials'), + 'description' => t('view own company related materials'), + ) + ); + + return $perms; +} + +function materio_contactops_menu(){ + $items = array(); + + $base = array( + ); + + $items['user/%user/materials'] = array( + 'title' => t('Materials'), + 'page callback' => 'materio_contactops_materials', + 'page arguments' => array(1), + 'access arguments' => array('view own company related materials'), + 'type' => MENU_LOCAL_TASK, + 'file' => 'materio_contactops.pages.inc', + ); + + return $items; +} + +/** + * Implements hook_theme(). + */ +function materio_contactops_theme($existing, $type, $theme, $path) { + return array( + 'materio_contactops_materials' => array( + 'template' => 'materio-contactops-materials', + 'path' => drupal_get_path('module', 'materio_contactops').'/templates', + 'arguments' => array( + 'items' => array(), + 'view_mode' => "teaser", + 'pager' => NULL, + 'count' => 0, + ) + ) + ); +} + + +function template_preprocess_materio_contactops_materials(&$vars){ + // dsm($vars, 'template_preprocess_materio_contactops_materials | vars'); + + // $vars['actualities_infos'] = t('Actualities by materiO\''); + $vars['materials_infos'] = t(''); +} diff --git a/sites/all/modules/gui/materiobasemod/materio_contactops.pages.inc b/sites/all/modules/gui/materiobasemod/materio_contactops.pages.inc new file mode 100644 index 00000000..0e1012f6 --- /dev/null +++ b/sites/all/modules/gui/materiobasemod/materio_contactops.pages.inc @@ -0,0 +1,90 @@ +field_company['und'][0]['tid']; + // dsm($company_tid,'company_tid'); + + # retrieve viewmode and then use it to define the query range + $viewmode = isset($user->data['materiosearchapi_viewmode']) + ? $user->data['materiosearchapi_viewmode'] + : variable_get('defaultviewmode', 'full'); + + $limit = variable_get($viewmode.'_limite', '10'); + // dsm($limit, "limit"); + + $offset = pager_find_page() * $limit; //$page*$limit;// + // dsm($offset, "offset"); + + // get materials taged with this company + $query = new EntityFieldQuery; + $query + ->entityCondition('entity_type', 'node') + ->propertyCondition('status', 1) + ->entityCondition('bundle', array('materiau')) + // ->fieldCondition('field_company_distrib', 'tid', $company_tid, '=') + ->fieldCondition('field_company_fab', 'tid', $company_tid, '=') + ->propertyOrderBy('created', 'DESC') + ->range($offset,$limit); + $result = $query->execute(); + // dsm($result, '$result'); + foreach ($result['node'] as $nid => $n) { + $items[] = node_load($nid); + } + + $count_query = new EntityFieldQuery; + $count_query + ->entityCondition('entity_type', 'node') + ->propertyCondition('status', 1) + ->entityCondition('bundle', array('materiau')) + // ->fieldCondition('field_company_distrib', 'tid', $company_tid, '=') + ->fieldCondition('field_company_fab', 'tid', $company_tid, '='); + // dsm($count, 'count'); + + $count = $count_query->count()->execute(); + + $query = new EntityFieldQuery; + $query + ->entityCondition('entity_type', 'node') + ->propertyCondition('status', 1) + ->entityCondition('bundle', array('materiau')) + ->fieldCondition('field_company_distrib', 'tid', $company_tid, '=') + // ->fieldCondition('field_company_fab', 'tid', $company_tid, '=') + ->propertyOrderBy('created', 'DESC') + ->range($offset,$limit); + $result = $query->execute(); + // dsm($result, '$result'); + foreach ($result['node'] as $nid => $n) { + $items[] = node_load($nid); + } + + $count_query = new EntityFieldQuery; + $count_query + ->entityCondition('entity_type', 'node') + ->propertyCondition('status', 1) + ->entityCondition('bundle', array('materiau')) + // ->fieldCondition('field_company_distrib', 'tid', $company_tid, '=') + ->fieldCondition('field_company_fab', 'tid', $company_tid, '='); + // dsm($count, 'count'); + + $count += $count_query->count()->execute(); + + pager_default_initialize($count, $limit); + + drupal_set_title(t('')); + + return theme('materio_contactops_materials', array( + 'items' => $items, + 'view_mode' => $viewmode, + 'count' => $count, + 'pager' => theme('pager'), + )); +} diff --git a/sites/all/modules/gui/materiobasemod/templates/materio-contactops-materials.tpl.php b/sites/all/modules/gui/materiobasemod/templates/materio-contactops-materials.tpl.php new file mode 100644 index 00000000..aa8222f2 --- /dev/null +++ b/sites/all/modules/gui/materiobasemod/templates/materio-contactops-materials.tpl.php @@ -0,0 +1,19 @@ + +
+ +

+
+ + +
+
+ +
+ +
+

+
+ +