Beispiel #1
0
 public static function setMeta($contentTypeId, $objectId, $metaKeys = false, $metaValues = false)
 {
     // 		metaları bul
     if (!is_array($metaKeys)) {
         $metaKeys = array();
         // 		meta_
         foreach ($metaValues as $key => $value) {
             if (substr($key, 0, 5) == 'meta_') {
                 $metaKeys[] = $key;
             }
         }
     }
     if (is_array($metaKeys) && is_array($metaValues)) {
         foreach ($metaKeys as $key) {
             if (!isset($metaValues[$key])) {
                 continue;
             }
             $meta = PjangoMeta::getMeta($contentTypeId, $objectId, $key);
             if (!$meta) {
                 $meta = new PjangoMeta();
             }
             $meta->content_type_id = $contentTypeId;
             $meta->site_id = SITE_ID;
             $meta->object_id = $objectId;
             $meta->meta_key = $key;
             if (is_array($metaValues[$key])) {
                 $meta->meta_value = serialize($metaValues[$key]);
             } else {
                 $meta->meta_value = $metaValues[$key];
             }
             $meta->save();
         }
     }
 }
Beispiel #2
0
 function admin_addchange($request, $taxonomy = 'Post', $id = false)
 {
     $templateArr = array('current_admin_menu' => $taxonomy, 'current_admin_submenu' => $taxonomy, 'current_admin_submenu2' => 'Post', 'title' => __($taxonomy . ' Properties'));
     $modelAdminClass = sprintf('%s\\Models\\PostAdmin', $taxonomy);
     $modelClass = 'Post';
     $modelUrl = sprintf('%s/admin/%s/Post/', pjango_ini_get('SITE_URL'), $taxonomy);
     $formClass = 'Pjango\\Contrib\\Post\\Forms\\PostForm';
     $formData = array();
     $contentType = ContentType::get_for_model($modelClass, $taxonomy);
     if (class_exists($modelAdminClass)) {
         $modelAdmin = new $modelAdminClass();
     } else {
         $modelAdmin = new Pjango\Contrib\Post\Models\PostAdmin();
     }
     if (file_exists(APPLICATION_PATH . '/apps/' . $taxonomy . '/Forms/PostForm.php')) {
         $formClass = sprintf('%s\\Forms\\PostForm', $taxonomy);
     }
     $templateArr['third_level_navigation'] = $modelAdmin->get_third_level_navigation('edit', $modelUrl);
     if ($id) {
         $addchangeObj = Doctrine_Query::create()->from('Post o')->leftJoin('o.Translation t')->addWhere('o.id = ?', array($id))->fetchOne();
         if ($addchangeObj) {
             $templateArr['addchange_obj'] = $addchangeObj;
             $formData = $addchangeObj->toArray();
             $lng = pjango_ini_get('LANGUAGE_CODE');
             $formData['title'] = $addchangeObj->Translation[$lng]->title;
             $formData['content'] = $addchangeObj->Translation[$lng]->content;
             $formData['excerpt'] = $addchangeObj->Translation[$lng]->excerpt;
             $formData['slug'] = $addchangeObj->Translation[$lng]->slug;
             if ($addchangeObj->Categories && count($addchangeObj->Categories) > 0) {
                 foreach ($addchangeObj->Categories as $categoryItem) {
                     $formData['categories'][] = $categoryItem->id;
                 }
             }
             $metaData = PjangoMeta::getMeta($contentType->id, $addchangeObj->id);
             foreach ($metaData as $metaDataItem) {
                 $formData[$metaDataItem->meta_key] = $metaDataItem->meta_value;
             }
             $templateArr['third_level_navigation'] = $modelAdmin->get_third_level_navigation('edit', $modelUrl, $id);
         }
     }
     if ($request->POST) {
         $form = new $formClass($taxonomy, $request->POST);
         try {
             if (!$form->is_valid()) {
                 throw new Exception('There are incomplete required fields. Please complete them.');
             }
             $formData = $form->cleaned_data();
             if (!$addchangeObj) {
                 $addchangeObj = new $modelClass();
             }
             $lng = pjango_ini_get('LANGUAGE_CODE');
             $addchangeObj->fromArray($formData);
             $addchangeObj->save();
             $addchangeObj->Translation[$lng]->title = stripslashes($request->POST['title']);
             $addchangeObj->Translation[$lng]->content = stripslashes($request->POST['content']);
             $addchangeObj->Translation[$lng]->excerpt = stripslashes($request->POST['excerpt']);
             $addchangeObj->Translation[$lng]->slug = stripslashes($request->POST['slug']);
             $addchangeObj->post_type = $taxonomy;
             $addchangeObj->site_id = SITE_ID;
             $addchangeObj->created_by = $request->user->id;
             $addchangeObj->unlink('Categories');
             $addchangeObj->link('Categories', $formData['categories']);
             if (class_exists('Menu')) {
                 if (intval($formData['meta_menu_location_id']) > 0) {
                     $parentMenu = Doctrine::getTable('Menu')->find($formData['meta_menu_location_id']);
                     if ($parentMenu) {
                         $deletedRows = Doctrine_Query::create()->delete('Menu o')->where('o.site_id = ? AND o.id = ?', array(SITE_ID, $formData['meta_menu_id']))->execute();
                         $menu = new \Menu();
                         $menu->Translation[$lng]->name = $formData['title'];
                         $menu->Translation[$lng]->slug = $formData['slug'];
                         $menu->url = '/' . $formData['slug'];
                         $menu->site_id = SITE_ID;
                         $menu->save();
                         $menu->getNode()->insertAsLastChildOf($parentMenu);
                         $request->POST['meta_menu_id'] = $menu->id;
                     }
                 } else {
                     $deletedRows = Doctrine_Query::create()->delete('Menu o')->where('o.site_id = ? AND o.id = ?', array(SITE_ID, $formData['meta_menu_id']))->execute();
                 }
             }
             $addchangeObj->save();
             PjangoMeta::setMeta($contentType->id, $addchangeObj->id, false, $request->POST);
             Messages::Info(pjango_gettext('The operation completed successfully'));
             HttpResponseRedirect('/admin/' . $taxonomy . '/' . $modelClass . '/');
         } catch (Exception $e) {
             Messages::Error($e->getMessage());
         }
     }
     if (!$form) {
         $form = new $formClass($taxonomy, $formData);
     }
     $templateArr['addchange_form'] = $form;
     $templateArr['taxonomy'] = $taxonomy;
     if (is_file(sprintf('%s/templates/%s/admin/addchange.html', SITE_PATH, strtolower($taxonomy)))) {
         $templateFile = sprintf('%s/admin/addchange.html', strtolower($taxonomy));
     } else {
         if (is_file(sprintf('%s/apps/%s/Templates/%s/admin/addchange.html', APPLICATION_PATH, $taxonomy, strtolower($taxonomy)))) {
             $templateFile = sprintf('%s/admin/addchange.html', strtolower($taxonomy));
         } else {
             $templateFile = 'admin/addchange.html';
         }
     }
     render_to_response($templateFile, $templateArr);
 }
