本文整理汇总了PHP中Model_Category::create_name方法的典型用法代码示例。如果您正苦于以下问题:PHP Model_Category::create_name方法的具体用法?PHP Model_Category::create_name怎么用?PHP Model_Category::create_name使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Model_Category
的用法示例。
在下文中一共展示了Model_Category::create_name方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: create_ad
/**
* creates an ad from a row of import
* @param class adsimport $adi
* @return boolean
*/
private function create_ad($adi)
{
//new advertisement
$ad = new Model_Ad();
//create user?
if ($adi->id_user == NULL or !is_numeric($adi->id_user)) {
//create the user
$user = Model_User::create_user($adi->user_email, $adi->user_name);
//check if in the table other users with same email set the id_user, then gets faster ;)
try {
DB::update('adsimport')->set(array('id_user' => $user->id_user))->where('user_email', '=', $adi->user_email)->execute();
} catch (Exception $e) {
}
//set id user to the new ad
$ad->id_user = $user->id_user;
} else {
$ad->id_user = $adi->id_user;
}
//create category?
if ($adi->id_category == NULL or !is_numeric($adi->id_category)) {
//create the category
$cat = Model_Category::create_name($adi->category);
//check if in the table other cats with same name set the id_category, then gets faster ;)
try {
DB::update('adsimport')->set(array('id_category' => $cat->id_category))->where('category', '=', $adi->category)->execute();
} catch (Exception $e) {
}
//set id user to the new ad
$ad->id_category = $cat->id_category;
} else {
$ad->id_category = $adi->id_category;
}
//create location?
if (isset($adi->location) and !empty($adi->location) and ($adi->id_location == NULL or !is_numeric($adi->id_location))) {
//create the location
$loc = Model_Location::create_name($adi->location);
//check if in the table other cats with same name set the id_location, then gets faster ;)
try {
DB::update('adsimport')->set(array('id_location' => $loc->id_location))->where('location', '=', $adi->location)->execute();
} catch (Exception $e) {
}
//set id user to the new ad
$ad->id_location = $loc->id_location;
} elseif (is_numeric($adi->id_location)) {
$ad->id_location = $adi->id_location;
}
$ad->title = $adi->title;
$ad->seotitle = $ad->gen_seo_title($adi->title);
$ad->description = Text::html2bb($adi->description);
$ad->published = $adi->date;
$ad->created = $adi->date;
$ad->price = $adi->price;
$ad->address = $adi->address;
$ad->phone = $adi->phone;
$ad->website = $adi->website;
$ad->status = Model_Ad::STATUS_PUBLISHED;
try {
$ad->save();
} catch (Exception $e) {
return FALSE;
}
//save images
if (($has_images = $this->process_images($ad, $adi)) > 0) {
$ad->has_images = $has_images;
try {
$ad->save();
} catch (Exception $e) {
return FALSE;
}
}
//mark it as done
try {
DB::update('adsimport')->set(array('processed' => 1))->where('id_import', '=', $adi->id_import)->execute();
return TRUE;
} catch (Exception $e) {
return FALSE;
}
}
示例2: action_import_tool
public function action_import_tool()
{
$this->template->title = __('Import tool for locations and categories');
Breadcrumbs::add(Breadcrumb::factory()->set_title($this->template->title));
//sending a CSV
if ($_POST) {
foreach ($_FILES as $file => $path) {
$csv = $path["tmp_name"];
$csv_2[] = $file;
if ($path['size'] > 1048576) {
Alert::set(Alert::ERROR, __('1 MB file'));
$this->redirect(Route::url('oc-panel', array('controller' => 'tools', 'action' => 'import_tool')));
}
if ($file == 'csv_file_categories' and $csv != FALSE) {
$expected_header = array('name', 'category_parent', 'price');
$cat_array = Core::csv_to_array($csv, $expected_header);
if (count($cat_array) > 10000) {
Alert::set(Alert::ERROR, __('limited to 10.000 at a time'));
$this->redirect(Route::url('oc-panel', array('controller' => 'tools', 'action' => 'import_tool')));
}
if ($cat_array === FALSE) {
Alert::set(Alert::ERROR, __('Something went wrong, please check format of the file! Remove single quotes or strange characters, in case you have any.'));
} else {
foreach ($cat_array as $cat) {
//category parent was sent?
if ($cat[1]) {
$category_parent = new Model_Category();
$category_parent->where('name', '=', $cat[1])->limit(1)->find();
if ($category_parent->loaded()) {
$cat[1] = $category_parent->id_category;
} else {
$cat[1] = 1;
}
} else {
$cat[1] = 1;
}
Model_Category::create_name($cat[0], 0, $cat[1], 0, $cat[2]);
}
Core::delete_cache();
Alert::set(Alert::SUCCESS, __('Categories successfully imported.'));
}
} elseif ($file == 'csv_file_locations' and $csv != FALSE) {
$expected_header = array('name', 'location_parent', 'latitude', 'longitude');
$loc_array = Core::csv_to_array($csv, $expected_header);
if (count($loc_array) > 10000) {
Alert::set(Alert::ERROR, __('limited to 10.000 at a time'));
$this->redirect(Route::url('oc-panel', array('controller' => 'tools', 'action' => 'import_tool')));
}
if ($loc_array === FALSE) {
Alert::set(Alert::ERROR, __('Something went wrong, please check format of the file! Remove single quotes or strange characters, in case you have any.'));
} else {
foreach ($loc_array as $loc) {
//location parent was sent?
if ($loc[1]) {
$location_parent = new Model_Location();
$location_parent->where('name', '=', $loc[1])->limit(1)->find();
if ($location_parent->loaded()) {
$loc[1] = $location_parent->id_location;
} else {
$loc[1] = 1;
}
} else {
$loc[1] = 1;
}
Model_Location::create_name($loc[0], 0, $loc[1], 0, $loc[2], $loc[3]);
}
Core::delete_cache();
Alert::set(Alert::SUCCESS, __('Locations successfully imported.'));
}
}
}
}
$this->template->content = View::factory('oc-panel/pages/tools/import_tool');
}