public static function getSettings()
 {
     if (!self::$settings) {
         require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 's3-access.php';
         $s3_settings = new S3Access();
         self::$settings = json_decode(get_option('S3MS_settings'), true);
         if ($s3_settings->are_access_keys_set()) {
             self::$settings['s3_access_key'] = $s3_settings->get_access_key_id();
             self::$settings['s3_secret_key'] = $s3_settings->get_secret_access_key();
         }
     }
     return self::$settings;
 }
示例#2
0
                }); 



         </script>
            <?php 
    } else {
        //print_r($_POST);
        //print_r($_FILES);
        echo "<div hidden>";
        $name = $_FILES['avatar']['name'];
        $email_owner = "admin_off";
        $_type = "admin";
        $children = array();
        // UPLOAD SUR S3
        $s3 = new S3Access(S3ClientBuilder::get());
        $url = $s3->createFile($name, $_FILES['avatar']['tmp_name']);
        //$path);
        // INSERT SUR DYNAMO
        $contentDao = new ContentDAO(DynamoDbClientBuilder::get());
        $content = new Content();
        $content->setUrl($url);
        $content->setEmailOwner($email_owner);
        $content->setName($name);
        $content->setType($_type);
        $contentDao->create($content, $children);
        echo "</div>La slide a été ajouter : <a href='https://s3-eu-west-1.amazonaws.com/cherry-shared-content2/" . $name . "'>" . $name . "</a>";
    }
    ?>
        
   </body>
示例#3
0
<?php

session_start();
include "includes.php";
$name = $_GET['name'];
$type = $_GET['type'];
if (!empty($type)) {
    $email = $_SESSION['email'];
    $childDAO = new ChildDAO(DynamoDbClientBuilder::get());
    $child = $childDAO->get($email);
    $child->readContent($name, $type);
    $childDAO->update($child);
    echo '<pre>';
    print_r($child->getContentByType($type));
    echo '</pre></br>';
}
$s3 = new S3Access(S3ClientBuilder::get());
$result = $s3->getFile($name);
header("Content-Type: {$result['ContentType']}");
header("Content-Disposition: attachment; filename=\"{$name}\"");
echo $result['Body'];
    //echo "<div id ='".$nomEnfant."_' hidden>TEST + id = ".$nomEnfant."</div> ";
}
echo '</div>';
?>
    </div>
        
        <div class="col-sm-6" style="margin-bottom: 60px; border-left: 1px solid gainsboro;">
            <div style='background-color: #6ED397;     padding: 10px;'>
            <h1 style="margin-left: 27px;     margin-bottom: 30px;"><span class="glyphicon glyphicon-blackboard"></span> Gestion des Scénarios de Présentation</h1>
            <?php 