Beispiel #3
0
 function app_meta($request, $app_label = false, $model = false, $id = false)
 {
     $templateArr = array('current_admin_menu' => $app_label, 'current_admin_submenu' => $model, 'current_admin_submenu2' => $model, 'title' => __($model . ' Meta'));
     $modelAdminClass = sprintf('%s\\Models\\%sAdmin', $app_label, $model);
     $modelAdmin = new $modelAdminClass();
     $modelUrl = sprintf('%s/admin/%s/%s/', pjango_ini_get('SITE_URL'), $app_label, $model);
     $modelClass = $model;
     $formClass = sprintf('%s\\Forms\\%sMetaForm', $app_label, $model);
     $formData = array();
     $contentType = ContentType::get_for_model($modelClass, $app_label);
     if ($id) {
         $modelObj = Doctrine_Query::create()->from($modelClass . ' o')->where('o.id = ?', $id)->fetchOne();
         if ($modelObj) {
             $metaData = PjangoMeta::getMeta($contentType->id, $modelObj->id);
             foreach ($metaData as $metaDataItem) {
                 $formData[$metaDataItem->meta_key] = $metaDataItem->meta_value;
             }
         }
     }
     if ($request->POST) {
         PjangoMeta::setMeta($contentType->id, $modelObj->id, false, $request->POST);
         Messages::Info(pjango_gettext('The operation completed successfully'));
         HttpResponseRedirect(sprintf('/admin/%s/%s/%d/edit/', $app_label, $model, $modelObj->id));
     }
     if (!$form) {
         $form = new $formClass($formData);
     }
     $templateArr['addchange_form'] = $form;
     $templateArr['third_level_navigation'] = $modelAdmin->get_third_level_navigation('meta', $modelUrl, $id);
     render_to_response('admin/addchange.html', $templateArr);
 }