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))); } } Rólunk írták | allasborze

    Rólunk írták

     

     

    Pályairány kijelölése a Szent István Egyetem Állásbörzéjén

    Az állásbörzék csaknem másfél évtizede kapcsolódnak a magyarországi felsőoktatási rendszerhez. Az idei esztendőben sincs ez másképp, hiszen számos egyetem, így a Szent István Egyetem is, teret adott a munkaerő-piaci „egymásra találás” ezen formájának. A Szent István Egyetem (SZIE) Állásbörzéje 2019. április 10-én 10 órakor nyitotta meg kapuit Gödöllőn, ahol több mint félszáz kiállítóval és közel 800 állásajánlattal, számtalan gyakornoki lehetőséggel és különleges programokkal várták az érdeklődőket az egynapos rendezvényen. Az Állásbörzével egy időben került sor a Kooperatív Gyakorlati Szakmai Börzére.

    A munkaerő-piaci kereslet és kínálat egymásra találásának tökéletes helyszíne az Állásbörze, ahol a személyes találkozás keretében kiváló lehetőség nyílik a kiállítók, mint leendő munkáltatók számára, hogy kiválasszák a számukra megfelelő, képzett munkatársakat. Másfelől a rendezvény felkészíti az egyetemi hallgatókat, mint leendő munkavállalókat a diploma utáni elhelyezkedésre, a személyes kapcsolatfelvétel során pedig komplexebb képet kaphatnak a munkaerőpiacról. Multinacionális vállalatok, kis- és középvállalkozások, állami szervezetek, diákszövetkezetek és tanácsadó cégek várták ajánlataikkal az elhelyezkedni kívánó hallgatókat, valamint a Gödöllőről és a környező településekről érkező lakosokat, a munkahelyet váltani szándékozó munkavállalókat. A SZIE Állásbörzére így nem csak az egyetem hallgatóit várták, mivel olyan kiállítók is megjelennek, akik alap- vagy középfokú végzettségű munkavállalókat kerestek.

    A potenciális munkavállalók felkészülését számos személyre szabott, az álláskeresés során hasznosítható tanácsadás és program segítette, mint például önéletrajz-írási tanácsadás, magyar és idegen nyelvű próbainterjú, számítógéppel támogatott pályatanácsadás, pályaorientációs grafológia, CV-fotózás. Továbbá a kiállítók a sikeres álláskeresési technikák kulisszatitkaiba is beavatták a látogatókat szakmai előadásaikon keresztül.

    Az Állásbörzét megelőző Felkészítő Napok kiváló alkalmat jelentettek a hallgatók számára, hogy térítésmentes tanácsadásokon és előadásokon eredményesen készüljenek fel a munkakeresésre, a toborzási szituációkra, a pontosabb pályairányok kijelölésére.

     

    "Több mint 1400 látogató regisztrált a SZIE Állásbörzén

    Az eseményt dr. Tóth Tamás egyetemi tanár, oktatási rektorhelyettes és dr. Kiss Péter egyetemi tanár, a Folyamatmérnöki Intézet igazgatója nyitotta meg és köszöntötte a résztvevőket Lajkó Istvánné, a Tehetséggondozási és Karrieriroda megbízott vezetője is. A börzét felkeresték az egyetem és a karok vezetői is.

    Az eddigi legforgalmasabb SZIE Állásbörzén az érdeklődők személyre szabott, az álláskeresés során hasznosítható, az elhelyezkedést segítő tanácsadási, önismereti pályaorientációs programokon is részt vehettek. Volt önéletrajz-írási tanácsadás, magyar és idegen nyelvi próbainterjú, számítógéppel támogatott pályatanácsadás, pályaorientációs grafológia; a kiállítók a sikeres álláskeresési technikák kulisszatitkaiba is beavatták a látogatókat szakmai előadásaikkal. A regisztrált látogatók között óránként sorsoltak ajándékokat.

    Nagyon sok hallgatót vonzott az egyetem Zöld Út Nyelvvizsga központja is, mivel ma már a nyelvvizsga megléte alapvető feltétele a sikeres karriernek. Másrészt az egyetemen tanuló több száz külföldi hallgató közül is számosan érdeklődtek a standokon.

    Forrás: https://szie.hu/tobb-mint-1400-hallgato-regisztralt-szie-allasborzen


    "Telt ház a 10. SZIE Állásbörzén

    A Szent István Egyetem kitartó törekvése a hallgatók elhelyezkedésének, illetve gyakorlatszerzésének támogatására meghozta gyümölcsét. Az április 20-án tizedszer megrendezett SZIE Állásbörzén 64 kiállító több mint 800 lehetőséget kínált a gyakornoki pozícióktól az állásajánlatokig. Az utóbbi közel háromszorosa a múlt évinek és a kiállítók száma is szépen gyarapodott. A szervezés utolsó napjaiban már nem tudtak helyet biztosítani 6 kiállítónak, ezért a kiállítói tér növelése várható a jövő évben.

    A vállalatok, szervezetek ajánlatai mellett tanácsadásokon, munkaerőpiaci információkat nyújtó előadásokon vehetett részt az 1200 regisztrált látogató. A rendezvény résztvevői között a börze zárásakor értékes ajándékokat sorsoltak ki.

    A SZIE Állásbörzével együtt került sor a Gépészmérnöki Kar Kooperatív Szakmai Gyakorlati Börzéjére. A 15 éves képzési forma keretében az utolsó éves gépészhallgatók hazai és nemzetközi cégeknél végzik gyakorlatukat. aminek ideje alatt havi nettó 120 ezer forintot kapnak. Sokan az őket fogadó cégeknél írják diplomamunkájukat, majd ugyanott helyezkednek el."

    Forrás: 2016: https://szie.hu/telt-haz-10-szie-allasborzen


    "Állásbörze - tanácsadásokkal

    Több mint nyolcszázan, túlnyomórészt egyetemi hallgatók regisztráltak a Szent István Egyetem aulájában szerdán megrendezett állásbörzére, amin a múlt évit lényegesen meghaladó számú, 54 kiállító közel 300 álláslehetőségét ismerhették meg a résztvevők. Széles skálán képviseltette magát az autóipar az Auditól a Robert Boschig. A mezőgazdaság legjelentősebb reprezentánsa a Bonafarm Csoport volt. Megjelent az álIásvásáron az IBM, az Invitel, a Samsung is. A standokon alap- és középfokú álláshelyeket is ajánlottak.

    Az állások mellett többen hirdettek meg gyakorlati helyeket, továbbá diplomamunka témákat. Az érdeklődőket többféle, így például önéletrajz írási és pályaorientációs grafológiai tanácsadás segítette. Előadáson ismertették, hogy hogyan zajlik a kiválasztás folyamata egy nemzetközi nagyvállalatnál, továbbá mi a toborzás és kiválasztás szerepe a kis- és közepes vállalkozásoknál.

    Az Állásbörzét Tóth Tamás oktatási rektorhelyettes nyitotta meg. Elmondta, hogy az egyetem idén kettős jubileumot ünnepel; alapításának 15., az első önálló Magyar Agrártudományi Egyetem létrejöttének 75. évfordulójához érkezett. Kiemelte: a tapasztalatok szerint hétszer nagyobb az esélye annak, hogy valaki álláshoz jusson, ha személyes kapcsolatot tud felvenni az álláskeresés során, ezért is tartják fontosnak a börze rendszeres megrendezését...."(tovább a teljes cikkhez)

    Forrás 2015:https://szie.hu/allasborze_tanacsadasokkal_2015

     


    "...Kistérségi Állásbörze nagy lehetőségekkel!

    Közel 1000 regisztrált látogató, 200 álláslehetőség; számos szakmai gyakorlati hely és gyakornoki pozíció, több mint 40 kiállító a Szent István Egyetem 2014. évi Állásbörzéjének számszerű adatai. A felsoroltakon túl pedig számtalan kérdés, beszélgetés, tájékozódás, egyszóval kapcsolatépítés színtere volt tegnap az Aula és a Gépészmérnöki Kar folyosója.

    A regionális eseményt, a vele párhuzamosan zajló Kooperatív Szakmai Gyakorlat Börzével együtt dr. Tóth Tamás oktatási rektorhelyettes és dr. Kis Péter tanszékvezető nyitották meg. Megnyitó beszédükben kiemelték, hogy ebben az évben visszatérő partnereink mellet, új kiállítókat is üdvözölhettünk immár hagyománnyá vált rendezvényünkön.

    Ahogyan már megszokhattuk, a hallgatók előzetes felkészülését ebben az évben is számos program segítette.  A márciusi felkészítő napon a Karrier Iroda tanácsadásai mellett, lehetőségük volt a fiataloknak a Bosch - You Meet Industry felkészítő programon is kipróbálni az elhelyezkedéshez szükséges- szakmai tudásukon felüli- képességeiket.

    Az állásbörze ideje alatt a munkakeresés mellett ingyenes tanácsadásokon és az elhelyezkedést segítő előadásokon is részt vehettek az érdeklődők. Az évente visszatérő egyéni tanácsadások kínálatát 2014-ben az „Állásvadászat a szakember szemével” és a „Mondd Te kit választanál? - sikersztorik, tippek, trükkök a való életből” című előadások és az AVON ingyenes sminktanácsadása színesítette.

    A 13. alkalommal megrendezésre kerülő Kooperatív Szakmai Gyakorlat Börzén az Állásbörze lehetőségein felül, több mint 90 ajánlat várta egy éves gyakorlati idő eltöltésére a hallgatókat.
    A kooperatív képzés ideje alatt ösztöndíjban részesülnek diákjaink és sokan diplomadolgozatukat is az őket fogadó vállalatoknál készítik el. Érdekesség és egyben büszkeség is intézményünk számára az, hogy több..." (tovább a teljes cikkhez)

    Forrás 2014: https://szie.hu/kistersegi-allasborze-nagy-lehetosegekkel


    "...Kis lépés Önnek, nagy lépés a karrierjének!

    Gödöllőn, 2014. április 2-án rendezik meg a Szent István Egyetem Állásbörzéjét, ahol közel 200 álláslehetőség és több mint 40 kiállító várja az érdeklődőket. Helyi és térségi vállalkozások, valamint multinacionális cégek is képviseltetik magukat az eseményen.

    Az immár hagyománnyá vált Állásbörze nagy sikerre tekint vissza; az elmúlt években sokak karrierje indult a Szent István Egyetem rendezvényén.

    Nemcsak az egyetemi hallgatóknak, hanem a térség lakosainak is érdemes eljönni, hiszen a börze napján kínált tanácsadások és programok hozzájárulhatnak a sikeres elhelyezkedéshez.

    A rendezvényen alap- és középfokú végzettséggel rendelkezők is megtalálhatják számításukat, hiszen a kiállító cégek több pozíciót kínálnak nekik is.

    Grafológiai elemzés, önéletrajz-írási tanácsadás, magyar- és idegen nyelvű próbainterjú, elhelyezkedést segítő előadások és még sok más hasznos program várja az álláskeresőket.

    Az Állásbörzén való részvétel akkor is hasznos, ha jelenleg Ön nem álláskereső, hiszen számos olyan kapcsolatot építhet ki, amelyet karrierje során a későbbiekben kamatoztathat..." (tovább a teljes cikkhez)

    Forrás 2014: http://www.cvonline.hu/kis-lepes-onnek-nagy-lepes-a-karrierjenek/a.html


    "...Állásbörze - három az egyben

    Napjainkban, amikor a gazdaság helyzete nem ígér könnyű elhelyezkedési lehetőséget a legjobb eredményt elért hallgatónak sem, a munkaerőpiacot jelentős kínálattal ellátó egyetemeknek minden lehetőséget meg kell ragadniuk a végzősök elhelyezkedésének elősegítésére. Ezért is rendezi meg évente rendszeresen a Szent István Egyetem az állásbörzét. Az április 17-i rendezvényen, amit immár második éve tartottak a Gépészmérnöki Kar Kooperatív Gyakorlati Börzéjével együtt, közel 50 kiállító vett részt az ipar, a mezőgazdaság, a szolgáltatások és a közigazgatás területéről a közepes méretű vállalkozásoktól a legjelentősebb multinacionális cégek képviselőjéig.

    Dr. Beke János oktatási rektorhelyettes megnyitójában elmondta: a Szent István Egyetemnek helyzetéből, jelentőségéből adódóan kötelessége ilyen börzét rendezni, hiszen a Közép-Magyarországi Régió egyetlen olyan nagy intézménye, amely a fővárosban, Pest megyében és a régió határain túl is működik. Éppen ezért intézményünk gyorsan, hatékonyan, rugalmasan igyekszik oktatási kínálatával válaszolni a gazdaság igényeire.

    Rektorhelyettes úr rámutatott arra, hogy tartalmilag három börze zajlik egy napon, egy helyszínen. Az állást kereső végzősök mellett ugyanis ide várták azokat a fiatalokat is, akik még csak szakmai gyakorlati lehetőség után kutatnak – amiből később akár állás is lehet - valamint Gödöllő és térsége lakosságát is.

    Az „állásvásár” tehát az alap- és középfokú végzettséggel rendelkezőket is fogadta, abból a megfontolásból, hogy a munkaerőpiac minden szegmense fontos, különösen gazdasági válságban, amikor sokan külföldön keresnek munkalehetőséget.

    A SZIE Állásbörzén ingyenes szolgáltatások igénybevételével tudtak az érvényesüléshez ma már elengedhetetlen tapasztalatokat szerezni a látogatók. Többek között magyar és angol próbainterjúk, önéletrajzírás, pályaválasztási grafológia, számítógéppel támogatott pályaorientáció, próbanyelvvizsga lehetőség is színesítette a kínálatot... " (tovább a teljes cikkhez)

    Forrás, 2013: http://szie.hu/allasborze-harom-az-egyben

     


    „…Ahol széles a képzési paletta: Gödöllő és Miskolc

    A gödöllői Szent István Egyetemen évente több ezer szakember veszi át diplomáját. Széles képzési palettájuknak köszönhetően többek között állatorvosként, közgazdászként, környezetvédelmi, mezőgazdasági, gépész-, építészmérnökként, pedagógusként, diplomás ápolóként, egészségszervezőként végzett/végzős hallgatók is elérhetőek állásbörzéiken. A börzét szervező Központi Karrier és Alumni Iroda vezetője, Lajkó Istvánné arról tájékoztatta a HR Portált, hogy áprilisi rendezvényüket a lakosság körében is meghirdetik, ezért azokra a cégekre is számítanak, amelyek a frissdiplomások mellett alap-, középfokú végzettségű munkavállalók, szakmunkások, technikusok, valamint gyakornokok jelentkezését várják. Idén szintén újdonság, hogy az egyetem lehetőséget biztosít megyénként egy-egy standnál az egészségügyi és pedagógiai intézményeknek, hogy állásajánlataikkal térítésmentesen jelenjenek meg kiállítóként.

    Ebben az évben a Szent István Egyetem Gépészmérnöki Kara az Állásbörzével egy időben rendezi a Kooperatív Szakmai Gyakorlati Börzét is, amely kiváló lehetőséget biztosít a kar hallgatóinak a gyakorlati lehetőségek áttekintésére, a végzősöknek pedig a munkaerő-piaci elhelyezkedésre…”

    Forrás: 2012, Filius Ágnes, Egyetemi állásbörzék: sok ötlet, kevesebb üres pozíció
    http://www.hrportal.hu/hr/egyetemi-allasborzek-sok-otlet-kevesebb-ures-p...


    „Százharminc állásajánlat, több mint ezer látogató a SZIE Állásbörzén

    Több mint ezer látogatója volt a Szent István Egyetem aulájában november 17-én megtartott őszi állásbörzének, melyet az egyetem és a GAK Nonprofit Közhasznú Kft. közösen szervezett. A rendezvény harminckét kiállító cég részvételével az egyetem hallgatói mellett a térség lakosainak is szólt. A látogatókat több mint 130 állásajánlat várta.
    A munkáltatók egy helyen választhatták ki a megfelelő szakmai tapasztalattal rendelkező diplomásokat, szakmunkásokat, technikusokat, vagy akár az érettségivel rendelkező álláskeresőket. A hallgatók még késő délután is érdeklődtek a különböző felkészítések, tanácsadások iránt. Több cég szakmai gyakorlatra is keresett hallgatókat, és volt, amelyik lehetőséget ajánlott diplomamunka írására is.
    Az egyetem nem először adott otthont állásbörzének, de most először sikerült Gödöllőre vonzani a más településeken működő karok hallgatóit. Az állásbörze napját megelőzően több helyszínen hirdettek felkészítő délutánokat.
    Az állásbörzét dr. Solti László rektor nyitotta meg. A szakmai programban dr. Beke János rektorhelyettes a Szent István Egyetemet, mint multidiszciplináris egyetemi központot mutatta be a helyi foglalkoztatókkal való együttműködés tükrében…”

    Forrás: http://szie.hu/szazharminc-allasajanlat-tobb-mint-ezer-latogato-szie-all...

     

    Hallgatóink írták

    ”…Mindenkinek tudnám ajánlani az állásbörzét, mert itt közvetlen kapcsolatba lehet lépni a különböző cégek, vállalatok képviselőivel és részletes felvilágosítást kapatunk az adott munkával kapcsolatban.“

    „…Tapasztalataim szerint az állásbörze rendkívül szervezett, programokban dús, mégis áttekinthető volt…”

    ”…Szerintem egy szép, igényes és színvonalas kiállítást láthattunk, a szóró anyagok majd biztosan segítségemre lesznek, ha a pályakezdés szélén állok. Addig meg marad a diákmunka, ami ugyan nem annyira jövedelmező, de tapasztalatszerzésnek szerintem nagyon jó…“

    ”… Ez az állásbörze kiváló lehetőséget nyújtott az érdeklődni vágyó látogatóknak, hiszen itt mindenkinek lehetősége nyílt személyes kapcsolatot létesíteni a jelenlevő cégek képviselőivel. Véleményem szerint a program egyik fő célja volt, hogy a látogatóknak nem csupán cégek halmazát mutatták be, hanem, hogy itt, a Szent István Egyetemen mindenki megtalálhassa a számára megfelelő munkáltatót, vagyis domináns kritérium volt a széles látókörű szervezettség…”
     

    ”… pozitív tapasztalatokat szereztem és kicsit megnyugodtam, hogy ha majd nekem kell munkahelyet keresnem, lesz hova fordulnom segítségért és tanácsért, ugyanis ezen a rendezvényen nem csak cégek jelentek meg állásajánlatukkal, hanem különböző tanácsadásokon és előadásokon vehetett részt a látogató illetve kipróbálhatta magát…"

    „…Az álláskeresésez és a börzén való eligazodáshoz még erre az alkalomra készült külön kiadványok is segítséget nyújtottak, melyből még tanácsot is kapatunk, hogyan kell egy ilyen állásbörzén érdeklődni a cégek standjain. Ha jól tudom, nem ez volt az első, de nem is az utolsó állásbörze, melyet a Szent István Egyetem megrendezett, mert tényleg nagy segítséget nyújthat az álláskeresésben vagy akar egy továbbképzésre való jelentkezéshez is. Megnyugtató, hogy felkészítenek egy interjúra és tanács nélkül sem marad az ember, ha ide ellátogat.“