$contentDao = new ContentDAO(DynamoDbClientBuilder::get());
$name_fileToDelete = $_GET['name'];
$owner_fileToDelete = $_GET['owner'];
// DELETE File if needed
if (!empty($name_fileToDelete) && !empty($owner_fileToDelete)) {
    $s3 = new S3Access(S3ClientBuilder::get());
    $s3->deleteFile($name_fileToDelete);
    $contentDao->delete($name_fileToDelete, $owner_fileToDelete);
}
/*
echo "<a href=\"./listOfChildren.php\">Calendriers des enfants</a></br></br>";
echo "<a href=\"./drop.php\">Ajouter un fichier</a></br></br>";
echo "<a href=\"./contenueTexte.php\">Créer un contenue texte</a></br></br>";
*/
echo '<div style="margin-left:15px;">';
echo '<form class="formB" action="listOfChildren.php"><button type="submit" class="btn btn-default" name="Valider" onclick >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-calendar"></span>&nbsp;&nbsp;&nbsp;&nbsp; Calendriers des enfants&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</button></form>';
echo '<form class="formB" action="Excel.php"><button type="submit" class="btn btn-default" name="Valider" onclick ><span class="glyphicon glyphicon-share"></span> Ajouter un Excel de description d\'un scénario</button></form>';
echo '<form class="formB" action="Excel.php"><button type="submit" class="btn btn-default" name="Valider" onclick >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-edit"></span>&nbsp;&nbsp;&nbsp;&nbsp; Créer un scénario&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</button></form>';
echo '</div></div>';
$userDao = new UserDAO(DynamoDbClientBuilder::get());
$email = $_SESSION['email'];
示例#5
0
function S3MSAdminContent()
{
    if (isset($_POST['submit'])) {
        $errors = array();
        if (!isset($_POST['s3_bucket']) || trim($_POST['s3_bucket']) == '') {
            $errors[] = "S3 Bucket Name Missing!";
        }
        $bucket = trim($_POST['s3_bucket']);
        $ssl = isset($_POST['s3_ssl']) ? 1 : 0;
        // Test connectivity
        require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'S3.php';
        require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 's3-access.php';
        $s3_settings = new S3Access();
        $s3 = new S3($s3_settings->get_access_key_id(), $s3_settings->get_secret_access_key());
        $s3->setSSL((bool) $ssl);
        $s3->setExceptions(true);
        try {
            $s3->getBucketLocation($bucket);
        } catch (Exception $e) {
            $errors[] = "Could not connect to bucket with the provided credentials!";
            $errors[] = $e->getMessage();
        }
        if (!empty($errors)) {
            $msg = implode('<br/>', $errors);
            ?>
            <div class="error"><p><strong><?php 
            _e($msg, 'S3MS');
            ?>
</strong></p></div>
            <?php 
        } else {
            // No errors!
            $settings = array('s3_bucket' => trim($_POST['s3_bucket']), 's3_bucket_path' => isset($_POST['s3_bucket_path']) ? ltrim(rtrim(trim($_POST['s3_bucket_path']), '/'), '/') : '', 's3_ssl' => isset($_POST['s3_ssl']) ? 1 : 0, 's3_delete_local' => isset($_POST['s3_delete_local']) ? 1 : 0, 's3_delete' => isset($_POST['s3_delete']) ? 1 : 0, 's3_expires' => trim($_POST['s3_expires']), 's3_cloudfront' => trim($_POST['s3_cloudfront']), 's3_rewrite_url' => trim($_POST['s3_rewrite_url']), 's3_protocol' => in_array(trim($_POST['s3_protocol']), array('http', 'https', 'relative')) ? trim($_POST['s3_protocol']) : 'relative', 'tiny_png_key' => trim($_POST['tiny_png_key']), 's3_transfer_method' => in_array(trim($_POST['s3_transfer_method']), array('s3class', 's3cmd', 'awscli', 'background')) ? trim($_POST['s3_transfer_method']) : 's3class', 'valid' => 1);
            $settings = json_encode($settings);
            $ret = update_option('S3MS_settings', $settings);
            ?>
            <div class="updated"><p><strong><?php 
            _e('Settings Saved!', 'S3MS');
            ?>
</strong></p></div>
            <?php 
        }
    }
    if (isset($_POST['move_files']) || isset($_POST['copy_files'])) {
        $move = isset($_POST['move_files']) ? true : false;
        $label = isset($_POST['move_files']) ? 'Moved' : 'Copied';
        if (isset($_POST['selected']) && is_array($_POST['selected'])) {
            $success_count = 0;
            $error_count = 0;
            foreach ($_POST['selected'] as $id) {
                $ret = S3MS::updateAttachmentMetadata(array('S3MS_move' => $move), $id);
                if ($ret) {
                    $success_count++;
                } else {
                    $error_count++;
                }
            }
            ?>
            <div class="updated"><p><strong><?php 
            _e(number_format($success_count) . ' File(s) ' . $label . '!', 'S3MS');
            ?>
</strong></p></div>
            <?php 
            if ($error_count > 0) {
                ?>
                <div class="error"><p><strong><?php 
                _e(number_format($error_count) . ' File(s) Could Not Be ' . $label . '!', 'S3MS');
                ?>
</strong></p></div>
                <?php 
            }
        }
    }
    // Get existing/POST options
    $settings = json_decode(get_option('S3MS_settings'), true);
    $s3_bucket = isset($_POST['s3_bucket']) ? trim($_POST['s3_bucket']) : null;
    if (!$s3_bucket && is_array($settings) && isset($settings['s3_bucket'])) {
        $s3_bucket = $settings['s3_bucket'];
    }
    $s3_bucket_path = isset($_POST['s3_bucket_path']) ? trim($_POST['s3_bucket_path']) : null;
    if (!$s3_bucket_path && is_array($settings) && isset($settings['s3_bucket_path'])) {
        $s3_bucket_path = $settings['s3_bucket_path'];
    }
    $s3_ssl = isset($_POST['s3_ssl']) ? (int) $_POST['s3_ssl'] : null;
    if (!$s3_ssl && is_array($settings) && isset($settings['s3_ssl'])) {
        $s3_ssl = (int) $settings['s3_ssl'];
    }
    $s3_delete_local = isset($_POST['s3_delete_local']) ? (int) $_POST['s3_delete_local'] : null;
    if (!$s3_delete_local && is_array($settings) && isset($settings['s3_delete_local'])) {
        $s3_delete_local = (int) $settings['s3_delete_local'];
    }
    $s3_delete = isset($_POST['s3_delete']) ? (int) $_POST['s3_delete'] : null;
    if (!$s3_delete && is_array($settings) && isset($settings['s3_delete'])) {
        $s3_delete = (int) $settings['s3_delete'];
    }
    $s3_expires = isset($_POST['s3_expires']) ? trim($_POST['s3_expires']) : null;
    if (!$s3_expires && is_array($settings) && isset($settings['s3_expires'])) {
        $s3_expires = $settings['s3_expires'];
    }
    $s3_cloudfront = isset($_POST['s3_cloudfront']) ? trim($_POST['s3_cloudfront']) : null;
    if (!$s3_cloudfront && is_array($settings) && isset($settings['s3_cloudfront'])) {
        $s3_cloudfront = $settings['s3_cloudfront'];
    }
    $s3_rewrite_url = isset($_POST['s3_rewrite_url']) ? trim($_POST['s3_rewrite_url']) : null;
    if (!$s3_rewrite_url && is_array($settings) && isset($settings['s3_rewrite_url'])) {
        $s3_rewrite_url = $settings['s3_rewrite_url'];
    }
    $tiny_png_key = isset($_POST['tiny_png_key']) ? trim($_POST['tiny_png_key']) : null;
    if (!$tiny_png_key && is_array($settings) && isset($settings['tiny_png_key'])) {
        $tiny_png_key = $settings['tiny_png_key'];
    }
    $s3_protocol = isset($_POST['s3_protocol']) ? trim($_POST['s3_protocol']) : null;
    if (!$s3_protocol && is_array($settings) && isset($settings['s3_protocol'])) {
        $s3_protocol = $settings['s3_protocol'];
    }
    $s3_transfer_method = isset($_POST['s3_transfer_method']) ? trim($_POST['s3_transfer_method']) : null;
    if (!$s3_transfer_method && is_array($settings) && isset($settings['s3_transfer_method'])) {
        $s3_transfer_method = $settings['s3_transfer_method'];
    }
    if ($s3_transfer_method == null) {
        $s3_transfer_method = 's3class';
    }
    ?>
<div class="wrap">
	<h2>S3 Media Storage Options</h2>

	<div id="poststuff">
		<div class="postbox">
		<h3><?php 
    _e('Settings');
    ?>
</h3>
            <div class="inside">
            <form id="S3MS-config" method="post" action="" enctype="multipart/form-data">

                <table class="form-table">
                    <tbody>
                        <tr>
                            <th><label for="key"><?php 
    _e("S3 Bucket Name:", 'S3MS');
    ?>
</label></th>
                            <td>
                                <input style="width:300px;" type="text" name="s3_bucket" value="<?php 
    echo $s3_bucket;
    ?>
" placeholder="Enter S3 Bucket Name e.g. media.myblog"/>
                            </td>
                        </tr>
                        <tr>
                            <th><label for="key"><?php 
    _e("S3 Bucket Path:", 'S3MS');
    ?>
</label></th>
                            <td>
                                <input style="width:300px;" type="text" name="s3_bucket_path" value="<?php 
    echo $s3_bucket_path;
    ?>
" placeholder="Enter Additional S3 Bucket Path e.g. blog or blog/assets"/>
                                <p class="description">If 'blog' is entered, uploads go to https://bucketname.s3.amazonaws.com/blog/YYYY/MM/file.ext </p>
                            </td>
                        </tr>
                        <tr>
                            <th><label for="key"><?php 
    _e("Use SSL:", 'S3MS');
    ?>
</label></th>
                            <td>
                                <input type="checkbox" name="s3_ssl" value="1" <?php 
    echo $s3_ssl ? 'checked="checked"' : '';
    ?>
/>
                                <p class="description">Encrypt traffic for data sent to S3?</p>
                            </td>
                        </tr>
                        <tr>
                            <th><label for="key"><?php 
    _e("Delete Local Files:", 'S3MS');
    ?>
</label></th>
                            <td>
                                <input type="checkbox" name="s3_delete_local" value="1" <?php 
    echo $s3_delete_local ? 'checked="checked"' : '';
    ?>
/>
                                <p class="description">Whether or not to keep files uploaded locally</p>
                            </td>
                        </tr>
                        <tr>
                            <th><label for="key"><?php 
    _e("Delete from S3:", 'S3MS');
    ?>
</label></th>
                            <td>
                                <input type="checkbox" name="s3_delete" value="1" <?php 
    echo $s3_delete ? 'checked="checked"' : '';
    ?>
/>
                                <p class="description">Deleting from Media Library deletes from S3? (May not wish to for cost reasons)</p>
                            </td>
                        </tr>
                        <tr>
                            <th><label for="key"><?php 
    _e("Expires:", 'S3MS');
    ?>
</label></th>
                            <td>
                                <input style="width:400px;" type="text" name="s3_expires" value="<?php 
    echo $s3_expires;
    ?>
" placeholder="Enter expires format"/>
                                <p class="description">To set far reaching expires for assets, enter it in a <a href="http://us1.php.net/manual/en/datetime.formats.php" target="_blank">valid strtotime format</a> e.g. +15 years</p>
                            </td>
                        </tr>
                        <tr>
                            <th><label for="key"><?php 
    _e("CloudFront Domain Name:", 'S3MS');
    ?>
</label></th>
                            <td>
                                <input style="width:400px;" type="text" name="s3_cloudfront" value="<?php 
    echo $s3_cloudfront;
    ?>
" placeholder="Enter CloudFront Domain Name"/>
                                <p class="description">e.g. abcslfn3kg17h.cloudfront.net</p>
                            </td>
                        </tr>
                        <tr>
                            <th><label for="key"><?php 
    _e("Rewrite URL:", 'S3MS');
    ?>
</label></th>
                            <td>
                                <input style="width:400px;" type="text" name="s3_rewrite_url" value="<?php 
    echo $s3_rewrite_url;
    ?>
" placeholder="Enter Rewrite URL"/>
                                <p class="description">e.g. assets.domain.com</p>
                            </td>
                        </tr>            
                        <tr>
                            <th><label for="key"><?php 
    _e("TinyPNG API Key:", 'S3MS');
    ?>
</label></th>
                            <td>
                                <input style="width:400px;" type="text" name="tiny_png_key" value="<?php 
    echo $tiny_png_key;
    ?>
" placeholder="Enter TinyPNG API Key"/>
                                <p class="description">e.g. abc12345678</p>
                            </td>
                        </tr>
                        <tr>
                            <th><label for="key"><?php 
    _e("Protocol:", 'S3MS');
    ?>
</label></th>
                            <td>
                                <input type="radio" name="s3_protocol" value="http" <?php 
    echo $s3_protocol == 'http' ? 'checked="checked"' : '';
    ?>
/> Always serve from HTTP.<br/>
                                <input type="radio" name="s3_protocol" value="https" <?php 
    echo $s3_protocol == 'https' ? 'checked="checked"' : '';
    ?>
/> Always serve from HTTPS.<br/>
                                <input type="radio" name="s3_protocol" value="relative" <?php 
    echo $s3_protocol == 'relative' ? 'checked="checked"' : '';
    ?>
/> Serve from same protocol as requested page.<br/>
                            </td>
                        </tr>
                    </tbody>
                </table>

                <p class="submit">
                    <input type="submit" name="submit" id="submit" class="button button-primary" value="<?php 
    _e('Save Changes');
    ?>
">
                </p>
            </form>
            </div>
        </div>
	</div>

    <div id="poststuff">
		<div class="postbox">
		<h3><?php 
    _e('Library Files');
    ?>
</h3>
            <div class="inside">
            <form id="S3MS-transfer" method="post" action="" enctype="multipart/form-data">
                <input type="hidden" name="transfer" value="1"/>
                <?php 
    // While we could use get_posts and get_post_meta instead of a custom query, it would mean more queries/data than necessary
    // So lets just do our own query.
    global $wpdb;
    $page = isset($_GET['s3ms_page']) ? (int) $_GET['s3ms_page'] : 1;
    $limit = 500;
    $offset = $limit * $page - $limit;
    $sql = "SELECT COUNT(1) as count\n                        FROM {$wpdb->posts}\n                        LEFT JOIN {$wpdb->postmeta} ON {$wpdb->postmeta}.post_id = {$wpdb->posts}.ID AND {$wpdb->postmeta}.meta_key = 'S3MS_file'\n                        WHERE 1=1\n                            AND {$wpdb->posts}.post_type = 'attachment'\n                            AND ({$wpdb->posts}.post_status = 'inherit')";
    $r = $wpdb->get_row($sql);
    $total = $r->count;
    $page_action = S3MS::paginationUrl();
    $pages = ceil($total / $limit);
    $sql = "SELECT ID, guid, meta_key, meta_value\n                        FROM {$wpdb->posts}\n                        LEFT JOIN {$wpdb->postmeta} ON {$wpdb->postmeta}.post_id = {$wpdb->posts}.ID AND {$wpdb->postmeta}.meta_key = 'S3MS_file'\n                        WHERE 1=1\n                            AND {$wpdb->posts}.post_type = 'attachment'\n                            AND ({$wpdb->posts}.post_status = 'inherit')\n                        ORDER BY {$wpdb->posts}.post_date DESC\n                        LIMIT {$offset},{$limit}";
    $files = $wpdb->get_results($sql);
    ?>
                <table class="wp-list-table widefat">
                    <thead>
                        <tr>
                            <th scope="col">All<input type="checkbox" id="select-all"/></span></th>
                            <th scope="col">Local File</span></th>
                            <th scope="col">Exists Locally?</th>
                            <th scope="col">S3 File</span></th>
                            <th scope="col">Exists On S3?</span></th>
                        </tr>
                    </thead>
                    <tfoot>
                        <tr>
                            <th colspan="5" scope="row"><p style="float:left"><?php 
    echo S3MS::pagination($total, $limit, $page, $page_action);
    ?>
</p>&nbsp;<p style="float:right">Page <?php 
    echo number_format($page);
    ?>
 of <?php 
    echo number_format($pages);
    ?>
 Total: <?php 
    echo number_format($total);
    ?>
 Files</p></th>
                        </tr>
                    </tfoot>
                    <tbody>
                        <?php 
    $ud = wp_upload_dir();
    ?>
                        <?php 
    foreach ($files as $file) {
        ?>
                        <tr>
                            <td><input type="checkbox" class="files" name="selected[]" value="<?php 
        echo $file->ID;
        ?>
"/></td>
                            <td><?php 
        echo '<a href="' . $file->guid . '" target="_blank">' . $file->guid . '</a>';
        ?>
</td>
                            <td><?php 
        echo file_exists(str_replace($ud['baseurl'], $ud['basedir'], $file->guid)) ? '<span style="color:green;">YES</span>' : '<span style="color:red;">NO</span>';
        ?>
</td>
                            <td><?php 
        $s3_url = S3MS::attachmentUrl($file->guid, $file->ID);
        echo $s3_url == $file->guid ? '' : '<a href="' . $s3_url . '" target="_blank">' . $s3_url . '</a>';
        ?>
</td>
                            <td><?php 
        echo $file->meta_value ? '<span style="color:green;">YES</span>' : '<span style="color:red;">NO</span>';
        ?>
</td>
                        </tr>
                        <?php 
    }
    ?>
                    </tbody>
                </table>

                <p class="submit">
                    <input type="submit" name="copy_files" class="button button-primary" value="<?php 
    _e('Copy Files To S3');
    ?>
"> <input type="submit" name="move_files" class="button button-primary" value="<?php 
    _e('Move Files To S3');
    ?>
">
                </p>
            </form>
            </div>
        </div>
	</div>
</div>
<script>
jQuery('#select-all').click(function(e) {
    if (jQuery(this).attr('checked') == 'checked') {
        jQuery(':input[type=checkbox].files').attr('checked', 'checked');
    } else {
        jQuery(':input[type=checkbox].files').attr('checked', null);
    }
});
</script>
<?php 
}
示例#6
0
$size = count($_FILES['files']['tmp_name']);
for ($i = 1; $i < $size; $i++) {
    //Iterate over the files(start 1)
    // UPLOAD SUR EC2
    $path = "/var/www/html/";
    $name = $_FILES['files']['name'][$i];
    $path = $path . $name;
    //echo move_uploaded_file($_FILES['files']['tmp_name'][$i], $path);
    /*if(move_uploaded_file($_FILES['files']['tmp_name'][$i], $path))
      {
          echo "!!!! OK !!!!";}
      else {
          echo "??? NO OK ????";
      }*/
    // UPLOAD SUR S3
    $s3 = new S3Access(S3ClientBuilder::get());
    $url = $s3->createFile($name, $_FILES['files']['tmp_name'][$i]);
    //$path);
    // INSERT SUR DYNAMO
    $emailOwner = $_SESSION['email'];
    $type = $_SESSION['type'];
    $contentDao = new ContentDAO(DynamoDbClientBuilder::get());
    $content = new Content();
    $content->setUrl($url);
    $content->setEmailOwner($emailOwner);
    $content->setName($name);
    $content->setType($type);
    $contentDao->create($content, $children);
}
?>
</body>