Вход Регистрация
Файл: upload/admin/news-add.php
Строк: 300
<?php require_once('header.php'); ?>

<?php
if(isset($_POST['form1'])) {
    
$valid 1;

    if(empty(
$_POST['news_title'])) {
        
$valid 0;
        
$error_message .= 'News title can not be empty<br>';
    } else {
        
// Duplicate Checking
        
$statement $pdo->prepare("SELECT * FROM tbl_news WHERE news_title=?");
        
$statement->execute(array($_POST['news_title']));
        
$total $statement->rowCount();
        if(
$total) {
            
$valid 0;
            
$error_message .= "News title already exists<br>";
        }
    }

    if(empty(
$_POST['news_content'])) {
        
$valid 0;
        
$error_message .= 'News content can not be empty<br>';
    }

    if(empty(
$_POST['news_date'])) {
        
$valid 0;
        
$error_message .= 'News publish date can not be empty<br>';
    }


    if(
$_POST['publisher'] == '') {
        
$publisher $_SESSION['user']['full_name'];
    } else {
        
$publisher $_POST['publisher'];    
    }


    
$path $_FILES['photo']['name'];
    
$path_tmp $_FILES['photo']['tmp_name'];


    if(
$path!='') {
        
$ext pathinfo$pathPATHINFO_EXTENSION );
        
$file_name basename$path'.' $ext );
        if( 
$ext!='jpg' && $ext!='png' && $ext!='jpeg' && $ext!='gif' ) {
            
$valid 0;
            
$error_message .= 'You must have to upload jpg, jpeg, gif or png file<br>';
        }
    }

    foreach(
$_POST['category_ids'] as $key=>$value) {
        if(
$value!='') {
            
$arr[] = $value;    
        }
    }
    if(empty(
$arr)) {
        
$valid 0;
        
$error_message .= 'You must have to select at least one category<br>';
    }
    

    if(
$valid == 1) {

        
// getting auto increment id for photo renaming
        
$statement $pdo->prepare("SHOW TABLE STATUS LIKE 'tbl_news'");
        
$statement->execute();
        
$result $statement->fetchAll();
        foreach(
$result as $row) {
            
$ai_id=$row[10];
        }

        if(
$_POST['news_slug'] == '') {
            
// generate slug
            
$temp_string strtolower($_POST['news_title']);
            
$news_slug preg_replace('/[^A-Za-z0-9-]+/''-'$temp_string);
        } else {
            
$temp_string strtolower($_POST['news_slug']);
            
$news_slug preg_replace('/[^A-Za-z0-9-]+/''-'$temp_string);
        }

        
// if slug already exists, then rename it
        
$statement $pdo->prepare("SELECT * FROM tbl_news WHERE news_slug=?");
        
$statement->execute(array($news_slug));
        
$total $statement->rowCount();
        if(
$total) {
            
$news_slug $news_slug.'-1';
        }

        if(
$path=='') {
            
// When no photo will be selected
            
$statement $pdo->prepare("INSERT INTO tbl_news (news_title,news_slug,news_content,news_date,publisher,photo,status,source,is_featured,total_view,meta_title,meta_keyword,meta_description) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)");
            
$statement->execute(array($_POST['news_title'],$news_slug,$_POST['news_content'],$_POST['news_date'],$publisher,'',$_POST['status'],$_POST['source'],$_POST['is_featured'],0,$_POST['meta_title'],$_POST['meta_keyword'],$_POST['meta_description']));
        } else {
            
// uploading the photo into the main location and giving it a final name
            
$final_name 'news-'.$ai_id.'.'.$ext;
            
move_uploaded_file$path_tmp'../assets/uploads/'.$final_name );

            
$statement $pdo->prepare("INSERT INTO tbl_news (news_title,news_slug,news_content,news_date,publisher,photo,status,source,is_featured,total_view,meta_title,meta_keyword,meta_description) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)");
            
$statement->execute(array($_POST['news_title'],$news_slug,$_POST['news_content'],$_POST['news_date'],$publisher,$final_name,$_POST['status'],$_POST['source'],$_POST['is_featured'],0,$_POST['meta_title'],$_POST['meta_keyword'],$_POST['meta_description']));
        }

        
// Getting all the categories from tbl_category and putting all those into a new table tbl_news_category for this newly added news
        
$statement $pdo->prepare("SELECT * FROM tbl_category ORDER BY category_id ASC");
        
$statement->execute();
        
$result $statement->fetchAll(PDO::FETCH_ASSOC);                            
        foreach (
$result as $row) {
            if(
in_array($row['category_id'], $arr)) {
                
$access 1;
            } else {
                
$access 0;
            }
            
$statement1 $pdo->prepare("INSERT INTO tbl_news_category (news_id,category_id,access) VALUES (?,?,?)");
            
$statement1->execute(array($ai_id,$row['category_id'],$access));
        }

        
// Entry data into a new table tbl_news_scheduled if news date is set as future date.
        
$today date('d-m-Y');
        if(
$_POST['news_date'] != $today) {
            
$statement $pdo->prepare("INSERT INTO tbl_news_scheduled (news_id,news_date) VALUES (?,?)");
            
$statement->execute(array($ai_id,$_POST['news_date']));    
        }

        
// Sending an email notification to all the active subscribers
        
$statement $pdo->prepare("SELECT * FROM tbl_subscriber WHERE subs_active=1");
        
$statement->execute();
        
