3, 'path' => drupal_get_path('module', 'bf_calendar_field')); } /** * bf_calendar_field_form_calendar_admin_settings_alter() * * @param mixed $form * @param mixed $form_state * @return void */ function bf_calendar_field_form_calendar_admin_settings_alter(&$form, &$form_state) { $calendars = _bf_calendar_field_get_calendars(); $values = array(); foreach ($calendars as $calendar) { $values[] = $calendar->name. '|'. $calendar->machine_name; } $form['bf_calendar'] = array( '#type' => 'fieldset', //'#title' => 'qwe', 'calendar_type' => array( '#title' => t('Calendars'), '#type' => 'textarea', '#default_value' => join("\n", $values), ), ); //$form['#validate'][] = ''; $form['#submit'][] = 'bf_calendar_field_settings_submit'; } /** * bf_calendar_field_settings_submit() * * @param mixed $form * @param mixed $form_state * @return void */ function bf_calendar_field_settings_submit(&$form, &$form_state) { $values = $form_state['values']; $calendars = preg_split( '/\r\n|\r|\n/', $values['calendar_type']); db_delete('calendar_field') ->execute(); foreach($calendars as &$calendar) { list($name, $machine_name) = explode('|', $calendar); if (!trim($name)) { continue; } if (!$machine_name) { $machine_name = preg_replace('@[^a-z0-9_]+@', '_', $name); } db_insert('calendar_field') ->fields(array( 'name' => $name, 'machine_name' => $machine_name, )) ->execute(); } } /** * _bf_calendar_field_get_calendars() * * @return */ function _bf_calendar_field_get_calendars() { $calendars = db_select('calendar_field', 'cf') ->fields('cf') ->execute() ->fetchAll(); return $calendars; } /** * bf_calendar_field_permission() * * @return void */ function bf_calendar_field_permission() { $perms = array(); $calendars = _bf_calendar_field_get_calendars(); foreach ($calendars as $calendar) { $perms[_bf_calendar_field_get_permission_name($calendar->machine_name, 'admin')] = array( 'title' => t('Create/edit events on calendar !calendar', array('!calendar' => $calendar->name)), 'description' => t('Perform administration tasks on calendar !calendar', array('!calendar' => $calendar->name)), ); $perms[_bf_calendar_field_get_permission_name($calendar->machine_name, 'view')] = array( 'title' => t('View events of calendar !calendar', array('!calendar' => $calendar->name)), 'description' => '', ); } return $perms; } /** * _bf_calendar_field_get_permission_name() * * @param mixed $machine_name * @param string $mode * @return */ function _bf_calendar_field_get_permission_name($machine_name, $mode = 'view') { return ($mode == 'admin' ? 'administer calendar ' : 'view calendar '). $machine_name; } /** * bf_calendar_field_date_format_types() * * @return */ function bf_calendar_field_date_format_types() { return array( 'bf_calendar_field_year' => t('Calendar - Year'), 'bf_calendar_field_month' => t('Calendar - Month'), 'bf_calendar_field_week' => t('Calendar - Week'), 'bf_calendar_field_day' => t('Calendar - Day'), ); } /** * bf_calendar_field_date_formats() * * @return */ function bf_calendar_field_date_formats() { return FALSE; } /** * bf_calendar_field_process_date_nav_title() * * @param mixed $vars * @return void */ function bf_calendar_field_process_date_nav_title(&$vars) { switch ($vars['granularity']) { case 'year': $vars['format'] = date_format_type_format('bf_calendar_field_year'); break; case 'month': $vars['format'] = date_format_type_format('bf_calendar_field_month'); break; case 'week': $vars['format'] = date_format_type_format('bf_calendar_field_week'); break; case 'day': $vars['format'] = date_format_type_format('bf_calendar_field_day'); break; } } array( 'render element' => 'element', ), ); } function bf_gallery_theme_registry_alter(&$theme_registry) { //$theme_registry['image_formatter']['path'] = drupal_get_path('module', 'bf_gallery'). '/theme'; //$theme_registry['image_formatter']['template'] = 'field--image'; } function _bf_gallery_get_library_path($module = 'galleria') { $library_path = libraries_get_path($module); if (!empty($library_path)) { // Attempt to use minified version of Galleria plugin. if ($galleria_path = array_shift(glob($library_path . '/galleria*.min.js'))) { return $galleria_path; } // Otherwise use non-minified version if available. elseif ($galleria_path = array_shift(glob($library_path . '/galleria*.js'))) { return $galleria_path; } } return false; } 'CSV export/import', 'description' => '', 'page callback' => 'drupal_get_form', 'page arguments' => array('bf_node_import_form'), 'access callback' => 'bf_node_import_access', 'access arguments' => array('import nodes'), 'type' => MENU_LOCAL_TASK, ); return $items; } /** * bf_node_import_permission() * * @return */ function bf_node_import_permission() { return array( 'import nodes' => array( 'title' => t('Import content from CSV'), 'description' => '', ), ); } /** * bf_node_import_access() * * @param mixed $permission * @return */ function bf_node_import_access($permission) { return user_access($permission); } /** * bf_node_import_form() * * @param mixed $form * @param mixed $form_state * @return */ function bf_node_import_form($form, &$form_state) { $nodeTypes = _node_types_build()->types; if (!isset($form_state['storage']['step'])) { $form_state['storage']['step'] = 1; } $nodeTypeOptions = array(); foreach ($nodeTypes as $nodeType => $Type) { $nodeTypeOptions[$nodeType] = $Type->name; } switch ($form_state['storage']['step']) { case 1: default: $form['set-node-type'] = array( '#type' => 'fieldset', '#title' => t('Node type'), 'node-type' => array( '#type' => 'select', '#default_value' => variable_get('bf_node_import_limit', 5), '#attributes' => array( ), '#options' => $nodeTypeOptions ), ); $form['actions'] = array( '#type' => 'actions', 'export' => array( '#type' => 'submit', '#name' => 'export', '#value' => t('Export'), ), 'import' => array( '#type' => 'submit', '#name' => 'import', '#value' => t('Import'), ), ); break; case 2: $op = $form_state['storage']['op']; switch($op) { case 'import': $form = _bf_node_import_form_import_2($form, $form_state); break; case 'export': $form = _bf_node_import_form_export_2($form, $form_state); break; } break; } return $form; } /** * _bf_node_import_form_import_2() * * @param mixed $form * @param mixed $form_state * @return */ function _bf_node_import_form_import_2($form, &$form_state) { $form['#attributes'] = array('enctype' => "multipart/form-data"); $form['set-import'] = array( '#type' => 'fieldset', '#title' => t('Select CSV file'), '#collapsible' => false, 'csv' => array( '#type' => 'file', '#title' => t('File'), ), ); $form['actions'] = array( '#type' => 'actions', 'upload' => array( '#type' => 'submit', '#name' => 'upload', '#value' => t('Upload'), ), ); return $form; } /** * _bf_node_import_form_export_2() * * @param mixed $form * @param mixed $form_state * @return */ function _bf_node_import_form_export_2($form, &$form_state) { $nodeType = $form_state['storage']['node-type']; $defaultFields = array( 'nid' => t('Node ID'), 'title' => t('Title'), ); $selectableFields = field_info_instances('node', $nodeType); $options = array(); foreach ($selectableFields as $field => $info) { $options[$field] = $info['label']; } $form['set-fields'] = array( '#type' => 'fieldset', '#title' => t('Select fields'), '#collapsible' => false, ); foreach ($defaultFields as $fieldName => $title) { $form['set-fields'][$fieldName] = array( '#type' => 'checkbox', '#title' => $title, '#default_value' => 1, '#disabled' => TRUE, ); } $form['set-fields']['fields'] = array( '#type' => 'checkboxes', '#options' => $options, '#default_value' => array_keys($options), ); $form['actions'] = array( '#type' => 'actions', 'download' => array( '#type' => 'submit', '#name' => 'download', '#value' => t('Download'), ), 'back' => array( '#type' => 'submit', '#name' => 'back', '#value' => t('Back'), ), ); return $form; } /** * bf_node_import_form_validate() * * @param mixed $form * @param mixed $form_state * @return void */ function bf_node_import_form_validate($form, &$form_state) { } /** * bf_node_import_form_submit() * * @param mixed $form * @param mixed $form_state * @return void */ function bf_node_import_form_submit($form, &$form_state) { $formValues = $form_state['values']; $op = $form_state['clicked_button']['#name']; switch ($form_state['storage']['step']) { case 1: $form_state['storage']['op'] = $op; $form_state['rebuild'] = TRUE; $form_state['storage']['node-type'] = $formValues['node-type']; $form_state['storage']['step'] = 2; switch ($op) { case 'export': break; case 'import': break; } break; case 2: switch ($op) { case 'upload': _bf_node_import_form_submit_import_2($form, $form_state); break; case 'download': _bf_node_import_form_submit_export_2($form, $form_state); break; default: } break; default: } } /** * _bf_node_import_import_form_submit_import_2() * * @param mixed $form * @param mixed $form_state * @return void */ function _bf_node_import_form_submit_import_2($form, &$form_state) { $files = $_FILES['files']; $fields = array(); $nodes = array(); $csvUploaded = array(); $nodeType = $form_state['storage']['node-type']; foreach ($files as $paramName => $param) { $csvUploaded[$paramName] = $param['csv']; } $csvPath = $csvUploaded['tmp_name']; if (($csv = fopen($csvPath, 'r')) != FALSE) { $first = TRUE; while (($row = fgetcsv($csv, 10000, ';', '"')) != FALSE) { if ($first) { $fields = $row; $first = FALSE; continue; } $nodes[] = array_combine($fields, $row); } } foreach ($nodes as $node) { $success = _bf_node_import_update_node($node, $nodeType); } } /** * _bf_node_import_update_node() * * @param mixed $data * @param mixed $nodeType * @return */ function _bf_node_import_update_node(array $data, $nodeType) { static $fieldInfo; $nid = $data['nid']; if (!(int)$nid) { return FALSE; } unset($data['nid']); $Node = node_load($nid); if ($Node->type !== $nodeType) { $nodeTypeInfo = node_type_load($nodeType); drupal_set_message(t('Node #!nid is not !type!', array('!nid' => $nid, '!type' => $nodeTypeInfo->name)), 'error'); return FALSE; } //$fields = field_info_instances('node', $nodeType); foreach ($data as $fieldName => $value) { if (!isset($fieldInfo[$fieldName])) { $fieldInfo[$fieldName] = field_info_field($fieldName); } switch ($fieldInfo[$fieldName]['module']) { case 'taxonomy': $tids = array(); $termNames = explode('|', $value); foreach ($termNames as $termName) { $vocab_name = $info['settings']['allowed_values'][0]['vocabulary']; $terms = taxonomy_get_term_by_name($termName, $vocab_name); foreach ($terms as $tid => $term) { $tids[] = $tid; } } _bf_node_import_set_taxonomy($Node, $fieldName, $tids); break; case 'text': $Node->body['und'][0]['value'] = $value; break; default: $Node->{$fieldName} = $value; } } //return TRUE; return node_save($Node); } /** * _bf_node_import_form_submit_export_2() * * @param mixed $form * @param mixed $form_state * @return void */ function _bf_node_import_form_submit_export_2($form, &$form_state) { $formValues = $form_state['values']; $op = $form_state['clicked_button']['#name']; $nodeType = $form_state['storage']['node-type']; $selectedFields = $formValues['fields']; switch($op) { case 'download': foreach ($selectedFields as $fieldName => $selected) { if (!$selected) { unset($selectedFields[$fieldName]); } } $rows = array(); $defaultFields = drupal_map_assoc(array('nid', 'title')); $selectedFields = array_merge($defaultFields, $selectedFields); $nids = db_select('node', 'n') ->fields('n', array('nid')) ->condition('type', $nodeType) ->execute() ->fetchCol(); $nodes = node_load_multiple($nids); $rows[0] = $selectedFields; foreach ($nodes as $nid => $node) { $row = array(); foreach ($selectedFields as $fieldName) { $row[] = _bf_node_import_get_field_value($node, $fieldName); } $rows[] = $row; } $tempDir = file_directory_temp(); $csvUri = 'temporary://node_export_'.$nodeType.'_'.date('Ymd').'_'.date('Hi').'.csv'; if (($f = fopen($csvUri, 'w+')) != FALSE) { foreach ($rows as $row) { fputcsv($f, $row, ';', '"'); } } _bf_node_import_download($csvUri); break; case 'back': break; } } /** * _bf_node_import_get_field_value() * * @param mixed $node * @param mixed $fieldName * @return */ function _bf_node_import_get_field_value(stdClass $node, $fieldName) { if (!isset($node->{$fieldName})) { return NULL; } $value = $node->{$fieldName}; if (is_array($value)) { $field = field_info_field($fieldName); switch ($field['type']) { case 'taxonomy_term_reference': $terms = array(); $values = $value[LANGUAGE_NONE]; foreach ($values as $v) { $term = taxonomy_term_load($v['tid']); $terms[] = $term->name; } return join('|', array_unique($terms)); break; case 'text_with_summary': foreach ($value as $lang => $values) { foreach ($values as $text) { return $text['value']; } } break; } } elseif (is_object($value)) { return FALSE; } else { return $value; } } /** * _bf_node_import_download() * * @param mixed $uri * @return void */ function _bf_node_import_download($uri) { $filePath = drupal_realpath($uri); $fileName = basename($filePath); $fileSize = filesize($filePath); $headers = array( 'Content-Type' => 'force-download', 'Content-Disposition' => 'attachment; filename="' . $fileName . '"', 'Content-Length' => $fileSize, 'Content-Transfer-Encoding' => 'binary', 'Pragma' => 'no-cache', 'Cache-Control' => 'must-revalidate, post-check=0, pre-check=0', 'Expires' => '0', 'Accept-Ranges' => 'bytes' ); file_transfer($uri, $headers); } /** * _bf_node_import_set_taxonomy() * * @param mixed $Node * @param mixed $fieldName * @param mixed $tids * @return void */ function _bf_node_import_set_taxonomy(stdClass &$Node, $fieldName, $tids) { $Node->{$fieldName}[LANGUAGE_NONE] = array(); foreach ($tids as $tid) { $Node->{$fieldName}[LANGUAGE_NONE][] = array('tid' => $tid); } } 'Personal feeds configuration', 'description' => '', 'page callback' => 'drupal_get_form', 'page arguments' => array('bf_personal_feeds_admin_form'), 'access arguments' => array('administer site configuration'), 'file' => 'bf_personal_feeds.admin.inc', ); $terms_enabled = _bf_personal_feeds_get_terms_enabled(); if (!empty($terms_enabled)) { $items['user/%user/personal_feeds'] = array( 'title' => 'Feeds', 'page callback' => 'drupal_get_form', 'page arguments' => array('bf_personal_feeds_user_form'), 'access callback' => 'bf_personal_feeds_user_access', 'access arguments' => array(1), 'type' => MENU_LOCAL_TASK, ); } return $items; } function bf_personal_feeds_views_api() { return array('api' => 3, 'path' => drupal_get_path('module', 'bf_personal_feeds')); } /** * _bf_personal_feeds_get_terms() * * @param mixed $uid * @return */ function _bf_personal_feeds_get_terms($uid) { if (!(int)$uid) { return FALSE; } $rows = (array)db_select('personal_feeds', 'pn') ->fields('pn') ->condition('pn.uid', (int)$uid) ->execute() ->fetchAll(); $terms = array(); foreach ($rows as $row) { $terms[$row->node_type][] = (int)$row->tid; } return $terms; } /** * _bf_personal_feeds_get_terms_enabled() * * @return */ function _bf_personal_feeds_get_terms_enabled() { $rows = (array)db_select('personal_feeds_admin', 'pn') ->fields('pn') ->execute() ->fetchAll(); $terms = array(); foreach ($rows as $row) { $terms[$row->node_type][] = (int)$row->tid; } return $terms; } /** * _bf_personal_feeds_get_user_tids() * * @return */ function _bf_personal_feeds_get_user_tids() { global $user; $tids = array(); $nids = array(); $terms = array (); $limit = variable_get('bf_personal_feeds_limit', 5); $enabled = _bf_personal_feeds_get_terms_enabled(); if (is_object($user) && (int)$user->uid) { $terms = _bf_personal_feeds_get_terms((int)$user->uid); } if (is_array($terms) && !empty($terms)) { foreach ($terms as $nodeType => $tids_) { $tids = array_merge($tids, $tids_); } $tids = array_unique($tids); return $tids; } return FALSE; } array( 'render element' => 'element', ), 'bf_upload_items' => array( 'render element' => 'element' ) ); } /** * Theme Upload widget. */ function theme_bf_upload_uploader($variables) { $element = $variables['element']; $attributes = array(); if (isset($element['#id'])) { $attributes['id'] = $element['#id']; } if (!empty($element['#attributes']['class'])) { $attributes['class'] = (array)$element['#attributes']['class']; } $attributes['class'][] = 'bf_upload'; $hasTitle = isset($element['#bf_upload_override']['title_field']) && $element['#bf_upload_override']['title_field'] == 1; if ($hasTitle) { $attributes['class'][] = 'has-title'; } /* $hasAlt = (bool)(isset($element['#bf_upload_override']['alt_field']) && $element['#bf_upload_override']['alt_field'] == 1); if ($hasAlt) { $attributes['class'][] = 'has-alt'; } */ $output = '
    '. theme('bf_upload_items', array('element' => $element)).'
' . t('Drag files here') . '
' . implode("\n", $element['#info']) . '
'; return $output; } /** * Theme Batch upload items within widget. */ function theme_bf_upload_items($vars) { $element = &$vars['element']; if (isset($element['#default_value']) && !empty($element['#default_value'])) { $items = &$element['#default_value']; } else { return ''; } $output = ''; foreach ($items as $delta => $item) { // If user deleted all items I'll get array('fid' => 0) if ($item['fid'] > 0) { $hasTitle = $element['#bf_upload_override']['title_field'] == 1; $hasAlt = $element['#bf_upload_override']['alt_field'] == 1; $hasDescription = $element['#bf_upload_override']['description_field'] == 1; $name = $element['#name'] . '[' . $delta . ']'; $fileTypeThumb = '
%s %s
'; $fileTypeThumbCaption = (!empty($item['uri'])) ? $item['uri'] : print_r($item, true); $fileTypeThumb = sprintf($fileTypeThumb, theme('image', array('path' => '/'. _bf_upload_get_filetype_image($item))), $fileTypeThumbCaption); $output .= '
  • '. ($item['type'] == 'image' ? theme('image_style', array('style_name' => $element['#bf_upload']['image_style'], 'path' => $item['uri'])) : $fileTypeThumb) .'
    '. ($hasTitle ? '' : ''). ($hasDescription ? '' : ''). //($hasAlt ? '' : ''). ' '; (isset($item['rename']) ? '' : '').'
  • '; } } return $output; } array( 'label' => t('BIG FISH Uploader'), 'field types' => array('file', 'image'), 'behaviors' => array( 'multiple values' => FIELD_BEHAVIOR_CUSTOM, 'default value' => FIELD_BEHAVIOR_NONE, ), ), ); } /** * _field_widget_settings_form */ function bf_upload_field_widget_settings_form($field, $instance) { $form = array(); switch ($field['type']) { case 'image': $styles = array(); foreach (image_styles() as $name => $style) { $styles[$name] = $style['name']; } $form['image_style'] = array( '#type' => 'select', '#title' => t('Image style'), '#default_value' => isset($instance['widget']['settings']['image_style']) ? $instance['widget']['settings']['image_style'] : 'thumbnail', '#options' => $styles ); break; } return $form; } /** * _field_widget_form */ function bf_upload_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) { $parents = array_merge( array('values', $element['#field_name'], $element['#language']), $element['#field_parents'] ); $state_data = drupal_array_get_nested_value($form_state, $parents); // We inform user about restrictions $info = array(); if ($field['cardinality'] > 0) { $info[] = '
    '. t("You can upload up to !num files.", array('!num' => '' . $field['cardinality'] . '')). '
    '; } if (isset($instance['settings']['max_filesize']) && !empty($instance['settings']['max_filesize'])) { $info[] = '
    '. t("Maximal file size: !size", array('!size' => ''. $instance['settings']['max_filesize'] . '')). '
    '; } $info[] = '
    '. t("Allowed files types: !types.", array('!types' => '' . $instance['settings']['file_extensions'] . '')). '
    '; /* $max = $instance['settings']['max_resolution']; $min = $instance['settings']['min_resolution']; if ($min && $max && $min == $max) { $info[] = '
    '. t('Images must be exactly !size pixels.', array('!size' => '' . $max . '')). '
    '; } elseif ($min && $max) { $info[] = '
    '. t('Images must be between !min and !max pixels.', array('!min' =>'' . $min . '', '!max' => '' . $max . '')). '
    '; } elseif ($min) { $info[] = '
    '. t('Images must be larger than !min pixels.', array('!min' => '' . $min . '')). '
    '; } elseif ($max) { $info[] = '
    '. t('Images must be smaller than !max pixels.', array('!max' => '' . $max . '')). '
    '; } */ if (isset($state_data)) { $default_values = $state_data; } else { if (isset($items)) { $default_values = $items; } else { $default_values = array(); } } $images = array( '#type' => 'bf_upload', '#default_value' => $default_values, '#info' => $info ); // Allowed file types(extensions) needs to be set here $ext = new stdClass(); $ext->title = 'Allowed extensions'; // This won't show up anywhere so no t() $ext->extensions = (isset($instance['settings']['file_extensions']) && !empty($instance['settings']['file_extensions'])) ? strtr($instance['settings']['file_extensions'], ' ', ',') : 'jpg,png,gif'; $images['#bf_upload_override']['filters'] = array($ext); // Maximal file size if (isset($instance['settings']['max_filesize']) && !empty($instance['settings']['max_filesize'])) { $images['#bf_upload_override']['max_file_size'] = $instance['settings']['max_filesize']; } // URL callback for Plupload library has to be altered so we can get instance ID for later validation $images['#bf_upload_override']['url'] = url('bf_upload/' . $instance['id'], array( 'query' => array( 'bf_upload_token' => drupal_get_token('bf_upload-handle-uploads') ) )); $images['#bf_upload_override']['image_style'] = isset($instance['widget']['settings']['image_style']) ? $instance['widget']['settings']['image_style'] : 'thumbnail'; $images['#bf_upload_override']['alt_field'] = (int)$instance['settings']['alt_field']; $images['#bf_upload_override']['title_field'] = (int)$instance['settings']['title_field']; $images['#bf_upload_override']['description_field'] = (int)$instance['settings']['description_field']; // We set the maximum files user can upload $images['#bf_upload_override']['max_files'] = (int)$field['cardinality']; $element += $images; return $element; } true, '#title' => null, '#process' => array('bf_upload_process_element'), '#value_callback' => 'bf_upload_value_element', '#element_validate' => array('bf_upload_validate_element'), '#pre_render' => array('bf_upload_pre_render_element'), '#default_value' => null, '#required' => false, '#autocomplete_path' => false, '#theme_wrappers' => array('form_element'), '#theme' => 'bf_upload_uploader', '#upload_location' => null, '#info' => array(), '#attached' => array('library' => array(array('bf_upload', 'plupload'))), '#bf_upload' => array( 'container' => 'bf_upload-container', 'browse_button' => 'bf_upload-select', 'upload' => 'bf_upload-upload', 'runtimes' => 'html5,gears,flash,silverlight,browserplus,html4', 'max_file_size' => '512MB', 'chunk_size' => '2048K', 'url' => url('bf_upload', array( 'query' => array( 'bf_upload_token' => drupal_get_token('bf_upload-handle-uploads') ) ) ), 'filters' => array(), 'unique_names' => false, 'flash_swf_url' => base_path() . $plupload. '/js/plupload.flash.swf', 'silverlight_xap_url' => base_path() . $plupload. '/js/plupload.silverlight.xap', 'drop_element' => 'bf_upload-filelist', 'multipart' => true, 'dragdrop' => true, 'multiple_queues' => true, 'urlstream_upload' => false, 'image_style' => 'thumbnail', 'image_style_path' => '', 'max_files' => -1, ), '#bf_upload_override' => array() ); return $types; } /** * Value callback needed for removing all items. */ function bf_upload_value_element(&$element, $input = false, $form_state = null) { // Default state - no new data if ($input === false) { return null; } // Field was emptied - user deleted all files if (is_null($input)) { return array(array('fid' => 0)); } // Field has new data return $input; } /** * Process callback to set JS settings before Plupload init. */ function bf_upload_process_element($element, &$form_state, $form) { $rand = mt_rand(1,1000); $element['#bf_upload']['browse_button'] .= $rand; $element['#bf_upload']['container'] .= $rand; $element['#bf_upload']['upload'] .= $rand; $element['#default_value'] = isset($element['#value']) ? $element['#value'] : $element['#default_value']; $element['#bf_upload']['name'] = $element['#name']; $element['#bf_upload'] = array_merge($element['#bf_upload'], $element['#bf_upload_override']); $files = file_stream_wrapper_get_instance_by_scheme('public')->getDirectoryPath(); $element['#bf_upload']['image_style_path'] = base_path() . $files . '/styles/' . $element['#bf_upload']['image_style']. '/'; $element['#attached']['js'][] = array( 'data' => array( 'bf_upload' => array($element['#bf_upload']) ), 'type' => 'setting', ); return $element; } /** * Pre-render callback to load existing items. */ function bf_upload_pre_render_element($element) { if (isset($element['#default_value']) && !empty($element['#default_value'])) { foreach ($element['#default_value'] as $delta => $item) { $element['#default_value'][$delta] = array_merge($item, (array)file_load($item['fid'])); } } return $element; } /** * Element validation callback. */ function bf_upload_validate_element($element, &$form_state, $form) { if ($element['#required'] == true && $element['#value'][0]['fid'] == 0) { form_error($element, t("@field field is required.", array('@field' => $element['#title']))); } $cardinality = isset($element['#bf_upload_override']['max_files']) ? $element['#bf_upload_override']['max_files'] : $element['#bf_upload']['max_files']; if ($cardinality > 0 && count($element['#value']) > $cardinality) { form_error($element, t("Only !num items are allowed.", array('!num' => $cardinality))); } } Tájékoztató 2019 | allasborze

    Tájékoztató 2019

    Tisztelt Kiállító!
     

    Köszöntjük a Szent István Egyetem Állásbörzéjének honlapján. Állásbörzénk célja, hogy hallgatóinknak és a térség lakosságának, valamint az őket alkalmazni kívánó cégeknek lehetőséget teremtsünk a találkozásra, kapcsolatfelvételre.

    A kiállítói jelentkezési határidő: 2019. március 1. 23:59:59

    Reméljük a kiállítóként való részvétel kedvező feltételei hozzájárulnak ahhoz, hogy idén az Önök cégét is kiállítóink között üdvözölhetjük!


    IDŐPONT: 2019. április 10. (szerda) 10:00-15:00

    HELYSZÍN: Szent István Egyetem Aula, Gödöllő

    KÍSÉRŐ RENDEZVÉNYEK: Felkészítő Napok, Kooperatív Szakmai Gyakorlati Börze


    EGYSÉGSTAND

    Az Állásbörzén kiállítóhelyeket 26.990 Ft/m2 + ÁFA áron bérelhetnek.

    Az egységstand alapfelszereltségének ára a következőket foglalja magában*:

    • a kiállító terület és a stand bérleti díja
    • 1 db nyitott információs pult és 2 db szék
    • standfelirat elkészítése, kihelyezése színes logóval együtt
    • 1-4 db spotlámpa (választott m2 függvényében)
    • 1 db elektromos hálózati csatlakozás (220 V) a standhoz (hármas elosztóval)
    • szőnyegezés (új)
    • internet (WIFI) (a kapcsolat minőségére, adatátviteli sebességére garanciát nem vállalunk)
    • ingyenes parkolási lehetőség
    • 2-4 fő  részére (választott m2 függvényében) korlátlan büfé étkezés
    • a kiállítás 1000 példányban megjelenő programfüzet kiadványában 1/1 oldalas megjelenés (rövid céges bemutatkozás, logó, állásajánlatok a mellékelt „Börze programfüzet kiadvány adatlap” alapján)

    *További berendezési tárgyak (kisasztal, zárható pult, TV állvány, álló fogas) és szolgáltatások rendelhetők.

    Stand látványterv/minta:

        
         

    Kiállítói terület bérleti díja stand elemek és építés nélkül: 22.500 Ft/m2 + ÁFA, amely szintén magában foglalja az internet elérést, az ingyenes parkolási lehetőséget, a bérelt m2-től függő ebédeket, illetve a kiadványban való megjelenést.
    Saját stand építésének időpontja: 2019. április 9. 12:00-16:00


    RENDEZVÉNY NYITVATARTÁSA

    Tájékoztatjuk Önöket hogy 2019. április 10-én 8:30-9:30-ig foglalhatóak el a kiállítói standok.
    Az Állásbörze a látogatók számára 10:00 - 15:00 óráig tart nyitva.
    Kérjük, szíveskedjenek standjukon a kiállítás végéig (15 óráig) személyzetet biztosítani!


    KEDVEZMÉNYES JELENTKEZÉS

    • Az Állásbörzével egy időben kerül megrendezésre a Gépészmérnöki Kar Kooperatív Szakmai Börzéje is. A két rendezvény egy napon, egymás melletti helyszínen, de külön programmal és szervezéssel kerül lebonyolításra. A Kooperatív Szakmai Gyakrolati Börzén is kiállító cégeknek az Állásbörze megrendelésük végösszegéből 5% kedvezményt biztosítunk.
      A Kooperatív Kiállítás szervezőinél pedig szintén 5% kedvezmény érvényesítésére jogosultak azok, akik a 2018-as Állásbörzén is kiállítanak.
       
    • Gödöllői Kistérségi Foglalkoztatási Paktumtagoknak megrendelésük végösszegéből 10% kedvezményt biztosítunk.
    • Korai jelentkezési kedvezmény megrendelésük végösszegéből 15% kedvezményt biztosítunk 2019.02.24 23:59:59-ig.

    A kedvezmények nem összevonhatóak.


    HIRDETÉSI LEHETŐSÉGEK (standdal nem rendelkező cégeknek is)

     

    Börze Programfüzet Kiadvány (A5) hirdetések:

    • Hirdetés 1/4 méretben (belső oldalak - 74*148 mm): 8.750Ft/db + ÁFA
    • Hirdetés 1/2 méretben (belső oldalak – fekvő vagy álló
      148*105 mm vagy 105 * 148 mm): 16.500 Ft/db + ÁFA
    • Hirdetés 1/1 méretben (belső oldalak  - 148*210 mm): 30.000 Ft/db + ÁFA
    • Hirdetés 1/1 méretben (B4: borító külső – hátsó)*: 135.000 Ft/db + ÁFA

    *A programfüzet jellegéből adódóan ezt a hirdetést csak egy felületen tudjuk biztosítani, így a borítóoldal hirdetés megrendelése a beérkezés sorrendjében kerül elfogadásra!

    Programfüzet hirdetések leadási határideje: 2019. március 1.
    Korábbi kiadványainkat ezen a linken tekintheti meg.

     

     SZIE Egyetemi Újság:

    • Szalaghirdetés (184*26 mm): 5.000 Ft/db + ÁFA
    • Színes hirdetés 1/4 (92*124 mm): 20.000 Ft/db + ÁFA
    • Színes hirdetés 1/2 (184*124 mm vagy 92*248 mm): 30.000 Ft/db + ÁFA
    • Színes hirdetés 1/1 (tükör: 184x248 mm, kifutó: 210*297 mm): 40.000 Ft/db + ÁFA
    1. Hirdetések leadási határideje lapszámtól függően: 2019. március 11., 2019. április 8. illetve 2019. május 6.

     

    Reklámfilm kivetítése a rendezvény területén

    Az Aulában kihelyezett két kivetítő vásznon (263*165 cm) lehetőséget biztosítunk céges PR film, reklám vagy képes hirdetés megjelenítésére. A reklámfilmek folyamatosan kerülnek kivetítésre a rendezvény ideje alatt, párhuzamosan mind a két kivetítő ponton. A megküldött anyag maximális hossza 5 perc. A vetítésre hang nélkül kerül sor, így megrendelés esetén, kérjük ezt figyelembe venni!

    • Reklámfilm kivetítése: 30.000 Ft + ÁFA / 5 perces kisfilm

    Reklámfilm hirdetések leadási határideje: 2019. március 1.

    Szórólaposztás az Állásbörzén

    Kiállítóként jelentkező cégek , szórólap osztása a Börze területén és idején.

    Határidő: 2019. március 1.

    Facebook poszt

    Max. 1 perces kisfilm, fotó vagy szöveges hirdetés max. 500 karakter, 1 hétig a választott időintervallumban, 5000 Ft/hét ÁFA nélkül.

    Határidő: 2019. március 1.


    JELENTKEZÉS MENETE
     

    1. A Megrendelőlap a Megrendelőlap 2019 menüpontból letölthető Excel file, aminek kitöltésével megrendelheti a kiválasztott standot, a stand árába foglalt büfé étkezést és további kiegészítő felszereléseket, illetve hirdetési lehetőségeket.
       
    2. Kitöltés után a kész Megrendelőlapot a standfoglalás és a hirdetési lehetőségek véglegesítése céljából kérjük a szervezők számára elküldeni az allasborze@szie.hu e-mail címre, a tárgyban „MEGRENDELŐ” feltüntetésével.
       
    3. Az e-mailen beérkezett Megrendelőlapot a szervezők minden esetben ellenőrzik és amennyiben szükséges, a pontosítások érdekében (lefoglalható standok, hirdetési lehetőségek stb.) felveszik a céggel a kapcsolatot.
       
    4. A mindkét fél által elfogadott Megrendelőlapot egy „VISSZAIGAZOLT MEGRENDELŐ” tárgyú e-mailben a szervezők visszaküldik a Megrendelő részére.
       
    5. A VISSZAIGAZOLT Megrendelőlapot a Megrendelő cégszerűen aláírva, ajánlott levélként postázza a Szent István Egyetem, Tehetséggondozási és Karrier Iroda részére
      (2100 Gödöllő, Páter Károly u. 1.).
       
    6. A szerződés a felek között a Kiállító általi elektronikus Megrendelőlap elektronikus megküldésével, és a megküldés elfogadásáról a SZIE által küldött visszaigazolással jön létre. Kiállító a Megrendelőlapon semmilyen fenntartást vagy feltételt nem köthet ki. A szerződés létrejöttétől függetlenül a Kiállító az általa aláírt Megrendelőlapot köteles ajánlott levélként a SZIE Tehetséggondozási és Karrier Iroda (2100 Gödöllő, Páter Károly u. 1.) részére megküldeni (lásd: ÁSZF 2019).
    1. A Megrendelőlap a honlapon található Tájékoztatóban és az Általános Szerződési Feltételekben foglaltakkal együtt érvényes.

    HATÁRIDŐK

    • A kiállítói jelentkezési határidő: 2019. március 1. 23:59:59
    • Logó elküldésének határideje a programfüzet kiadványban való megjelenéshez és a frízfelirathoz:
      a megrendelő lappal együtt.
    • Megrendelt hirdetések elküldésének határideje: 2019. március 1.
    • SZIE Egyetemi Újság hirdetés leadási határideje a kiválasztott hónapban:
      2019. március 1., 2019. április 8 illetve 2019. május 6.
    • Saját – egyedi – stand építésének időpontja: 2019. április 9. 12:00-16:00 (Beköltözés a kiállítás napján!)
    • Állásbörze nyitva tartása: 2019. április 10 10:00-15:00
    • Kiállítói stand elfoglalásának időpontja: 2019. április 10. 8:30-9:30
    • Kiállítói standok elhagyásának időpontja: 2019. április 10. 15:00-17:00

    A megjelölt határidők figyelmen kívül hagyása esetén a szervezők nem vállalnak felelősséget a szolgáltatások teljesítéséért!


    Főbb hirdetési felületeink (a felsorolás nem teljes):

    • Neptun Egységes Tanulmányi Rendszer (Közel 14.000 aktív hallgatónkat a Neptun rendszeren küldött rendszeres hírleveleken keresztül érjük el.)
       
    • Nyomtatott sajtóban: HVG Karrier Plusz kiadvány, Gödöllői Szolgálat, Gödöllői Hírek, Napról Napra, Kistérség, Péceli Hírek, Szadai Újság, Vecsés Város Önkormányzat Lapja, Bagi Hírlap, Fóti Hírnök, Kerepesi Vélemény, Mogyoródi Krónika, Veresi Krónika, Kistarcsai Híradó, Hírnök Magazi, SZIE Egyetemi újság
       
    • Alumni rendszerben a végzett diákok körében.
       
    • Facebook oldalainkon és Facebook csoportokban.
    • SZIE Instagram oldalán
    • Bannerek, sajtóhírek és kreatív hirdetések jelennek meg az egyetem összes karának honlapján, a Tehetséggondozási és Karrier Iroda honlapján és faliújságokon, az egyetemi Alumni portálon, illetve együttműködő partnereink honlapjain.
    • Szórólapokat és plakátokat helyezünk ki az érintett településeken (Gödöllő és Aszód 30 km-es körzetében).
       
    • Hivatalos levélben értesítjük a kistérség 33 településének polgármesterét, levelünkhöz szóróanyagot és plakátokat is mellékelünk.
      (Aszód, Bag, Csomád, Csömör, Dány, Domony, Erdőkertes, Galgahévíz, Galgamácsa, Hévízgyörk, Iklad, Isaszeg, Kartal, Kerepes, Kistarcsa, Nagytarcsa, Őrbottyán, Pécel, Szada, Tura, Vácegres, Váckisújfalu, Vácrátót, Vácszentlászló, Valkó, Veresegyház, Verseg, Zsámbok, Gödöllő, Hatvan, Dunakeszi, Fót, Mogyoród)
    • Szoros együttműködésben állunk a térségi Foglalkoztatási Osztállyal (Munkaügyi Központ), akik összes regisztrált álláskeresőjüket értesítik a rendezvényről.

    ÁLTALÁNOS SZERZŐDÉSI FELTÉTELEK

    A jelentkezés, a részvétel és a lemondás feltételeit a SZIE Állásbörze 2019 Általános Szerződési Feltételek (ÁSZF) dokumentum tartalmazza, melyet ezen a linken tekinthet meg.


    ELÉRHETŐSÉG
     

    Szent István Egyetem Állásbörze 
    szervező csapat
    2100 Gödöllő, Páter Károly u. 1.
    Telefon:+36 (28) 522-058
    +36 (30) 497-7952
    H-CS: 9:00-16:00
    P: 9:00-14:00

    Fax: +36 (28) 522-058
    E-mail: allasborze@szie.hu
    Honlap: allasborze.szie.hu

    Kérdéseikkel forduljanak hozzánk bizalommal!