//
// New Post Type
//
add_action('init', 'engage_team_register');
function engage_team_register() {
$args = array(
'label' => esc_html__('Team Members', 'crexis'),
'public' => true,
'show_ui' => true,
'capability_type' => 'post',
'hierarchical' => true,
'rewrite' => true,
'menu_icon' => 'dashicons-groups',
'supports' => array('title','thumbnail')
);
register_post_type( 'team' , $args );
register_taxonomy(
"member-position",
array("team"),
array(
"hierarchical" => true,
"context" => "normal",
'show_ui' => true,
"label" => "Member Position",
"singular_label" => "Member Position",
"rewrite" => true
)
);
}
//
// Thumbnail column
//
add_filter( 'manage_edit-team_columns', 'engage_team_columns_settings' ) ;
function engage_team_columns_settings( $columns ) {
$columns = array(
'cb' => '',
'title' => esc_html__('Title', 'crexis'),
'date' => esc_html__('Date', 'crexis'),
'slider-thumbnail' => ''
);
return $columns;
}
add_action( 'manage_team_posts_custom_column', 'engage_team_columns_content', 10, 2 );
function engage_team_columns_content( $column, $post_id ) {
global $post;
the_post_thumbnail('thumbnail', array('class' => 'column-img'));
}
if( !function_exists( 'engage_team_member_categories' ) ) {
function engage_team_member_categories() {
global $post;
$terms = wp_get_object_terms($post->ID, "member-position");
if($terms) {
foreach ( $terms as $term ) {
echo $term->name;
if(end($terms) !== $term){
echo ", ";
}
}
}
}
}
if( !function_exists( 'engage_team_member_class' ) ) {
function engage_team_member_class(){
global $post;
$output = '';
$terms = wp_get_object_terms($post->ID, "member-position");
foreach ( $terms as $term ) {
$output .= $term->slug . " ";
}
return $output;
}
}/**
* WooCommerce Admin Updates
*
* Functions for updating data, used by the background updater.
*
* @package WooCommerce\Admin
*/
use \Automattic\WooCommerce\Admin\Install as Installer;
use \Automattic\WooCommerce\Admin\Notes\WC_Admin_Notes;
use \Automattic\WooCommerce\Admin\Notes\UnsecuredReportFiles;
use \Automattic\WooCommerce\Admin\Notes\WC_Admin_Notes_Deactivate_Plugin;
use \Automattic\WooCommerce\Admin\ReportExporter;
/**
* Update order stats `status` index length.
* See: https://github.com/woocommerce/woocommerce-admin/issues/2969.
*/
function wc_admin_update_0201_order_status_index() {
global $wpdb;
// Max DB index length. See wp_get_db_schema().
$max_index_length = 191;
$index = $wpdb->get_row( "SHOW INDEX FROM {$wpdb->prefix}wc_order_stats WHERE key_name = 'status'" );
if ( property_exists( $index, 'Sub_part' ) ) {
// The index was created with the right length. Time to bail.
if ( $max_index_length === $index->Sub_part ) { // phpcs:ignore WordPress.NamingConventions.ValidVariableName
return;
}
// We need to drop the index so it can be recreated.
$wpdb->query( "DROP INDEX `status` ON {$wpdb->prefix}wc_order_stats" );
}
// Recreate the status index with a max length.
$wpdb->query( $wpdb->prepare( "ALTER TABLE {$wpdb->prefix}wc_order_stats ADD INDEX status (status(%d))", $max_index_length ) );
}
/**
* Update DB Version.
*/
function wc_admin_update_0201_db_version() {
Installer::update_db_version( '0.20.1' );
}
/**
* Rename "gross_total" to "total_sales".
* See: https://github.com/woocommerce/woocommerce-admin/issues/3175
*/
function wc_admin_update_0230_rename_gross_total() {
global $wpdb;
// We first need to drop the new `total_sales` column, since dbDelta() will have created it.
$wpdb->query( "ALTER TABLE {$wpdb->prefix}wc_order_stats DROP COLUMN `total_sales`" );
// Then we can rename the existing `gross_total` column.
$wpdb->query( "ALTER TABLE {$wpdb->prefix}wc_order_stats CHANGE COLUMN `gross_total` `total_sales` double DEFAULT 0 NOT NULL" );
}
/**
* Update DB Version.
*/
function wc_admin_update_0230_db_version() {
Installer::update_db_version( '0.23.0' );
}
/**
* Remove the note unsnoozing scheduled action.
*/
function wc_admin_update_0251_remove_unsnooze_action() {
as_unschedule_action( WC_Admin_Notes::UNSNOOZE_HOOK, null, 'wc-admin-data' );
as_unschedule_action( WC_Admin_Notes::UNSNOOZE_HOOK, null, 'wc-admin-notes' );
}
/**
* Update DB Version.
*/
function wc_admin_update_0251_db_version() {
Installer::update_db_version( '0.25.1' );
}
/**
* Remove Facebook Extension note.
*/
function wc_admin_update_110_remove_facebook_note() {
WC_Admin_Notes::delete_notes_with_name( 'wc-admin-facebook-extension' );
}
/**
* Update DB Version.
*/
function wc_admin_update_110_db_version() {
Installer::update_db_version( '1.1.0' );
}
/**
* Remove Dismiss action from tracking opt-in admin note.
*/
function wc_admin_update_130_remove_dismiss_action_from_tracking_opt_in_note() {
global $wpdb;
$wpdb->query( "DELETE actions FROM {$wpdb->prefix}wc_admin_note_actions actions INNER JOIN {$wpdb->prefix}wc_admin_notes notes USING (note_id) WHERE actions.name = 'tracking-dismiss' AND notes.name = 'wc-admin-usage-tracking-opt-in'" );
}
/**
* Update DB Version.
*/
function wc_admin_update_130_db_version() {
Installer::update_db_version( '1.3.0' );
}
/**
* Change the deactivate plugin note type to 'info'.
*/
function wc_admin_update_140_change_deactivate_plugin_note_type() {
global $wpdb;
$wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->prefix}wc_admin_notes SET type = 'info' WHERE name = %s", WC_Admin_Notes_Deactivate_Plugin::NOTE_NAME ) );
}
/**
* Update DB Version.
*/
function wc_admin_update_140_db_version() {
Installer::update_db_version( '1.4.0' );
}
/**
* Delete the preexisting export files.
*/
function wc_admin_update_151_delete_report_downloads() {
$upload_dir = wp_upload_dir();
$base_dir = trailingslashit( $upload_dir['basedir'] );
$failed_files = array();
$exports_status = get_option( ReportExporter::EXPORT_STATUS_OPTION, array() );
$has_failure = false;
if ( ! is_array( $exports_status ) ) {
// This is essentially the same path as files failing deletion. Handle as such.
return;
}
// Delete all export files based on the status option values.
foreach ( $exports_status as $key => $progress ) {
list( $report_type, $export_id ) = explode( ':', $key );
if ( ! $export_id ) {
continue;
}
$file = "{$base_dir}wc-{$report_type}-report-export-{$export_id}.csv";
$header = $file . '.headers';
// phpcs:ignore
if ( @file_exists( $file ) && false === @unlink( $file ) ) {
array_push( $failed_files, $file );
}
// phpcs:ignore
if ( @file_exists( $header ) && false === @unlink( $header ) ) {
array_push( $failed_files, $header );
}
}
// If the status option was missing or corrupt, there will be files left over.
$potential_exports = glob( $base_dir . 'wc-*-report-export-*.csv' );
$reports_pattern = '(revenue|products|variations|orders|categories|coupons|taxes|stock|customers|downloads)';
/**
* Look for files we can be reasonably sure were created by the report export.
*
* Export files we created will match the 'wc-*-report-export-*.csv' glob, with
* the first wildcard being one of the exportable report slugs, and the second
* being an integer with 11-14 digits (from microtime()'s output) that represents
* a time in the past.
*/
foreach ( $potential_exports as $potential_export ) {
$matches = array();
// See if the filename matches an unfiltered export pattern.
if ( ! preg_match( "/wc-{$reports_pattern}-report-export-(?P\d{11,14})\.csv\$/", $potential_export, $matches ) ) {
$has_failure = true;
continue;
}
// Validate the timestamp (anything in the past).
$timestamp = (int) substr( $matches['export_id'], 0, 10 );
if ( ! $timestamp || $timestamp > time() ) {
$has_failure = true;
continue;
}
// phpcs:ignore
if ( false === @unlink( $potential_export ) ) {
array_push( $failed_files, $potential_export );
}
}
// Try deleting failed files once more.
foreach ( $failed_files as $failed_file ) {
// phpcs:ignore
if ( false === @unlink( $failed_file ) ) {
$has_failure = true;
}
}
if ( $has_failure ) {
UnsecuredReportFiles::possibly_add_note();
}
}
/**
* Update DB Version.
*/
function wc_admin_update_151_db_version() {
Installer::update_db_version( '1.5.1' );
}
Historia de los precintos – Poliplastic S.R.L.
La primera generación de sellos de seguridad era hecha con cera, arcilla o resina, derretidos en pasta mediante utilización de calor (para la cera) y de humedad (para la arcilla).
Una vez ablandado, el material era derramado arriba de un hilo que hacia parte de la selladura y comprimido contra una estampa en relieve, del tipo anillo del rey. El sistema era facilmente violado con empleo de calor y vapor y de nuevo cerrado sin dejar indicios.
2ª Generación
La Segunda generación de precintos de seguridad era fabricada con metales maleables, tales como el plomo y el estaño, los cuales eran después marcados y sellados con unos alicates.
Debido a la maleabilidad del material, los violadores abrían y cerraban los precintos sin dejar ninguna marca de violación.
3ª Generación
La tercera generación, y la más usada mundialmente en la actualidad, trajo dos grandes innovaciones: la producción de precintos plásticos lisos que generalmente se los denomina «cola de ratón» de forma genérica a todos por la particularidad que lo componen una etiqueta y a continuación el lazo o cinta que se asemeja a una cola; y su posterior identificación con una numeración individual, hecha mediante el método de impresión «hot-stamping».
4ª Generación
La cuarta generación de precintos poseía un concepto totalmente innovador: precintos plásticos con numeración en alto relieve ,moldeados durante el proceso de fabricación . Cada precinto es identificado por su número de serie , del mismo modo como cada ser humano es identificado por su impresión digital. No existe ninguna manera de sustituir un precinto por otro con la misma identificación.
Autenticador
El sistema se completa con el autenticador, que hace la transcripción de la numeración de los precintos en el documento que trata de la carga sellada. No existe ninguna posibilidad de ocurrir errores en la transcripción.
5ª Generación
Se desarrolló el más nuevo sistema de numeración llamado «in mold label». Números, código de barras y logomarca del cliente son impresos con láser en papel fundido a la lámina del precinto durante el proceso de fabricación. Dígito verificador y código de barras reducen errores de transcripción a zero, maximizando la seguridad.
0 Comentarios
Deja un comentario