public function action_changeShort() { echo 'test2'; return; $member = \MemberQuery::create()->findOneById(1); $con = \Propel::getConnection(); if (!$con->beginTransaction()) { throw new \Exception('Could not begin transaction'); } try { $transfer = \TransferQuery::create()->findOneById(1); if (!$transfer) { $transfer = new \Transfer(); $transfer->setMemberId($member->getId()); $transfer->save($con); $transfer = \TransferQuery::create()->findOneById(1); } $transfer->setAmount($transfer->getAmount() + 2); $transfer->save($con); if (!$con->commit()) { throw new \Exception('Could not commit transaction'); } } catch (\Exception $e) { $con->rollBack(); throw $e; } print_r('<pre>'); print_r($transfer->toArray()); print_r('</pre>'); }
/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. * @param integer $aid Allotment ID * @param integer $tid Transfer ID */ public function actionCreate($aid, $tid) { if (Yii::app()->user->checkAccess($this->id . '.' . $this->action->id)) { $model = new Transfer(); $model->transfer_date = date(Yii::app()->user->getDateFormat(false), time()); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Transfer'])) { $model->attributes = $_POST['Transfer']; $model->allotment_id = $aid; if (!is_null($tid)) { $model->transfer_id = $tid; } if ($model->save()) { $this->redirect(Yii::app()->user->returnUrl); } } $this->render('create', array('model' => $model)); } else { $this->accessDenied(); } }
protected function renderContent() { //Get some pre value from URL //The type of the content we want to create $type = isset($_GET['type']) ? strtolower(trim($_GET['type'])) : ''; //If it has guid, it means this is a translated version $guid = isset($_GET['guid']) ? strtolower(trim($_GET['guid'])) : ''; //Get the list of Content Type $types = GxcHelpers::getAvailableContentType(); //List of language that should exclude not to translate $lang_exclude = array(); //List of translated versions $versions = array(); //Available Terms for this Object Type $terms = array(); //Selected Terms $selected_terms = array(); //Get Term Order $term_orders = ConstantDefine::getTermOrder(); //If $type is empty then redirect to choose content type page if ($type != '') { //Check if the type appear in content type Definition if (array_key_exists($type, $types)) { // If the guid is not empty, it means we are creating a translated version of a content // We will exclude the translated language and include the name of the translated content to $versions if ($guid != '') { $temp_object = Object::model()->findAll('guid=:gid', array(':gid' => $guid)); if (count($temp_object) > 0) { foreach ($temp_object as $obj) { $lang_exclude[] = $obj->lang; $langs = GxcHelpers::getAvailableLanguages(); $versions[] = $obj->object_name . ' - ' . $langs[$obj->lang]['name']; } } } //Import the Content Type Class Yii::import('common.content_type.' . $type . '.' . $types[$type]['class']); //Init the class $typeClassObj = new $types[$type]['class'](); $content_resources = $typeClassObj->Resources(); //We start to implement the checking Permission HERE $param_content_check = array(); $data_content_check = array(); $param_content_check['type'] = $type; if (GxcContentPermission::checkCreatePermission($param_content_check, $data_content_check, $typeClassObj->Permissions())) { $param_content_check['new_content'] = true; $content_status = GxcContentPermission::getContentStatus($param_content_check, $data_content_check, $typeClassObj->Permissions()); $model = new $types[$type]['class'](); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); $model->object_date = date('Y-m-d H:i:s'); $model->person = ''; $model->guid = $guid; $get_languages = GxcHelpers::loadLanguageItems($lang_exclude); $available_languages = array(); foreach ($get_languages as $key => $value) { $available_languages[] = $key; } //Get available Taxonomy and Terms for this Object $available_taxonomy = Taxonomy::model()->findAll(' type = :type AND lang IN (' . implode(',', $available_languages) . ') ', array(':type' => $type)); if ($available_taxonomy) { foreach ($available_taxonomy as $t) { $temp = array(); $temp['id'] = $t->taxonomy_id; $temp['lang'] = $t->lang; $temp['name'] = $t->name; $temp['terms'] = array(); //Look for the Term Items belong to this Taxonomy $list_terms = Term::model()->findAll(array('select' => '*', 'condition' => 'taxonomy_id=:id', 'order' => 't.parent ASC, t.order ASC', 'params' => array(':id' => $t->taxonomy_id))); if ($list_terms) { foreach ($list_terms as $term) { $temp_item['id'] = $term->term_id; $temp_item['name'] = CHtml::encode($term->name); $temp_item['parent'] = $term->parent; $temp['terms']['item_' . $term->term_id] = $temp_item; } } $terms[$t->taxonomy_id] = $temp; } } if (isset($_POST[$types[$type]['class']])) { $model->attributes = $_POST[$types[$type]['class']]; //Convert the date time publish to timestamp $model->object_date = strtotime($model->object_date); $model->object_date_gmt = local_to_gmt($model->object_date); //Check which button the User click To Send to person or group $button = $_POST['which_button']; $trans = new Transfer(); // Get the Terms that the User Choose // $post_terms = isset($_POST['terms']) ? $_POST['terms'] : array(); $selected_terms = array(); if (!empty($post_terms)) { foreach ($post_terms as $t) { $t = explode('_', $t); if (!isset($selected_terms[$t[1]])) { $selected_temp = array(); $selected_temp['id'] = $terms[$t[1]]['id']; $selected_temp['lang'] = $terms[$t[1]]['lang']; $selected_temp['name'] = $terms[$t[1]]['name']; $selected_temp['terms']['item_' . $t[0]]['id'] = $t[0]; $selected_temp['terms']['item_' . $t[0]]['name'] = $terms[$t[1]]['terms']['item_' . $t[0]]['name']; $selected_temp['terms']['item_' . $t[0]]['parent'] = $terms[$t[1]]['terms']['item_' . $t[0]]['parent']; $selected_temp['terms']['item_' . $t[0]]['data'] = $t[2]; $selected_temp['terms']['item_' . $t[0]]['data_name'] = $term_orders[$t[2]]; $selected_terms[$t[1]] = $selected_temp; } else { if (!isset($selected_terms['terms']['item_' . $t[0]])) { $selected_terms[$t[1]]['terms']['item_' . $t[0]]['id'] = $t[0]; $selected_terms[$t[1]]['terms']['item_' . $t[0]]['name'] = $terms[$t[1]]['terms']['item_' . $t[0]]['name']; $selected_terms[$t[1]]['terms']['item_' . $t[0]]['parent'] = $terms[$t[1]]['terms']['item_' . $t[0]]['parent']; $selected_terms[$t[1]]['terms']['item_' . $t[0]]['data'] = $t[2]; $selected_terms[$t[1]]['terms']['item_' . $t[0]]['data_name'] = $term_orders[$t[2]]; } } } } // After having the selected Terms, we need to make sure all parents // of the selected Terms must be added also foreach ($selected_terms as $tx_key => $t) { $array_parent_selected_terms = array(); foreach ($t['terms'] as $key => $st_terms) { $current_term = $st_terms; while ($current_term['parent'] != 0) { if (!isset($array_parent_selected_terms['item_' . $current_term['parent']]) && !isset($t['terms']['item_' . $current_term['parent']])) { $array_parent_selected_terms['item_' . $current_term['parent']] = $terms[$tx_key]['terms']['item_' . $current_term['parent']]; $array_parent_selected_terms['item_' . $current_term['parent']]['data'] = key($term_orders); $array_parent_selected_terms['item_' . $current_term['parent']]['data_name'] = $term_orders[key($term_orders)]; } $current_term = $terms[$tx_key]['terms']['item_' . $current_term['parent']]; } } $selected_terms[$tx_key]['terms'] = CMap::mergeArray($t['terms'], $array_parent_selected_terms); } //Re-Set the Status based on what User Chooose //The content is sent to ROLES OR STATUS if ($button == '1') { //Check if the object_status is number or character if (!is_numeric($model->object_status)) { //Set the status to Pending $trans->note = $model->object_status; $model->object_status = ConstantDefine::OBJECT_STATUS_PENDING; $trans->type = ConstantDefine::TRANS_ROLE; $trans->after_status = ConstantDefine::OBJECT_STATUS_PENDING; } else { $trans->type = ConstantDefine::TRANS_STATUS; $trans->after_status = $model->object_status; } $trans->from_user_id = user()->id; $trans->to_user_id = 0; $trans->before_status = ConstantDefine::OBJECT_STATUS_DRAFT; } //The content is sent to PERSON DIRECTLY if ($button == '2') { $to_user_id = User::findPeople($model->person); //Start to Transfer to the user and set the status to Pending if ($to_user_id) { $model->object_status = ConstantDefine::OBJECT_STATUS_PENDING; $trans->from_user_id = user()->id; $trans->to_user_id = $to_user_id->user_id; $trans->type = ConstantDefine::TRANS_PERSON; $trans->before_status = ConstantDefine::OBJECT_STATUS_PENDING; $trans->after_status = ConstantDefine::OBJECT_STATUS_PENDING; } else { $model->addError('person', t('User not found')); } } //Work with Resource Binding $resource = array(); $resource_upload = array(); foreach ($content_resources as $res) { $resource_upload[] = GxcHelpers::getArrayResourceObjectBinding('resource_upload_' . $res['type']); } $i = 0; $count_resource = 0; foreach ($content_resources as $cres) { $j = 1; foreach ($resource_upload[$i] as $res_up) { $j++; $count_resource++; } $i++; } $model->total_number_resource = $count_resource; if ($model->save()) { user()->setFlash('success', t('cms', 'Create new Content Successfully!')); $trans->object_id = $model->object_id; $trans->save(); // We have all the selected Terms for now // We will add them to Object Terms foreach ($selected_terms as $tx_key => $t) { foreach ($t['terms'] as $key => $st_terms) { $obj_term = new ObjectTerm(); $obj_term->object_id = $model->object_id; $obj_term->term_id = $st_terms['id']; $obj_term->data = $st_terms['data']; $obj_term->save(); unset($obj_term); } } //Update Resource Binding Here $i = 0; $count_resource = 0; foreach ($content_resources as $cres) { $j = 1; foreach ($resource_upload[$i] as $res_up) { $obj_res = new ObjectResource(); $obj_res->resource_id = $res_up['resid']; $obj_res->object_id = $model->object_id; $obj_res->description = ''; $obj_res->type = $cres['type']; $obj_res->resource_order = $j; $obj_res->save(); $j++; $count_resource++; } $i++; } //Re-init new Model $model = new $types[$type]['class'](); $model->object_date = date('Y-m-d H:i:s'); Yii::app()->controller->refresh(); } else { $model->object_date = date('Y-m-d H:i:s', $model->object_date); } } $render_template = 'cmswidgets.views.object.object_form_widget'; if (file_exists(Yii::getPathOfAlias('common.content_type.' . strtolower($type) . '.object_form_widget') . '.php')) { $render_template = 'common.content_type.' . strtolower($type) . '.object_form_widget'; } $this->render($render_template, array('model' => $model, 'versions' => $versions, 'lang_exclude' => $lang_exclude, 'content_status' => $content_status, 'terms' => $terms, 'selected_terms' => $selected_terms, 'type' => $type, 'content_resources' => $content_resources)); } } else { //The type is not in Content Type Definition $this->render('cmswidgets.views.object.object_start_widget', array('types' => $types)); } } else { //There is no Type in $_GET $this->render('cmswidgets.views.object.object_start_widget', array('types' => $types)); } }
protected function renderContent() { $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; $model = GxcHelpers::loadDetailModel('Object', $id); //We start to implement the checking Permission HERE $param_content_check = array(); $data_content_check = array(); $param_content_check['type'] = $model->object_type; $param_content_check['new_content'] = false; $param_content_check['content_status'] = $model->object_status; $param_content_check['content_author'] = $model->object_author; //Get current trans_to of the object $trans = Transfer::model()->findAll(array('condition' => ' object_id=:obj ', 'params' => array(':obj' => $model->object_id), 'order' => 'transfer_id DESC')); $param_content_check['check_trans_note'] = false; if ($trans != null && count($trans) > 0) { $latest_trans_to = $trans[0]; $param_content_check['trans_type'] = $latest_trans_to->type; $param_content_check['trans_to'] = $latest_trans_to->to_user_id; $param_content_check['trans_note'] = $latest_trans_to->note; } //Get Types list and type of the Object $types = GxcHelpers::getAvailableContentType(); $type = (string) $model->object_type; //Import the Content Type Class Yii::import('common.content_type.' . $type . '.' . $types[$type]['class']); $typeClassObj = new $types[$type]['class'](); $content_resources = $typeClassObj->Resources(); //Check if the User has the Permission to update the Content if (GxcContentPermission::checkUpdatePermission($param_content_check, $data_content_check, $typeClassObj->Permissions())) { //Convert the object date from timestamp to datetime format $model->object_date = date('Y-m-d H:i:s', $model->object_date); //Get available content Status that the Object can be sent to $content_status = GxcContentPermission::getContentStatus($param_content_check, $data_content_check, $typeClassObj->Permissions()); //If the Object is Pending and being sent to someone, get that person info if ($model->object_status == ConstantDefine::OBJECT_STATUS_PENDING) { if ($latest_trans_to->type == ConstantDefine::TRANS_PERSON) { $send_to_user = User::model()->findbyPk($latest_trans_to->to_user_id); if ($send_to_user == null) { $model->person = ''; } else { $model->person = trim($send_to_user->display_name); } } } //Unset value for Lang Exclude, Version and Guid when updating $lang_exclude = array(); $versions = array(); $guid = $model->guid; // Create new instance Object based on Object Type $object = new $types[$type]['class'](); $object->person = $model->person; $object->setAttributes($model->attributes, false); // Get Extra Info - Object Meta of the Object Type $object_metas = ObjectMeta::model()->findAll('meta_object_id = :obj ', array(':obj' => $model->object_id)); foreach ($object_metas as $object_meta) { $key = (string) $object_meta->meta_key; $object->{$key} = $object_meta->meta_value; } // This is not a new Record $object->isNewRecord = false; //Set current tags for Object $object->_oldTags = $object->tags; $object->scenario = 'updateWithTags'; //Available Terms for this Object Type $terms = array(); //Selected Terms $selected_terms = array(); //Get Term Order $term_orders = ConstantDefine::getTermOrder(); //Get available Taxonomy and Terms for this Object $available_taxonomy = Taxonomy::model()->findAll(' type = :type AND lang IN (' . $object->lang . ') ', array(':type' => $type)); if ($available_taxonomy) { foreach ($available_taxonomy as $t) { $temp = array(); $temp['id'] = $t->taxonomy_id; $temp['lang'] = $t->lang; $temp['name'] = $t->name; $temp['terms'] = array(); $selected_temp = array(); $selected_temp['id'] = $t->taxonomy_id; $selected_temp['lang'] = $t->lang; $selected_temp['name'] = $t->name; $selected_temp['terms'] = array(); //Look for the Term Items belong to this Taxonomy $list_terms = Term::model()->findAll(array('select' => '*', 'condition' => 'taxonomy_id=:id', 'order' => 't.parent ASC, t.order ASC', 'params' => array(':id' => $t->taxonomy_id))); if ($list_terms) { foreach ($list_terms as $term) { $temp_item['id'] = $term->term_id; $temp_item['name'] = CHtml::encode($term->name); $temp_item['parent'] = $term->parent; $temp['terms']['item_' . $term->term_id] = $temp_item; } } $terms[$t->taxonomy_id] = $temp; //Look for selected Terms belong to this Taxonomy $sl_terms = ObjectTerm::model()->findAll(array('select' => '*', 'condition' => 'object_id=:id', 'params' => array(':id' => $object->object_id))); if ($sl_terms) { foreach ($sl_terms as $sl_term) { if (isset($terms[$t->taxonomy_id]['terms']['item_' . $sl_term->term_id])) { $selected_temp['terms']['item_' . $sl_term->term_id] = $terms[$t->taxonomy_id]['terms']['item_' . $sl_term->term_id]; $selected_temp['terms']['item_' . $sl_term->term_id]['data'] = $sl_term->data; $selected_temp['terms']['item_' . $sl_term->term_id]['data_name'] = $term_orders[$sl_term->data]; } } } $selected_terms[$t->taxonomy_id] = $selected_temp; } } //IF having the Post Method - Start to working to save it if (isset($_POST[$types[$type]['class']])) { $object->attributes = $_POST[$types[$type]['class']]; //Convert the date time publish to timestamp $object->object_date = strtotime($object->object_date); $object->object_date_gmt = local_to_gmt($object->object_date); //Check which button the User click To Send to person or group $button = $_POST['which_button']; $trans = new Transfer(); // Get the Terms that the User Choose $post_terms = isset($_POST['terms']) ? $_POST['terms'] : array(); $selected_terms = array(); if (!empty($post_terms)) { foreach ($post_terms as $t) { $t = explode('_', $t); if (!isset($selected_terms[$t[1]])) { $selected_temp = array(); $selected_temp['id'] = $terms[$t[1]]['id']; $selected_temp['lang'] = $terms[$t[1]]['lang']; $selected_temp['name'] = $terms[$t[1]]['name']; $selected_temp['terms']['item_' . $t[0]]['id'] = $t[0]; $selected_temp['terms']['item_' . $t[0]]['name'] = $terms[$t[1]]['terms']['item_' . $t[0]]['name']; $selected_temp['terms']['item_' . $t[0]]['parent'] = $terms[$t[1]]['terms']['item_' . $t[0]]['parent']; $selected_temp['terms']['item_' . $t[0]]['data'] = $t[2]; $selected_temp['terms']['item_' . $t[0]]['data_name'] = $term_orders[$t[2]]; $selected_terms[$t[1]] = $selected_temp; } else { if (!isset($selected_terms['terms']['item_' . $t[0]])) { $selected_terms[$t[1]]['terms']['item_' . $t[0]]['id'] = $t[0]; $selected_terms[$t[1]]['terms']['item_' . $t[0]]['name'] = $terms[$t[1]]['terms']['item_' . $t[0]]['name']; $selected_terms[$t[1]]['terms']['item_' . $t[0]]['parent'] = $terms[$t[1]]['terms']['item_' . $t[0]]['parent']; $selected_terms[$t[1]]['terms']['item_' . $t[0]]['data'] = $t[2]; $selected_terms[$t[1]]['terms']['item_' . $t[0]]['data_name'] = $term_orders[$t[2]]; } } } } // After having the selected Terms, we need to make sure all parents // of the selected Terms must be added also foreach ($selected_terms as $tx_key => $t) { $array_parent_selected_terms = array(); foreach ($t['terms'] as $key => $st_terms) { $current_term = $st_terms; while ($current_term['parent'] != 0) { if (!isset($array_parent_selected_terms['item_' . $current_term['parent']]) && !isset($t['terms']['item_' . $current_term['parent']])) { $array_parent_selected_terms['item_' . $current_term['parent']] = $terms[$tx_key]['terms']['item_' . $current_term['parent']]; $array_parent_selected_terms['item_' . $current_term['parent']]['data'] = key($term_orders); $array_parent_selected_terms['item_' . $current_term['parent']]['data_name'] = $term_orders[key($term_orders)]; } $current_term = $terms[$tx_key]['terms']['item_' . $current_term['parent']]; } } $selected_terms[$tx_key]['terms'] = CMap::mergeArray($t['terms'], $array_parent_selected_terms); } //Re-Set the Status based on what User Chooose //The content is sent to ROLES OR STATUS if ($button == '1') { //Check if the object_status is number or character if (!is_numeric($object->object_status)) { //Set the status to Pending $trans->note = $object->object_status; $object->object_status = ConstantDefine::OBJECT_STATUS_PENDING; $trans->type = ConstantDefine::TRANS_ROLE; $trans->after_status = ConstantDefine::OBJECT_STATUS_PENDING; } else { $trans->type = ConstantDefine::TRANS_STATUS; $trans->after_status = $object->object_status; } $trans->from_user_id = user()->id; $trans->to_user_id = 0; $trans->before_status = ConstantDefine::OBJECT_STATUS_DRAFT; } //The content is sent to PERSON DIRECTLY if ($button == '2') { $to_user_id = User::findPeople($object->person); //Start to Transfer to the user and set the status to Pending if ($to_user_id) { $object->object_status = ConstantDefine::OBJECT_STATUS_PENDING; $trans->from_user_id = user()->id; $trans->to_user_id = $to_user_id->user_id; $trans->type = ConstantDefine::TRANS_PERSON; $trans->before_status = ConstantDefine::OBJECT_STATUS_PENDING; $trans->after_status = ConstantDefine::OBJECT_STATUS_PENDING; } else { $object->addError('person', t('User not found')); } } //Work with Resource Binding $resource = array(); $resource_upload = array(); foreach ($content_resources as $res) { $resource_upload[] = GxcHelpers::getArrayResourceObjectBinding('resource_upload_' . $res['type']); } $i = 0; $count_resource = 0; foreach ($content_resources as $cres) { $j = 1; foreach ($resource_upload[$i] as $res_up) { $j++; $count_resource++; } $i++; } $object->total_number_resource = $count_resource; if ($object->save()) { user()->setFlash('success', t('cms', 'Update content Successfully!')); $trans->object_id = $object->object_id; $trans->save(); //This is the update process, we should delete old //Object Term binding ObjectTerm::model()->deleteAll('object_id = :id', array(':id' => $object->object_id)); // We have all the selected Terms for now // We will add them to Object Terms foreach ($selected_terms as $tx_key => $t) { foreach ($t['terms'] as $key => $st_terms) { $obj_term = new ObjectTerm(); $obj_term->object_id = $object->object_id; $obj_term->term_id = $st_terms['id']; $obj_term->data = $st_terms['data']; $obj_term->save(); unset($obj_term); } } //Re update for Resource ObjectResource::model()->deleteAll('object_id = :id', array(':id' => $object->object_id)); $i = 0; $count_resource = 0; foreach ($content_resources as $cres) { $j = 1; foreach ($resource_upload[$i] as $res_up) { $obj_res = new ObjectResource(); $obj_res->resource_id = $res_up['resid']; $obj_res->object_id = $object->object_id; $obj_res->description = ''; $obj_res->type = $cres['type']; $obj_res->resource_order = $j; $obj_res->save(); $j++; $count_resource++; } $i++; } } $object->object_date = date('Y-m-d H:i:s', $object->object_date); } //Start Render the Form $render_template = 'cmswidgets.views.object.object_form_widget'; if (file_exists(Yii::getPathOfAlias('common.content_type.' . strtolower($type) . '.object_form_widget') . '.php')) { $render_template = 'common.content_type.' . strtolower($type) . '.object_form_widget'; } $this->render($render_template, array('model' => $object, 'versions' => $versions, 'lang_exclude' => $lang_exclude, 'content_status' => $content_status, 'terms' => $terms, 'selected_terms' => $selected_terms, 'type' => $type, 'content_resources' => $content_resources)); } }
public function doOldImport() { DB::delete('DELETE FROM `cache`'); // delete old data: foreach (Auth::user()->accounts()->get() as $acc) { $acc->delete(); } foreach (Auth::user()->budgets()->get() as $b) { $b->delete(); } foreach (Auth::user()->categories()->get() as $b) { $b->delete(); } foreach (Auth::user()->beneficiaries()->get() as $b) { $b->delete(); } foreach (Icon::get() as $icon) { $icon->delete(); } $data = file_get_contents('http://commondatastorage.googleapis.com/nder/import.json'); $json = json_decode($data); $map = array(); $map['accounts'] = array(); $map['icons'] = array(); // all accounts: foreach ($json->accounts as $account) { $newAccount = new Account(); $newAccount->name = Crypt::encrypt($account->name); $newAccount->balance = floatval($account->balance); $newAccount->fireflyuser_id = Auth::user()->id; $newAccount->date = $account->date; $newAccount->save(); $map['accounts'][$account->id] = $newAccount->id; } // all icons: foreach ($json->icons as $icon) { $newIcon = new Icon(); $newIcon->file = $icon->file; $newIcon->save(); $map['icons'][intval($icon->id)] = $newIcon->id; } // all beneficiaries: foreach ($json->beneficiaries as $ben) { $nb = new Beneficiary(); $nb->fireflyuser_id = Auth::user()->id; $nb->name = Crypt::encrypt($ben->name); $nb->save(); $map['beneficiaries'][$ben->id] = $nb->id; } // all budgets foreach ($json->budgets as $bd) { $nbg = new Budget(); $nbg->fireflyuser_id = Auth::user()->id; $nbg->name = Crypt::encrypt($bd->name); $nbg->date = $bd->date; $nbg->amount = floatval($bd->amount); $nbg->save(); $map['budgets'][$bd->id] = $nbg->id; } // all categories: foreach ($json->categories as $c) { $nc = new Category(); $nc->fireflyuser_id = Auth::user()->id; $nc->icon_id = intval($map['icons'][intval($c->icon_id)]); $nc->name = Crypt::encrypt($c->name); $nc->showtrend = intval($c->showtrend); $nc->save(); $map['categories'][$c->id] = $nc->id; } foreach ($json->targets as $t) { $nt = new Target(); $nt->fireflyuser_id = Auth::user()->id; $nt->account_id = $map['accounts'][$t->account_id]; $nt->description = Crypt::encrypt($t->description); $nt->amount = floatval($t->amount); $nt->duedate = $t->duedate; $nt->startdate = $t->startdate; $nt->save(); $map['targets'][$t->id] = $nt->id; } foreach ($json->transactions as $t) { $nt = new Transaction(); $nt->fireflyuser_id = Auth::user()->id; $nt->account_id = $map['accounts'][$t->account_id]; $nt->budget_id = is_null($t->budget_id) ? NULL : intval($map['budgets'][$t->budget_id]); $nt->category_id = is_null($t->category_id) ? NULL : $map['categories'][$t->category_id]; $nt->beneficiary_id = is_null($t->beneficiary_id) ? NULL : $map['beneficiaries'][$t->beneficiary_id]; $nt->description = Crypt::encrypt($t->description); $nt->amount = floatval($t->amount); $nt->date = $t->date; $nt->onetime = intval($t->onetime); $nt->save(); $map['transactions'][$t->id] = $nt->id; } foreach ($json->transfers as $t) { $nt = new Transfer(); $nt->fireflyuser_id = Auth::user()->id; $nt->account_from = $map['accounts'][$t->account_from]; $nt->account_to = $map['accounts'][$t->account_to]; $nt->category_id = is_null($t->category_id) ? NULL : $map['categories'][$t->category_id]; $nt->budget_id = is_null($t->budget_id) ? NULL : intval($map['budgets'][$t->budget_id]); $nt->target_id = is_null($t->target_id) ? NULL : intval($map['targets'][$t->target_id]); $nt->description = Crypt::encrypt($t->description); $nt->amount = floatval($t->amount); $nt->date = $t->date; $nt->save(); $map['targets'][$t->id] = $nt->id; } // //var_dump($data); // create everything from this file. // we map the old id's to the new one to save problems. return 'Old data successfully imported.'; }
<?php echo 'test1'; include dirname(__FILE__) . '/bootstrap.php'; $member = \MemberQuery::create()->findOneById(1); $con = \Propel::getConnection(); if (!$con->beginTransaction()) { throw new \Exception('Could not begin transaction'); } try { $transfer = \TransferQuery::create()->findOneById(1); if (!$transfer) { $transfer = new \Transfer(); $transfer->setMemberId($member->getId()); $transfer->save($con); $transfer = \TransferQuery::create()->findOneById(1); } $transfer->setAmount($transfer->getAmount() + 2); $transfer->save($con); if (!$con->commit()) { throw new \Exception('Could not commit transaction'); } } catch (\Exception $e) { $con->rollBack(); throw $e; } print_r('<pre>'); print_r($transfer->toArray()); print_r('</pre>'); echo "\n CONSISTENCY 2\n";
public function newTransfer() { $transfer = new Transfer(); $transfer->amount = floatval(Input::get('amount')); $transfer->description = Input::get('description'); $transfer->fireflyuser_id = Auth::user()->id; $transfer->date = Input::get('date'); // account_from (special) if (!is_null(Input::get('account_from'))) { $account = Auth::user()->accounts()->find(Input::get('account_from')); if (!is_null($account)) { $transfer->account_from = $account->id; } } // account_to (special) if (!is_null(Input::get('account_to'))) { $account = Auth::user()->accounts()->find(Input::get('account_to')); if (!is_null($account)) { $transfer->account_to = $account->id; } } // category (special) if (strlen(Input::get('category')) > 0) { $categories = Auth::user()->categories()->get(); //->where('name','=',Input::get('category'))->first(); $category = null; foreach ($categories as $cat) { if (Crypt::decrypt($cat->name) == Input::get('category')) { $category = $cat; break; } } unset($cat, $categories); if (is_null($category)) { $category = new Category(); $category->fireflyuser_id = Auth::user()->id; $category->name = Input::get('category'); $category->showtrend = 0; $category->icon_id = Icon::first()->id; $validator = Validator::make($category->toArray(), Category::$rules); if ($validator->passes()) { $category->name = Crypt::encrypt($category->name); $category->save(); $transfer->category_id = $category->id; } } else { $transfer->category_id = $category->id; } } // budget (special) if (intval(Input::get('budget')) > 0) { $budget = Auth::user()->budgets()->find(intval(Input::get('budget'))); if (!is_null($budget)) { $transfer->budget_id = $budget->id; } } // target (special) if (strlen(Input::get('target')) > 0) { $targets = Auth::user()->targets()->get(); //->where('name','=',Input::get('category'))->first(); $target = null; foreach ($targets as $t) { if (Crypt::decrypt($t->description) == Input::get('target')) { $transfer->target_id = $t->id; break; } } unset($targets, $t); } $validator = Validator::make($transfer->toArray(), Transfer::$rules); $transfer->description = Crypt::encrypt($transfer->description); if ($validator->fails()) { return Redirect::to('/home/transfer/add')->withErrors($validator)->withInput(); } else { $transfer->save(); return Redirect::to('/home'); } }
public function doTransfer() { $trade_key = Input::get('trade_key'); $amount = Input::get('amount'); $wallet_id = Input::get('wallet_id'); $password = Input::get('password'); $wallet = Wallet::find($wallet_id); $balance = new Balance(); $user = Confide::user(); if (Hash::check($password, $user->password)) { $user_receive = User::where('trade_key', $trade_key)->first(); $amount_balance = $balance->getBalance($wallet->id); if (!isset($user_receive->username)) { return Redirect::to('user/transfer-coin/' . $wallet->id)->with('error', 'Sorry. The trade key not exist!'); } elseif ($user_receive->id == $user->id) { return Redirect::to('user/transfer-coin/' . $wallet->id)->with('error', 'Sorry. You can not referrer to yourself!'); } elseif ($amount_balance < $amount) { return Redirect::to('user/transfer-coin/' . $wallet->id)->with('error', 'Amount should be less than or equal to your balance.'); } else { if ($balance->takeMoney($amount, $wallet->id, $user->id)) { $balance->addMoney($amount, $wallet->id, $user_receive->id); $transfer_his = new Transfer(); $transfer_his->sender = $user->id; $transfer_his->receiver = $user_receive->id; $transfer_his->wallet_id = $wallet->id; $transfer_his->amount = $amount; $transfer_his->save(); return Redirect::to('user/transfer-coin/' . $wallet->id)->with('success', 'You sent to user "' . $user_receive->username . '" ' . $amount . ' ' . $wallet->getType($wallet->id) . '.'); } } } else { return Redirect::to('user/transfer-coin/' . $wallet->id)->with('error', "Password invalid."); } }
$newLoan->save(); } if (isset($_POST['insTo'])) { $newIns = new Insurance(); $newIns->set($_GET['id'], strtotime($_POST['insTo'])); $newIns->save(); } if (isset($_POST['visaTo'])) { $newVisa = new Visa(); $newVisa->set($_GET['id'], strtotime($_POST['visaTo'])); $newVisa->save(); } if (isset($_POST['transFrom'])) { $newTrans = new Transfer(); $newTrans->set($_GET['id'], $_POST['assoc'], strtotime($_POST['transFrom'])); $newTrans->save(); } $teams = Team::find_all(); $assocs = Assoc::find_all(); if ($player->category == 1) { $contracts = Contract::find_by_sql("SELECT * FROM contracts WHERE player={$player->id} ORDER BY date_of_reg ASC"); $insurances = Insurance::find_by_sql("SELECT * FROM insurances WHERE player={$player->id} ORDER BY added_on ASC"); $visas = Visa::find_by_sql("SELECT * FROM visas WHERE player={$player->id} ORDER BY added_on ASC"); $loans = Loan::find_by_sql("SELECT * FROM loans WHERE player={$player->id} ORDER BY start ASC"); $transfers = Transfer::find_by_sql("SELECT * FROM transfers WHERE player={$player->id} ORDER BY start ASC"); $contractTeam = $player->find_contract_team(); $currentTeam = $player->find_current_team(); $transTo = Assoc::find_by_sql("SELECT * FROM assocs WHERE id = (SELECT assoc FROM transfers WHERE player = {$_GET['id']} AND returned = 0)"); } } ?>