<?php

function _branche_expire_unpublish_branches($user, $abo_status ) {
#  dpm($user->uid);

  $view=views_get_view('expired_brances');
  $view->set_arguments(array($user->uid));
  $view->set_display('page_1'); // count of NOT expired branches
  $view->execute();
  $active_branches=count($view->result);

#  dpm($abo_status);
  $product_id=$abo_status[0]->field_field_product_id[0]['raw']['value'];
  switch ($product_id) {
    case 4:
      $max_branches=3;
      break;
    case 5:
      $max_branches=999999999;
      break;
    default:
      $max_branches=1;
  }

  if($active_branches > $max_branches) {
    for ($i=$max_branches; $i<$active_branches; $i++) {
      $node=node_load($view->result[$i]->nid);
#      dpm($i.' unpublish: '.$view->result[$i]->node_title);
#      dpm($node);
      $node->field_profil_verbergen[LANGUAGE_NONE][0]['value']=1;
      $node->field_branche_expired[LANGUAGE_NONE][0]['value']=1;
      node_save($node);
    }
  }

  // display disabled branches

}


function _branche_expire_republish_branches($user, $abo_status ) {

  $view=views_get_view('expired_brances');
  $view->set_arguments(array($user->uid));
  $view->set_display('page'); // count of expired branches
  $view->execute();
  dpm($view->result);
  $inactive_branches=count($view->result);

#  dpm($abo_status);
  $product_id=$abo_status[0]->field_field_product_id[0]['raw']['value'];
  switch ($product_id) {
    case 4:
      $max_branches=3;
      break;
    case 5:
      $max_branches=999999999;
      break;
    default:
      $max_branches=1;
  }

  $max_branches=2;

  if($active_branches < $max_branches) {
    for ($i=0; $i<$max_branches; $i++) {
      if(!($view->result[$i]->nid)) break;

      $node=node_load($view->result[$i]->nid);
#      dpm($i.' republish: '.$view->result[$i]->node_title);
#      dpm($node);
      $node->field_branche_expired[LANGUAGE_NONE][0]['value']=0;
      node_save($node);
    }
  }

  // display disabled branches

}




function branche_expire_form_node_form_alter(&$form, &$form_state, $form_id) {
  global $user;
  if($form_id=='branche_node_form') {

    if($user->uid <> 1 ) {
      $form['field_branche_expired']['#access']=FALSE;
    }
    if($form['field_branche_expired'][LANGUAGE_NONE]['#default_value']) {
      $form['field_profil_verbergen'][LANGUAGE_NONE]['#disabled']='disabled';
      $form['field_profil_verbergen'][LANGUAGE_NONE]['#description']=t('Dieses Profil ist aufgrund eines abgelaufenen Abos verborgen.');
    }



#    dpm($form);

  }
}


function branche_expire_node_update($node){
  if (isset($node->original->status) && $node->original->status == 0 && $node->type='token_paket' && $node->status == 1){
    $thisuser=user_load($node->uid);
    $abo_status=_inserate_abo_status($node->uid);
    dpm($abo_status);
    _branche_expire_republish_branches($thisuser, $abo_status );


    dpm('PUBLISH');
    dpm($node);
  }
}