$result $statement->fetchAll(PDO::FETCH_ASSOC);                            
        foreach (
$result as $row) {
            
$url BASE_URL 'news/' $news_slug;
            
$message '
            Dear Sir,<br><br>
            A News has been published: 
            '
.$_POST['news_title'].'<br><br>
            To see the details about this news, please click on the following url:<br>
            <a href="'
.$url.'">'.$url.'</a>';

            
$to $row['subs_email'];
            
$subject "A News has been published";
            
$message $message;
            
$headers 'From: '$receive_email "rn" .
                       
'Reply-To: '$receive_email "rn" .
                       
'X-Mailer: PHP/' phpversion() . "rn" 
                       
"MIME-Version: 1.0rn" 
                       
"Content-Type: text/html; charset=ISO-8859-1rn";
            
mail($to$subject$message$headers);
        }        
        
$success_message 'News is added successfully!';
    }
}
?>

<section class="content-header">
    <div class="content-header-left">
        <h1>Add News</h1>
    </div>
    <div class="content-header-right">
        <a href="news.php" class="btn btn-primary btn-sm">View All</a>
    </div>
</section>


<section class="content">

    <div class="row">
        <div class="col-md-12">

            <?php if($error_message): ?>
            <div class="callout callout-danger">
            <h4>Please correct the following errors:</h4>
            <p>
            <?php echo $error_message?>
            </p>
            </div>
            <?php endif; ?>

            <?php if($success_message): ?>
            <div class="callout callout-success">
            <h4>Success:</h4>
            <p><?php echo $success_message?></p>
            </div>
            <?php endif; ?>

            <form class="form-horizontal" action="" method="post" enctype="multipart/form-data">
                <div class="box box-info">
                    <div class="box-body">
                        <div class="form-group">
                            <label for="" class="col-sm-2 control-label">News Title <span>*</span></label>
                            <div class="col-sm-6">
                                <input type="text" class="form-control" name="news_title" placeholder="Example: News Headline">
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="" class="col-sm-2 control-label">News Slug </label>
                            <div class="col-sm-6">
                                <input type="text" class="form-control" name="news_slug" placeholder="Example: news-headline">
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="" class="col-sm-2 control-label">News Content <span>*</span></label>
                            <div class="col-sm-9">
                                <textarea class="form-control" name="news_content" id="editor1"></textarea>
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="" class="col-sm-2 control-label">News Publish Date <span>*</span></label>
                            <div class="col-sm-4">
                                <input type="text" class="form-control" name="news_date" id="datepicker" value="<?php echo date('d-m-Y'); ?>">(Format: dd-mm-yy)<br>
                                You can setup a future date if you want.
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="" class="col-sm-2 control-label">Featured Photo</label>
                            <div class="col-sm-6" style="padding-top:6px;">
                                <input type="file" name="photo">
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="" class="col-sm-2 control-label">Categories <span>*</span></label>
                            <div class="col-sm-9">
                                <?php
                                $i
=0;
                                
$statement $pdo->prepare("SELECT * FROM tbl_category WHERE status=? ORDER BY category_name ASC");
                                
$statement->execute(array('Active'));
                                
$result $statement->fetchAll(PDO::FETCH_ASSOC);
                                foreach (
$result as $row) {
                                    
$i++;
                                    
?>
                                    <div class="checkbox-content">
                                        <label class="checkbox-inline">
                                            <input type="hidden" name="category_ids[<?php echo $i?>]" value="">
                                            <input type="checkbox" name="category_ids[<?php echo $i?>]" value="<?php echo $row['category_id']; ?>"> <?php echo $row['category_name']; ?>
                                        </label>
                                    </div>
                                    <?php
                                
}
                                
?>
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="" class="col-sm-2 control-label">Published <span>*</span></label>
                            <div class="col-sm-6">
                                <label class="radio-inline">
                                    <input type="radio" name="status" value="Published" checked>Yes
                                </label>
                                <label class="radio-inline">
                                    <input type="radio" name="status" value="Unpublished">No
                                </label>
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="" class="col-sm-2 control-label">News Source </label>
                            <div class="col-sm-6">
                                <input type="text" class="form-control" name="source">
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="" class="col-sm-2 control-label">Publisher </label>
                            <div class="col-sm-6">
                                <input type="text" class="form-control" name="publisher"> (If you keep this blank, logged user will be treated as the publisher)
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="" class="col-sm-2 control-label">Is Featured? <span>*</span></label>
                            <div class="col-sm-6">
                                <label class="radio-inline">
                                    <input type="radio" name="is_featured" value="1" checked>Yes
                                </label>
                                <label class="radio-inline">
                                    <input type="radio" name="is_featured" value="0">No
                                </label>
                            </div>
                        </div>
                        <h3 class="seo-info">SEO Information</h3>
                        <div class="form-group">
                            <label for="" class="col-sm-2 control-label">Meta Title </label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" name="meta_title">
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="" class="col-sm-2 control-label">Meta Keywords </label>
                            <div class="col-sm-9">
                                <input type="text" class="form-control" name="meta_keyword">
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="" class="col-sm-2 control-label">Meta Description </label>
                            <div class="col-sm-9">
                                <textarea class="form-control" name="meta_description" style="height:200px;"></textarea>
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="" class="col-sm-2 control-label"></label>
                            <div class="col-sm-6">
                                <button type="submit" class="btn btn-success pull-left" name="form1">Submit</button>
                            </div>
                        </div>
                    </div>
                </div>
            </form>
        </div>
    </div>

</section>

<?php require_once('footer.php'); ?>
Онлайн: 1
Реклама