123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237 |
- <?php
- /**
- * materio_flag_refresh_block($flag)
- *
- */
- function materio_flag_refresh_block($flag){
- $rep = array();
- switch ($flag) {
- case 'bookmarks':
- $block_name = 'materio_flag_mybookmarks';
- break;
- case 'lists':
- $block_name = 'materio_flag_mylists';
- break;
- }
- if(!isset($block_name))
- return;
-
- // $block_content = module_invoke('block', 'block_view', 'materio_flag_mybookmarks');
- $block = block_load('materio_flag', $block_name);
- $block_content = _block_render_blocks(array($block));
- $build = _block_get_renderable_array($block_content);
- $block_rendered = drupal_render($build);
- $rep['block'] = $block_rendered;
- drupal_json_output($rep);
- }
- /**
- * materio_flag_createlist($type)
- *
- */
- function materio_flag_createlist_form($type){
- $debug = false;
- $path = 'flag-lists/add/' . $type;
- // check if request is ajax, if not rediret
- if (!$debug && (!isset($_SERVER['HTTP_X_REQUESTED_WITH']) || strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest')) {
- drupal_goto('flag-lists/add/' . $type);
- exit ;
- }
- // menu_set_active_item($path);
- // $return = menu_execute_active_handler($path, FALSE);
-
- // if (is_int($return)) {
- // switch ($return) {
- // case MENU_NOT_FOUND :
- // drupal_add_http_header('Status', '404 Not Found');
- // break;
- // case MENU_ACCESS_DENIED :
- // drupal_add_http_header('Status', '403 Forbidden');
- // break;
- // case MENU_SITE_OFFLINE :
- // drupal_add_http_header('Status', '503 Service unavailable');
- // break;
- // }
- // } elseif (isset($return)) {
-
- $form_state['build_info']['args'] = array(NULL, 'breve');
- // $f = drupal_get_form('flag_lists_form', $form_state);
- // dsm($f);
- $form = array(
- '#type' => 'form',
- '#id' => 'materio-flag-create-list-form',
- );
- $form['type'] = array(
- '#type' => 'hidden',
- '#value' => $type,
- '#name' => 'type',
- );
- $form['listname'] = array(
- '#type' => 'textfield',
- '#title' => t('Create new @name', array('@name'=>variable_get('flag_lists_name', 'list'))),
- '#default_value' => '',
- // '#size' => 100,
- '#maxlength' => 255,
- '#name' => 'flag-lists-name',
- '#description' => t('A short, descriptive title for this Folder list. Limit to 255 characters.'),
- );
- $form['actions'] = array(
- '#prefix' => '<div class="actions">',
- '#suffix' => '</div>',
- );
- $form['actions']['cancel'] = array(
- '#type' => 'button',
- '#value' => t('cancel'),
- '#name' => 'cancel',
- );
- $form['actions']['create'] = array(
- '#type' => 'submit',
- '#value' => t('create'),
- '#name' => 'create',
- );
-
- // dsm($form, 'form');
- $return = drupal_render($form);
- $rep = array(
- 'return'=>$return,
- );
-
- if ($debug) {
- dsm($rep, 'rep');
- return "debug display";
- }else{
- drupal_json_output($rep);
- }
- }
- function materio_flag_nodelinks(){
- $nids = explode(';', $_REQUEST['nids']);
- if(count($nids)){
- foreach ($nids as $nid) {
- $node = node_load($nid);
- $lks = materio_flag_get_entity_links($node, 'node');
- $links[$nid] = $lks;
- }
- $rep = array(
- "status" => 1,
- "nids" => $nids,
- 'links' => $links,
- );
- }else{
- $rep['status'] = 0;
- }
- drupal_json_output($rep);
- }
- function materio_flag_user_lists($fid){
- global $user;
- $flag = flag_lists_get_flag($fid);
- // dsm($flag, 'flag');
- drupal_set_title('<i class="icon-materio-folder"></i>'.check_plain($flag->title), PASS_THROUGH);
- $flaged_content = flag_lists_get_flagged_content($fid, $user->uid);
- // dsm($flaged_content, 'flaged_content');
- $viewmode = isset($user->data['materiosearchapi_viewmode']) ? $user->data['materiosearchapi_viewmode'] : variable_get('defaultviewmode', 'full');
- $limit = variable_get($viewmode.'_limite', '10');
- $offset = pager_find_page() * $limit;
- $count = count($flaged_content);
- $max = $offset+$limit > $count ? $count : $offset+$limit;
- for ($i=$offset; $i < $max; $i++) {
- if($flaged_content[$i]->entity_type == 'node'){
- $items[] = node_load($flaged_content[$i]->entity_id);
- }
- }
-
- $ret['#items'] = $items;
- $ret['#theme'] = 'materio_flag_mylists_list';
- $ret['#view_mode'] = $viewmode;
- $ret['#fid'] = $fid;
- $ret['#count'] = $count;
- $ret['#name'] = variable_get('flag_lists_name', 'list');
- $ret['#title'] = $flag->title;
- pager_default_initialize($count, $limit);
- $ret['#pager'] = theme('pager');
- return $ret;
- }
- function materio_flag_ajax_list($fid, $page = 0){
- $debug = false;
- $_GET['page'] = $page;
- $path = 'lists/'.$fid;
- // check if request is ajax, if not rediret to search_api_page page with right keys
- if (!$debug && (!isset($_SERVER['HTTP_X_REQUESTED_WITH']) || strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest')) {
- drupal_goto($path, array('query'=>array('page'=>$page)), 301);
- exit;
- }
- // get results
- menu_set_active_item($path);
- $return = menu_execute_active_handler($path, FALSE);
- // dsm($return, '$return');
-
- if (is_int($return)) {
- switch ($return) {
- case MENU_NOT_FOUND :
- drupal_add_http_header('Status', '404 Not Found');
- break;
- case MENU_ACCESS_DENIED :
- drupal_add_http_header('Status', '403 Forbidden');
- break;
- case MENU_SITE_OFFLINE :
- drupal_add_http_header('Status', '503 Service unavailable');
- break;
- }
- } elseif (isset($return)) {
- if (is_array($return)) {
- $return = drupal_render($return);
- }
-
- $rep = array(
- 'return' => $return,
- 'path' => $path,
- 'title' => drupal_get_title(),
- );
-
- if ($debug) {
- dsm($rep, 'rep');
- return "debug display";
- }else{
- drupal_json_output($rep);
- }
- }
- }
|